Go SDK (go-openai)

Интеграция шлюза Api Router в сервисы на языке Go (Golang) с использованием библиотеки sashabaranov/go-openai. Микросекундные задержки, строгий контекстный контроль и конкурентная безопасность.

Go (Golang) Base URL: https://api-router.velar.plus/v1

Язык Go (Golang) признан стандартом построения высоконагруженных сетевых микросервисов. Библиотека sashabaranov/go-openai в сочетании с шлюзом Api Router позволяет организовать конкурентные вызовы с жестким контролем таймаутов через context.WithTimeout и обработку потоков токенов через горутины и каналы.

1. Установка пакета

go get github.com/sashabaranov/go-openai

2. Пример кода и отправка запроса

Ниже приведен готовый к запуску пример кода с правильной структурой авторизации и параметров:


package main

import (
	"context"
	"fmt"
	"os"

	"github.com/sashabaranov/go-openai"
)

func main() {
	config := openai.DefaultConfig(os.Getenv("API_ROUTER_KEY"))
	config.BaseURL = "https://api-router.velar.plus/v1"

	client := openai.NewClientWithConfig(config)
	resp, err := client.CreateChatCompletion(
		context.Background(),
		openai.ChatCompletionRequest{
			Model: "openai/gpt-mini",
			Messages: []openai.ChatCompletionMessage{
				{
					Role:    openai.ChatMessageRoleUser,
					Content: "Сформулируйте преимущества архитектуры Go channels.",
				},
			},
		},
	)

	if err != nil {
		fmt.Printf("ChatCompletion error: %v\n", err)
		return
	}

	fmt.Println(resp.Choices[0].Message.Content)
}
  

3. Преимущества единого шлюза

  • Оплата в рублях: Расходы списываются с единого баланса, пополняемого через карты РФ, СБП или безналичный расчет.
  • Без иностранных прокси: Все запросы маршрутизируются напрямую на серверы без необходимости использования зарубежной инфраструктуры.
  • Отказоустойчивость: При перегрузке одного поставщика запрос автоматически подхватывается резервным узлом (выбор провайдера).

Связанные разделы документации

Рекомендуем также изучить смежные технические руководства и спецификации: