Перейти к основному содержимому

Обзор LLM-провайдеров

Система LLM-провайдеров в Elftia позволяет подключаться к нескольким сервисам больших языковых моделей и без проблем переключаться между ними через единый уровень абстракции API, не беспокоясь о различиях в форматах базовых API.

Когда использовать

  • Вам нужно подключиться к новому LLM-сервису (например, OpenAI, Anthropic, DeepSeek и др.)
  • Вы хотите использовать модели нескольких провайдеров в рамках одного приложения
  • Вам нужно подключиться к локально развёрнутым моделям (например, Ollama или LM Studio)
  • Вы хотите обеспечить высокую доступность и балансировку нагрузки через пул API-ключей

Основные понятия

Провайдер

Провайдер — это единица конфигурации для LLM API-сервиса. Каждый провайдер содержит следующую ключевую информацию:

ПонятиеОписаниеПример
НазваниеОтображаемое имя провайдераOpenAI, DeepSeek, Zhipu GLM
Формат APIПротокол API, используемый провайдеромopenai, anthropic, google
Базовый URLБазовый адрес для запросов APIhttps://api.openai.com/v1/chat/completions
API-ключУчётные данные для аутентификацииsk-... или ссылка на переменную окружения, например $OPENAI_API_KEY
Список моделейМодели, доступные у этого провайдераgpt-4o, claude-sonnet-4-5, gemini-3-pro

Формат API

Elftia поддерживает 5 форматов API, используя встроенные преобразователи форматов (Transformers) для автоматической обработки различий в форматах запросов и ответов:

Формат APIОписаниеИспользуется
openaiФормат OpenAI Chat Completions (/v1/chat/completions)OpenAI, DeepSeek, Zhipu, Ollama, Groq и большинство других провайдеров
anthropicФормат Anthropic Messages (/v1/messages)Официальный Anthropic, MiniMax
googleФормат Google GeminiGoogle Gemini
azure-openaiФормат Azure OpenAI (аналогичен OpenAI, другая аутентификация)Azure OpenAI Service
openai-responseФормат OpenAI Responses API (/v1/responses)Новый OpenAI Responses API

Модель

Под каждым провайдером можно настроить несколько моделей. Конфигурация модели включает:

  • ID модели: Идентификатор, используемый при вызове API (например, gpt-4o)
  • Отображаемое имя: Название, которое показывается в UI (например, GPT-4o)
  • Категория: chat, reasoning, code, image и т.д.
  • Флаги возможностей: Поддерживает ли модель обработку изображений, вызов функций, режим рассуждений и веб-поиск
  • Длина контекста: Максимальное количество входных токенов, поддерживаемых моделью
  • Максимальный вывод: Максимальное количество токенов, которое модель может генерировать за один ответ

API-ключ

API-ключ — это учётные данные для аутентификации при доступе к сервису провайдера. Elftia поддерживает два способа настройки API-ключа:

  1. Прямой ввод: Вставить API-ключ непосредственно в настройках UI
  2. Ссылка на переменную окружения: Сослаться на системную переменную окружения, добавив к имени префикс $ (например, $OPENAI_API_KEY) — удобно, если вы не хотите хранить ключ в конфигурации приложения

Процесс обработки запроса

После отправки сообщения пользователем Elftia обрабатывает запрос следующим образом:

Пользователь отправляет сообщение
|
v
Выбор провайдера и модели
|
v
Разрешение API-ключа (прямое значение / переменная окружения / пул ключей)
|
v
Transformer: преобразование унифицированного запроса в формат целевого API
| (openai / anthropic / google / ...)
v
Отправка запроса в API провайдера
|
v
Transformer: преобразование ответа провайдера в унифицированный формат
|
v
Отображение ответа в интерфейсе чата

Список провайдеров по умолчанию

Elftia поставляется со следующими шаблонами провайдеров, которые создаются автоматически при первом запуске (по умолчанию отключены — чтобы использовать их, введите API-ключ и включите):

ПровайдерФормат APIБазовый URLОсобенности
DeepSeekopenaihttps://api.deepseek.com/v1Отличное соотношение цены и качества, поддержка режима рассуждений
OpenRouteropenaihttps://openrouter.ai/api/v1Агрегирует 200+ моделей с единой тарификацией
SiliconFlowopenaihttps://api.siliconflow.cn/v1Ускоренный доступ в Китае, размещает модели с открытым исходным кодом
OpenAIopenaihttps://api.openai.com/v1/chat/completionsСерия GPT, модели рассуждений серии o
Anthropicanthropichttps://api.anthropic.com/v1/messagesСерия Claude, встроенная цепочка рассуждений
Google Geminigooglehttps://generativelanguage.googleapis.com/v1beta/models/Сверхдлинный контекст (1 миллион токенов)
Zhipu GLMopenaihttps://api.z.ai/api/paas/v4Серия GLM, поддержка Coding Plan
Moonshot (Kimi)openaihttps://api.moonshot.ai/v1Kimi K2.5, сверхдлинный контекст
Alibaba Cloud Bailianopenaihttps://dashscope.aliyuncs.com/compatible-mode/v1Серия Qwen, 1 миллион токенов
Ollamaopenaihttp://localhost:11434/v1Локальное развёртывание, полностью офлайн
Groqopenaihttps://api.groq.com/openai/v1Сверхбыстрый инференс, низкая задержка
Claude Codeanthropichttps://api.anthropic.com/v1/messagesИнтеграция с Claude Agent SDK

