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

Пользовательские эндпоинты

Функция пользовательских эндпоинтов позволяет подключать к Elftia локально развёрнутые сервисы вывода LLM (например, Ollama или LM Studio) или корпоративные частные API. Большинство локальных фреймворков вывода предоставляют OpenAI-совместимый API, что упрощает настройку.

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

  • Вы хотите запускать модели с открытым исходным кодом локально (Llama, Qwen, Mistral и др.) для полностью офлайн-использования
  • Ваша компания развернула приватный LLM-сервис во внутренней сети
  • Вы используете Azure OpenAI Service вместо официального API OpenAI
  • Вам нужно подключиться к собственному кластеру вывода (например, vLLM или TGI)
  • Вы хотите использовать графическую среду локального вывода LM Studio

Ollama

Ollama — самый популярный инструмент для запуска локальных моделей, поддерживающий загрузку и запуск широкого спектра моделей с открытым исходным кодом в один клик.

Предварительные требования

  • Ollama установлена (скачать)
  • Загружена хотя бы одна модель (например, ollama pull llama3.1)

Шаги

  1. Убедитесь, что Ollama запущена
    • Windows/macOS: после установки Ollama по умолчанию работает как фоновый сервис
    • Linux: запустите ollama serve для старта сервиса
    • Адрес по умолчанию: http://localhost:11434
  1. В Elftia откройте НастройкиУправление провайдерами

  2. Найдите провайдер Ollama по умолчанию (если он отсутствует, нажмите Добавить провайдера → выберите шаблон Ollama)

  3. Проверьте конфигурацию:

ПолеЗначение
Формат APIopenai
Base URLhttp://localhost:11434/v1
API Key(оставьте пустым — по умолчанию Ollama не требует аутентификации)
  1. Добавьте загруженные модели:
    • Нажмите Добавить модель
    • Введите название модели так, как оно отображается в Ollama (совпадает с выводом ollama list)
    • Примеры: llama3.1, qwen2.5:14b, codellama:34b
  1. Включите переключатель Включено и сохраните

  2. Модели Ollama теперь будут отображаться в списке выбора модели в интерфейсе чата

Популярные модели Ollama

Название моделиПараметрыСценарий использованияКоманда загрузки
llama3.18BОбщий чатollama pull llama3.1
llama3.1:70b70BВысококачественный чатollama pull llama3.1:70b
qwen2.5:14b14BЧат на китайском/английскомollama pull qwen2.5:14b
codellama:34b34BГенерация кодаollama pull codellama:34b
deepseek-coder-v216BПомощь с кодомollama pull deepseek-coder-v2
mistral7BЛёгкий чатollama pull mistral
llava7BПонимание изображенийollama pull llava

Удалённая Ollama

Если Ollama запущена на другой машине в локальной сети:

  1. На машине с Ollama установите переменную окружения OLLAMA_HOST=0.0.0.0:11434
  2. Перезапустите сервис Ollama
  3. В Elftia измените Base URL на http://<remote-IP>:11434/v1

LM Studio

LM Studio предоставляет графический интерфейс для управления локальными моделями и их вывода, а также встроенный API-сервер, совместимый с OpenAI.

Предварительные требования

  • LM Studio установлена (скачать)
  • Загружена и запущена хотя бы одна модель

Шаги

  1. Запустите локальный сервер в LM Studio:
    • Откройте LM Studio
    • Перейдите на вкладку Local Server
    • Загрузите модель
    • Нажмите Start Server
    • Запомните адрес сервера (по умолчанию http://localhost:1234)
  1. В Elftia откройте НастройкиУправление провайдерами

  2. Нажмите Добавить провайдера → выберите Пользовательский провайдер

  3. Заполните конфигурацию:

ПолеЗначение
НазваниеLM Studio
Формат APIopenai
Base URLhttp://localhost:1234/v1/chat/completions
API Keylm-studio (LM Studio не проверяет ключ, но если поле обязательно — введите любое значение)
  1. Добавьте модели:

    • Введите название модели так, как оно отображается в загруженных моделях LM Studio
    • Название модели должно совпадать с идентификатором, отображаемым в LM Studio
  2. Проверьте соединение, включите и сохраните

vLLM / Text Generation Inference

vLLM и TGI — высокопроизводительные движки вывода LLM, широко применяемые в производственных развёртываниях. Оба предоставляют OpenAI-совместимый API.

Конфигурация vLLM

  1. Запустите сервис vLLM (пример):

    python -m vllm.entrypoints.openai.api_server \
    --model meta-llama/Llama-3.1-8B-Instruct \
    --port 8000
  2. В Elftia добавьте пользовательского провайдера:

ПолеЗначение
НазваниеvLLM Local
Формат APIopenai
Base URLhttp://localhost:8000/v1/chat/completions
API Key(оставьте пустым или введите значение --api-key из vLLM)
  1. Добавьте модели: используйте имя, указанное в параметре --model при запуске vLLM

Конфигурация TGI

  1. После запуска сервиса TGI используйте его OpenAI-совместимый эндпоинт

  2. В Elftia добавьте пользовательского провайдера:

ПолеЗначение
НазваниеTGI
Формат APIopenai
Base URLhttp://localhost:8080/v1/chat/completions
API Key(оставьте пустым или введите соответствующее значение)

Azure OpenAI

Azure OpenAI Service использует те же модели, что и OpenAI, но размещает их на платформе Azure, предлагая корпоративные SLA и гарантии соответствия требованиям по работе с данными.

Предварительные требования

  • Подписка Azure и доступ к Azure OpenAI Service
  • Ресурс Azure OpenAI, созданный на портале Azure
  • Хотя бы одна развёрнутая модель (с именем развёртывания)

Шаги

  1. Получите следующие данные на портале Azure:
    • Endpoint: в формате https://<resource-name>.openai.azure.com
    • API Key: доступен на странице «Ключи и эндпоинт»
    • Имя развёртывания: доступно на странице «Развёртывания моделей»
    • Версия API: рекомендуется 2024-08-01-preview
  1. В Elftia откройте НастройкиУправление провайдерами

  2. Нажмите Добавить провайдера → выберите шаблон Azure OpenAI

  3. Заполните конфигурацию:

ПолеЗначениеПример
Формат APIazure-openai--
Base URLЭндпоинт Azurehttps://my-resource.openai.azure.com
API KeyAPI-ключ Azurexxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Версия APIНомер версии API2024-08-01-preview
  1. Добавьте модели:

    • Используйте имя развёртывания Azure в качестве идентификатора модели (не название модели)
    • Например, если вы развернули gpt-4o под именем my-gpt4o, введите my-gpt4o в качестве идентификатора модели
  2. Проверьте соединение, включите и сохраните

Azure vs. стандартный OpenAI

ФункцияOpenAIAzure OpenAI
Base URLhttps://api.openai.com/v1/...https://<resource>.openai.azure.com
АутентификацияAuthorization: Bearer sk-...api-key: ...
Указание моделиПо названию модели (например, gpt-4o)По имени развёртывания
Версия APIНе требуетсяОбязательна (параметр URL)
Формат APIopenaiazure-openai

Справочник по конфигурации

Следующие параметры применяются в сценариях с пользовательскими эндпоинтами:

НастройкаТипПо умолчаниюОписание
НазваниеСтрока--Пользовательское отображаемое имя
Формат APIПеречислениеopenaiЛокальные сервисы обычно используют openai; Azure — azure-openai
Base URLURL--Адрес API сервиса вывода
API KeyСтрока(пусто)Обычно не требуется для локальных сервисов; обязателен для Azure
Версия APIСтрока(пусто)Требуется только для Azure OpenAI, например 2024-08-01-preview
Список моделейМассив(пусто)Введите вручную названия доступных в сервисе моделей
ТрансформерМассив(пусто)Пользовательские эндпоинты обычно не требуют дополнительного трансформера

Примечания о поведении

Особенности локальных сервисов

  • Нет проверки API-ключа: большинство локальных сервисов (Ollama, LM Studio) не требуют API-ключа. Если поле API Key в Elftia обязательно — введите любое значение-заглушку
  • Горячая загрузка моделей: некоторые сервисы поддерживают динамическую загрузку моделей. После добавления новой модели в сервис просто добавьте её название в Elftia
  • Ограничение параллелизма: локальные сервисы обычно обрабатывают только один запрос одновременно; установите лимит параллелизма равным 1
  • Задержка первого ответа: локальным моделям может потребоваться несколько секунд для загрузки в память GPU; первый запрос будет ощутимо медленнее

Прокси и сеть

  • Локальные сервисы (localhost / 127.0.0.1) не проходят через глобальный прокси
  • Сервисы в локальной сети могут потребоваться добавить в список исключений прокси в зависимости от вашей конфигурации

Возможности моделей

Флаги возможностей для локальных моделей (поддержка изображений, вызов функций и т. д.) нужно устанавливать вручную в Elftia. Если модель поддерживает работу с изображениями, но флаг не установлен, Elftia не будет отправлять ей изображения.

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

ПроблемаВозможная причинаРешение
Соединение отклоненоЛокальный сервис не запущенУбедитесь, что Ollama/LM Studio/vLLM запущены
Таймаут соединенияНеверный порт или брандмауэр блокирует соединениеПроверьте номер порта; убедитесь, что брандмауэр разрешает соединение
Модель не найденаНазвание модели не совпадает с сервернымИспользуйте ollama list или список моделей сервера для проверки названия
Удалённое подключение к Ollama не работаетПо умолчанию Ollama слушает только localhostУстановите OLLAMA_HOST=0.0.0.0:11434 и перезапустите
LM Studio возвращает пустой ответМодель не загружена в памятьУбедитесь, что модель загружена и отображается как «Ready» в LM Studio
Azure возвращает 404Неверное имя развёртыванияУбедитесь, что в качестве идентификатора модели используется имя развёртывания, а не название модели
Azure возвращает 401Неверная версия API или ключПроверьте поле версии API и API Key
Кракозябры в ответеМодель не поддерживает данный языкПереключитесь на модель с поддержкой нужного языка (например, Qwen, ChatGLM)
Недостаточно памяти GPUМодель слишком большаяВыберите меньшую квантованную версию (например, llama3.1:8b-q4_0)
Запрос зависает без ответаЛокальный сервис загружает модельДождитесь завершения загрузки модели; первый запрос может занять 10–30 секунд

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