Um cliente da API do OpenAI GPT-3, permitindo que os programas GO/Golang interajam com as APIs do GPT3.
Suporta o uso das APIs de conclusão com ou sem streaming.
Uso simples para chamar a API GPT-3 principal, conclusão:
client := gpt3 . NewClient ( apiKey )
resp , err := client . Completion ( ctx , gpt3. CompletionRequest {
Prompt : [] string { "2, 3, 5, 7, 11," },
})
fmt . Print ( resp . Choices [ 0 ]. Text )
// prints " 13, 17, 19, 23, 29, 31", etc
Confira os documentos Go para obter uma documentação mais detalhada sobre os tipos e métodos fornecidos: https://pkg.go.dev/github.com/pullrequestinc/go-gpt3
Experimente qualquer um desses exemplos com a colocação do conteúdo em um main.go
e RUND go run main.go
Eu recomendaria o uso de módulos GO, nesse caso, você também precisará executar go mod init
dentro do seu repositório de teste. Como alternativa, você pode clonar este repositório e executar o script de teste com go run cmd/test/main.go
.
Você também precisará ter um arquivo .env
que se parece com esse para usar estes exemplos:
API_KEY=<openAI API Key>
package main
import (
"context"
"fmt"
"log"
"os"
"github.com/PullRequestInc/go-gpt3"
"github.com/joho/godotenv"
)
func main () {
godotenv . Load ()
apiKey := os . Getenv ( "API_KEY" )
if apiKey == "" {
log . Fatalln ( "Missing API KEY" )
}
ctx := context . Background ()
client := gpt3 . NewClient ( apiKey )
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 ,
})
if err != nil {
log . Fatalln ( err )
}
fmt . Println ( resp . Choices [ 0 ]. Text )
}