Помимо перечисленных выше, Elftia предоставляет готовые шаблоны для ряда китайских облачных платформ (Volcengine, Tencent Cloud Hunyuan, Baidu Qianfan, MiniMax, Kuaishou KwaiKAT, Moore Threads и др.), доступные в диалоге «Добавить провайдера».

Справочник настроек

ПараметрТипПо умолчаниюОписание
Название провайдераСтрока(имя шаблона)Отображаемое имя, можно изменить
Формат APIПеречислениеopenaiopenai / anthropic / google / azure-openai / openai-response
Базовый URLURL(зависит от шаблона)Адрес API-запросов
API-ключСтрока(пусто)Поддерживает префикс $ для ссылки на переменные окружения
Список моделейМассив(зависит от шаблона)Можно добавлять вручную или получать через обнаружение моделей
ВключёнБулевоfalseОтображается ли провайдер в списке выбора модели
TransformerОбъект(зависит от формата)Конфигурация преобразователя формата запроса/ответа
Параметры по умолчаниюОбъектtemperature: 0.7Параметры генерации по умолчанию на уровне провайдера
Таймаут APIМиллисекунды(глобальная настройка)Таймаут для одного запроса
Лимит параллелизмаЧисло(зависит от провайдера)Максимальное количество параллельных запросов в режиме Agent

Поведение системы

Включение и отключение провайдеров

  • Отключённые провайдеры не отображаются в выпадающем списке выбора модели
  • Отключение провайдера не удаляет его конфигурацию; все настройки сохраняются при повторном включении
  • Если текущая сессия использует модель провайдера, который был отключён, существующие сессии продолжат работу, но новые сообщения не смогут использовать эту модель

Обнаружение моделей

Некоторые провайдеры поддерживают обнаружение моделей: Elftia вызывает API списка моделей провайдера (например, /v1/models) для автоматического получения доступных моделей. Провайдеры, поддерживающие обнаружение моделей: OpenAI, Anthropic, Gemini, Zhipu и другие.

API-ключи через переменные окружения

Если API-ключ начинается с $, Elftia считывает фактическое значение из системной переменной окружения во время выполнения. Например:

  • Настроенное значение $OPENAI_API_KEY → читает process.env.OPENAI_API_KEY во время выполнения
  • Если переменная окружения не существует, запрос завершится с ошибкой аутентификации

Преобразователи форматов

Transformer — это ключевой механизм поддержки нескольких форматов API в Elftia. Каждому провайдеру, использующему формат, отличный от OpenAI, назначается соответствующий преобразователь:

Тип провайдераTransformerНазначение
Официальный AnthropicanthropicПоддерживает формат Anthropic Messages, обрабатывает цепочку рассуждений
Google GeminigeminiПреобразует запросы в формат Gemini
OpenAI Responsesopenai-responseАдаптирует к конечной точке /v1/responses
OpenRouteropenrouterОбрабатывает конфигурацию маршрутизации провайдера
DeepSeekdeepseekОбрабатывает специфичные для DeepSeek поля рассуждений
GroqgroqАдаптирует к ограничениям параметров Groq

Устранение неполадок

ПроблемаВозможная причинаРешение
Провайдер не отображается в списке выбора моделиПровайдер отключёнОткройте настройки провайдера и включите переключатель
Запрос возвращает ошибку 401API-ключ недействителен или истёкПроверьте и обновите API-ключ; убедитесь, что у ключа достаточно квоты
Запрос возвращает ошибку 403API-ключ не имеет разрешенияПроверьте, имеет ли API-ключ доступ к выбранной модели
Ключ через переменную окружения недействителенИмя переменной неверно или переменная не заданаУбедитесь, что переменная окружения задана в системе, затем перезапустите Elftia
Превышение времени ожидания запросаНет сети или сбой сервиса провайдераПроверьте сетевое подключение, убедитесь в правильности базового URL, попробуйте использовать прокси
Список моделей пустПровайдер не поддерживает обнаружение моделей или ключ недействителенДобавьте модели вручную или проверьте правильность API-ключа
Необычный формат ответаНесоответствие конфигурации TransformerУбедитесь в правильности выбранного формата API; проверьте, нужен ли специфический Transformer
Медленное подключение к китайским провайдерамСетевая задержкаУбедитесь, что используется правильный внутренний базовый URL; проверьте настройки прокси

Связанные страницы