Добавление провайдера
Добавляя провайдеров, вы можете подключать различные LLM-сервисы к Elftia и свободно переключаться между моделями во время чата. Elftia предлагает три способа: готовые шаблоны, пользовательская конфигурация и импорт/экспорт.
Когда использовать
- Вы настраиваете Elftia впервые и вам нужно задать API-ключ для активации провайдеров по умолчанию
- Вам нужно подключить LLM-сервис, которого нет в списке по умолчанию
- Вы хотите добавить несколько экземпляров одного провайдера (например, конечные точки в разных регионах)
- Вы переносите конфигурацию с другого устройства
Способ 1: Добавление из готового шаблона
Готовые шаблоны включают Base URL провайдера, список моделей по умолчанию и рекомендуемую конфигурацию — достаточно ввести API-ключ, чтобы завершить настройку.
Шаги
- Откройте Настройки → Управление провайдерами
- Нажмите кнопку Добавить провайдера
- Выберите готовый шаблон из списка провайдеров
- В появившейся панели конфигурации введите ваш API Key
- Вставьте значение ключа напрямую, например
sk-xxxxxxxxxxxxxxxx - Или укажите ссылку на переменную окружения, например
$OPENAI_API_KEY
- Вставьте значение ключа напрямую, например
-
Нажмите Проверить подключение, чтобы убедиться в корректности ключа
- Успех: отображается зелёное сообщение «Подключение успешно»
- Ошибка: отображается сообщение об ошибке (см. Устранение неполадок)
-
Включите переключатель Активен
-
Нажмите Сохранить
После этого модели провайдера появятся в выпадающем списке выбора модели в интерфейсе чата.
Справочник готовых шаблонов
Международные провайдеры
| Preset ID | Название | Формат API | Base URL | Особенности |
|---|---|---|---|---|
openai | OpenAI | openai | https://api.openai.com/v1/chat/completions | GPT-4o/5, серия рассуждений o1/o3, поддержка зрения |
anthropic | Anthropic | anthropic | https://api.anthropic.com/v1/messages | Claude Sonnet/Opus/Haiku 4.5, встроенная цепочка рассуждений |
gemini | Google Gemini | https://generativelanguage.googleapis.com/v1beta/models/ | Контекст 1M токенов, зрение + рассуждение | |
openai-response | OpenAI (Responses API) | openai-response | https://api.openai.com | Серия GPT-5 + o3/o4, новый API |
azure-openai | Azure OpenAI | azure-openai | (пользовательский) | Корпоративный SLA; имя развёртывания используется как модель |
openrouter | OpenRouter | openai | https://openrouter.ai/api/v1 | Агрегирует 200+ моделей с одним ключом |
groq | Groq | openai | https://api.groq.com/openai/v1 | Сверхбыстрый движок инференса |
ollama | Ollama | openai | http://localhost:11434/v1 | Локальное развёртывание, бесплатно |
Китайские облачные платформы
| Preset ID | Название | Формат API | Base URL | Особенности |
|---|---|---|---|---|
zhipu | Zhipu GLM | openai | https://api.z.ai/api/paas/v4 | GLM-5/4.5/4.6V/4.7, Coding Plan |
volcengine | Volcengine (Ark) | openai | https://ark.cn-beijing.volces.com/api/v3 | Doubao Seed 2.0, интеллектуальная маршрутизация, мультимодельная агрегация |
kimi | Kimi (Moonshot) | openai | https://api.moonshot.ai/v1 | Kimi K2.5, контекст 256K |
dashscope | Alibaba Cloud Bailian | openai | https://dashscope.aliyuncs.com/compatible-mode/v1 | Серия Qwen3, 1M токенов |
tencent | Tencent Cloud Hunyuan | openai | https://api.lkeap.cloud.tencent.com/v1 | Hunyuan 2.0, мультимодельная агрегация |
minimax | MiniMax | anthropic | https://api.minimaxi.com/anthropic | M2.5/M2.1, формат Anthropic |
baidu | Baidu Qianfan | openai | https://qianfan.baidubce.com/v2 | Серия ERNIE, Coding Plan |
kuaishou | Kuaishou KwaiKAT | openai | https://wanqing.streamlakeapi.com/api/gateway/v1 | KAT-Coder, оптимизирован для кодирования |
mthreads | Moore Threads | openai | (требует настройки) | Coding Plan на отечественных чипах |
Способ 2: Пользовательский OpenAI-совместимый провайдер
Если используемый вами LLM-сервис предоставляет OpenAI-совместимый API (большинство сервисов это поддерживают), вы можете добавить его как пользовательского провайдера.
Шаги
- Откройте Настройки → Управление провайдерами
- Нажмите Добавить провайдера → выберите Пользовательский провайдер
- Заполните основную информацию:
| Поле | Обязательно | Описание | Пример |
|---|---|---|---|
| Название | Да | Отображаемое имя | My Local LLM |
| Формат API | Да | Выберите формат протокола | openai (наиболее распространён) |
| Base URL | Да | Адрес API | http://localhost:8080/v1/chat/completions |
| API Key | Нет | Ключ аутентификации | sk-... (для локальных сервисов можно оставить пустым) |
- Добавьте модели:
- Нажмите Добавить модель
- Введите ID модели (имя, используемое при вызове API, например
llama-3.1-70b) - Введите отображаемое имя
- Укажите флаги возможностей модели (зрение, вызов функций, рассуждение и т. д.)
-
(Необязательно) Настройте Transformer:
- Если API целевого сервиса отличается от стандартного формата OpenAI, добавьте подходящий трансформер
- Распространённые варианты:
deepseek(для сервисов, совместимых с DeepSeek),groq(для сервисов, совместимых с Groq)
-
Нажмите Проверить подключение, чтобы убедиться в корректности конфигурации
-
Включите переключатель Активен и сохраните
Обнаружение моделей
Некоторые провайдеры поддерживают автоматическое обнаружение моделей через конечную точку /v1/models:
- В конфигурации провайдера заполните поле Конечная точка обнаружения моделей (например,
https://api.example.com/v1/models) - Нажмите кнопку Обнаружить модели
- Elftia вызовет конечную точку для получения списка моделей
- Выберите модели, которые хотите добавить, из возвращённых результатов
Способ 3: Импорт / Экспорт
Экспорт конфигурации
- Откройте Настройки → Управление провайдерами
- Выберите провайдера, которого хотите экспортировать
- Нажмите кнопку Экспорт
- Конфигурация сохранится в файл JSON
Импорт конфигурации
- Откройте Настройки → Управление провайдерами
- Нажмите кнопку Импорт
- Выберите ранее экспортированный файл JSON
- Просмотрите информацию импортируемого провайдера
- Введите API-ключ (по соображениям безопасности экспортированный файл не содержит API-ключа)
- Сохраните и активируйте
API-ключи через переменные окружения
Управление API-ключами через переменные окружения — рекомендуемый подход, особенно в следующих случаях:
- Вы предпочитаете не хранить ключ в открытом виде в базе данных приложения
- Вы используете общие файлы конфигурации на нескольких устройствах, каждое из которых использует свой ключ
- Вы используете Elftia в сценариях CI/CD или автоматизации
Как настроить
В поле ввода API-ключа введите имя переменной окружения с префиксом $:
| Введённое значение | Разрешается во время выполнения в |
|---|---|
$OPENAI_API_KEY | Значение process.env.OPENAI_API_KEY |
$ANTHROPIC_API_KEY | Значение process.env.ANTHROPIC_API_KEY |
$MY_CUSTOM_KEY | Значение process.env.MY_CUSTOM_KEY |
Примечание: если соответствующая переменная окружения не задана, API-запросы завершатся с ошибкой аутентификации. После изменения переменных окружения необходимо перезапустить Elftia, чтобы новые значения вступили в силу.
Справочник по настройкам
| Настройка | Тип | По умолчанию | Описание |
|---|---|---|---|
| Название | Строка | (имя шаблона) | Отображаемое имя провайдера |
| Формат API | Перечисление | openai | openai / anthropic / google / azure-openai / openai-response |
| Base URL | URL | (зависит от шаблона) | Адрес API-запроса; должен начинаться с http:// или https:// |
| API Key | Строка | (пусто) | Поддерживает префикс $ для ссылки на переменные окружения |
| Список моделей | Массив | (зависит от шаблона) | Можно добавлять, удалять или получать через обнаружение моделей |
| Конечная точка обнаружения моделей | URL | (необязательно) | Вызов /v1/models или аналогичных конечных точек для автоматического получения списка моделей |
| Активен | Булево | false | Новые провайдеры по умолчанию отключены |
| Transformer | Массив | (зависит от формата) | Цепочка трансформеров формата запроса/ответа |
| Иконка | Строка | (зависит от шаблона) | Идентификатор иконки провайдера |
| Ссылка на сайт | URL | (необязательно) | Сайт провайдера, используется для ссылок на документацию |
| Примечания | Строка | (пусто) | Произвольные заметки |
| Версия API | Строка | (только Azure) | Номер версии API для Azure OpenAI |
| Лимит параллельных запросов | Число | (зависит от провайдера) | Максимальное число одновременных запросов в режиме агента |
| Официальный | Булево | false | Помечает провайдера как официального провайдера Anthropic (влияет на обработку подписи цепочки рассуждений) |
Примечания о поведении
Готовые шаблоны vs. пользовательские провайдеры
| Функция | Готовый шаблон | Пользовательский провайдер |
|---|---|---|
| Base URL | Заполняется автоматически | Нужно ввести вручную |
| Список моделей | Предварительно настроен | Нужно добавлять вручную |
| Transformer | Настраивается автоматически | Опционально |
| Обнаружение моделей | Поддерживается для некоторых | Нужно вручную указать конечную точку |
| Coding Plan | Поддерживается для некоторых | Не поддерживается |
| Интеграция поиска | Предварительно настроена | Нужно настраивать вручную |
Уникальность ID провайдера
Каждый провайдер имеет уникальный ID. При добавлении нескольких экземпляров из одного готового шаблона Elftia автоматически добавляет суффикс к ID для обеспечения уникальности.
Начальное состояние после добавления
Новый провайдер по умолчанию отключён. Перед использованием его моделей в чате необходимо:
- Ввести действительный API-ключ
- Успешно проверить подключение
- Вручную включить переключатель
Troubleshooting
| Проблема | Возможная причина | Решение |
|---|---|---|
| Проверка подключения возвращает 401 | API-ключ недействителен или устарел | Сгенерируйте новый ключ на сайте провайдера |
| Проверка подключения возвращает 403 | Ключ не имеет необходимых прав | Убедитесь, что ключ имеет доступ к целевой модели |
| Проверка подключения истекает по таймауту | Нет сетевого подключения или неверный Base URL | Проверьте сетевое подключение и написание URL |
Ключ $ENV_VAR недействителен | Переменная окружения не задана | Задайте переменную окружения в системе и перезапустите Elftia |
| Обнаружение моделей возвращает пустой список | Неверная конечная точка или ключ не имеет прав | Проверьте URL конечной точки обнаружения; убедитесь, что ключ имеет право на получение списка моделей |
| Ошибка при сохранении: неверный URL | Неверный формат Base URL | Убедитесь, что он начинается с http:// или https:// |
| Запросы пользовательского провайдера завершаются ошибкой | Несоответствие конфигурации Transformer | Убедитесь в корректности выбора формата API или попробуйте добавить соответствующий трансформер |
| Ошибка подключения Azure OpenAI | Неверная версия API или имя развёртывания | Убедитесь, что поле версии API заполнено (например, 2024-08-01-preview); используйте имя развёртывания в качестве имени модели |
| Ошибка формата запроса MiniMax | Не используется формат anthropic | MiniMax использует формат Anthropic API — выберите anthropic и настройте трансформер anthropic |
Связанные страницы
- Обзор LLM-провайдеров — общая архитектура системы провайдеров
- Пулы API-ключей — настройка нескольких API-ключей для одного провайдера
- Пользовательские конечные точки — подробное руководство по подключению к локальным сервисам, таким как Ollama и LM Studio
- Параметры модели — настройка параметров генерации: temperature, max_tokens и другие