golang-examples/example-gpt-3/main.go

62 lines
1.4 KiB
Go
Raw Normal View History

2022-12-03 19:22:34 -06:00
package main
import (
"context"
"fmt"
"log"
"os"
"github.com/PullRequestInc/go-gpt3"
"github.com/joho/godotenv"
)
2022-12-03 19:56:58 -06:00
import "github.com/davecgh/go-spew/spew"
2022-12-03 19:22:34 -06:00
func main() {
godotenv.Load()
apiKey := os.Getenv("OPENAI_API_KEY")
apiKey = "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"
if apiKey == "" {
log.Fatalln("Missing API KEY")
}
ctx := context.Background()
client := gpt3.NewClient(apiKey)
2022-12-03 19:56:58 -06:00
eng, _ := client.Engines(ctx)
log.Println("engines =", eng)
spew.Dump(eng)
2022-12-03 20:19:51 -06:00
// resp, err := client.Completion(ctx, gpt3.CompletionRequest{
resp, err := client.CompletionWithEngine(ctx, "text-davinci-003", gpt3.CompletionRequest{
Prompt: []string{"Write a 3000 word essay about DiVinci"},
MaxTokens: gpt3.IntPtr(3000),
Temperature: gpt3.Float32Ptr(0.7),
TopP: gpt3.Float32Ptr(1),
// PresencePenalty: gpt3.Float32(0),
// FrequencyPenalty: gpt3.Float32(0),
// Stop: []string{"."},
Echo: false,
2022-12-03 19:22:34 -06:00
})
if err != nil {
log.Fatalln(err)
}
2022-12-03 20:19:51 -06:00
fmt.Println("TEXT IS:", resp.Choices[0].Text)
2022-12-03 19:56:58 -06:00
spew.Dump(resp)
2022-12-03 20:19:51 -06:00
log.Println("TEXT IS:", resp.Choices[0].Text)
2022-12-03 19:56:58 -06:00
/*
resp, err = client.Completion(ctx, gpt3.CompletionRequest{
Prompt: []string{"The first thing you should know about javascript is"},
MaxTokens: gpt3.IntPtr(30),
Stop: []string{"."},
Echo: true,
Engine: "babbage",
})
if err != nil {
log.Fatalln(err)
}
fmt.Println(resp.Choices[0].Text)
*/
2022-12-03 19:22:34 -06:00
}