Go SDK
Отправляйте chat.completions запросы к GonkaGate из Go через sashabaranov/go-openai.
Отправьте один chat.completions запрос из Go через github.com/sashabaranov/go-openai, а затем используйте ту же форму клиента в сервисном коде.
Минимальный рабочий пример
Установите клиент и экспортируйте API-ключ:
go get github.com/sashabaranov/go-openai
export GONKAGATE_API_KEY="gp-your-api-key"Затем выполните один запрос chat.completions:
package main
import (
"context"
"fmt"
"log"
"os"
"time"
"github.com/sashabaranov/go-openai"
)
func main() {
apiKey := os.Getenv("GONKAGATE_API_KEY")
if apiKey == "" {
log.Fatal("missing GONKAGATE_API_KEY")
}
config := openai.DefaultConfig(apiKey)
config.BaseURL = "https://api.gonkagate.com/v1"
client := openai.NewClientWithConfig(config)
ctx, cancel := context.WithTimeout(context.Background(), 30*time.Second)
defer cancel()
resp, err := client.CreateChatCompletion(
ctx,
openai.ChatCompletionRequest{
Model: "qwen/qwen3-235b-a22b-instruct-2507-fp8",
Messages: []openai.ChatCompletionMessage{
{
Role: openai.ChatMessageRoleUser,
Content: "Say hello from GonkaGate in one sentence.",
},
},
},
)
if err != nil {
log.Fatal(err)
}
fmt.Println(resp.Choices[0].Message.Content)
}Ожидаемый результат: если программа выводит текст, значит Go-клиент подключён правильно.
Используйте актуальный model ID из GET /v1/models. Значение в примере выше приведено только для ориентира.
Что нужно заранее
- Go
1.18+, потому что это минимальная версия дляgithub.com/sashabaranov/go-openai - API-ключ формата
gp-..., сохранённый вGONKAGATE_API_KEY - Достаточный доступный баланс для запроса
- Актуальный ID модели GonkaGate
Замечания для Go
- Задайте
config.BaseURL = "https://api.gonkagate.com/v1"до создания клиента. - Переиспользуйте один настроенный клиент в процессе или сервисе, а не создавайте его заново на каждый запрос.
- Для каждого запроса используйте
context.WithTimeout(...), чтобы долгие вызовы завершались предсказуемо. - Если нужен собственный прокси или транспорт, передайте свой
http.Clientчерезconfig.HTTPClient.
Частые ошибки и ограничения
- Если забыть
config.BaseURL = "https://api.gonkagate.com/v1", клиент уйдёт на стандартный эндпоинт OpenAI. 401 invalid_api_keyобычно означает, что ключ отсутствует, передан в неверном формате, отозван или связан с недоступным состоянием аккаунта.404 model_not_foundозначает, что указанный ID модели больше не доступен. Обновите его через GET /v1/models.context deadline exceededозначает, что ваш таймаут слишком мал для этого запроса или текущих сетевых условий.429 insufficient_quotaозначает, что доступного предоплаченного USD-баланса недостаточно для запроса.
См. также
- Совместимость OpenAI SDK для общих правил по
BaseURL, формату ключей, выбору моделей и дополнительным полямusageво всех рантаймах. - Аутентификация и API-ключи для создания, безопасного хранения и ротации ключей.
- Обзор справочника API GonkaGate, когда первый Go-запрос уже работает и вам нужны точные поля запроса, поведение стриминга и правила обработки сбоев.
- GET /v1/models для актуальных машинно-читаемых ID моделей.
- Гайд по миграции с OpenAI на GonkaGate, если вы переносите уже рабочий OpenAI-код, а не начинаете с нуля.
Была ли эта страница полезной?