Клиент API OpenAI GPT-3, позволяющий программам GO/GOLANG взаимодействовать с API GPT3.
Поддерживает использование API завершения с или без потоковой передачи.
Простое использование для вызова основного API GPT-3, завершение:
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
Ознакомьтесь с документами GO для получения более подробной документации о типах и методах: https://pkg.go.dev/github.com/pullrequestinc/go-gpt3
Попробуйте любой из этих примеров с размещением содержимого в main.go
и бегайте go run main.go
Я бы порекомендовал использовать модули GO, и в этом случае вам также необходимо запустить go mod init
в вашем тестовом репо. В качестве альтернативы вы можете клонировать это репо и запустить тестовый скрипт с помощью go run cmd/test/main.go
.
Вам также понадобится файл .env
, который выглядит так, чтобы использовать эти примеры:
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 )
}