Skip to main content

.NET SDK

Отправляйте chat.completions запросы к GonkaGate из .NET через Betalgo.Ranul.OpenAI.

Отправьте один chat.completions запрос из .NET через Betalgo.Ranul.OpenAI, а затем используйте ту же форму сервиса в коде приложения.

Минимальный рабочий пример

Установите актуальный пакет:

Минимальный рабочий пример
dotnet add package Betalgo.Ranul.OpenAI

Затем выполните один запрос chat.completions:

Затем выполните один запрос 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, а не старый пакет или namespace Betalgo.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-баланса недостаточно для запроса.

См. также

Была ли эта страница полезной?