.NET SDK
Отправляйте chat.completions запросы к GonkaGate из .NET через Betalgo.Ranul.OpenAI.
Отправьте один chat.completions запрос из .NET через Betalgo.Ranul.OpenAI, а затем используйте ту же форму сервиса в коде приложения.
Минимальный рабочий пример
Установите актуальный пакет:
dotnet add package Betalgo.Ranul.OpenAIЗатем выполните один запрос chat.completions:
using System;
using System.Collections.Generic;
using System.Linq;
using Betalgo.Ranul.OpenAI;
using Betalgo.Ranul.OpenAI.Managers;
using Betalgo.Ranul.OpenAI.ObjectModels;
using Betalgo.Ranul.OpenAI.ObjectModels.RequestModels;
var apiKey = Environment.GetEnvironmentVariable("GONKAGATE_API_KEY")
?? throw new InvalidOperationException("missing GONKAGATE_API_KEY");
var openAiService = new OpenAIService(new OpenAIOptions
{
ApiKey = apiKey,
BaseDomain = "https://api.gonkagate.com/"
});
var completionResult = await openAiService.ChatCompletion.CreateCompletion(
new ChatCompletionCreateRequest
{
Messages = new List<ChatMessage>
{
ChatMessage.FromUser("Say hello from GonkaGate in one sentence.")
},
Model = "qwen/qwen3-235b-a22b-instruct-2507-fp8"
});
if (!completionResult.Successful)
{
Console.WriteLine($"{completionResult.Error?.Code}: {completionResult.Error?.Message}");
return;
}
Console.WriteLine(completionResult.Choices.First().Message.Content);Ожидаемый результат: если программа выводит текст, значит .NET-клиент подключён правильно.
Используйте актуальный model ID из GET /v1/models. Значение в примере выше приведено только для ориентира.
Что нужно заранее
- Актуальная версия .NET runtime, поддерживаемая
Betalgo.Ranul.OpenAI - API-ключ формата
gp-..., сохранённый вGONKAGATE_API_KEY - Достаточный доступный баланс для запроса
- Актуальный ID модели GonkaGate
Замечания для .NET
- Используйте
Betalgo.Ranul.OpenAI, а не старый пакет или namespaceBetalgo.OpenAI. - Указывайте
BaseDomainкакhttps://api.gonkagate.com/, а неhttps://api.gonkagate.com/v1. Betalgo добавляетv1через настройкуApiVersion. - Если приложение уже использует DI, регистрируйте сервис через
AddOpenAIService(...), а не создавайте новыйOpenAIServiceв каждом месте вызова. - Если
completionResult.Successfulвозвращаетfalse, сначала проверьтеcompletionResult.Error?.CodeиcompletionResult.Error?.Message, а уже потом решайте, нужен ли повтор.
Частые ошибки и ограничения
401 invalid_api_keyобычно означает, что ключ отсутствует, передан в неверном формате, отозван или связан с недоступным состоянием аккаунта.404 model_not_foundозначает, что указанный ID модели больше не доступен. Обновите его через GET /v1/models.429 insufficient_quotaозначает, что доступного предоплаченного USD-баланса недостаточно для запроса.
См. также
- Совместимость OpenAI SDK для общих правил по base URL, формату ключей, выбору моделей и дополнительным полям
usageво всех рантаймах. - Аутентификация и API-ключи для создания, безопасного хранения и ротации ключей.
- Обзор справочника API GonkaGate, когда первый .NET-запрос уже работает и вам нужны точные поля запроса, поведение стриминга и правила обработки сбоев.
- GET /v1/models для актуальных машинно-читаемых ID моделей.
- Гайд по миграции с OpenAI на GonkaGate, если вы переносите уже рабочий OpenAI-код, а не начинаете с нуля.
Была ли эта страница полезной?