Предварительные требования
- Интеллос CLI
- Базовые навыки программирования на Python и понимание объектно-ориентированного программирования
- Знакомство с документацией API поставщика модели, которого вы хотите интегрировать
Шаг 1. Создайте и настройте новый проект плагина
Инициализируйте проект
Выберите шаблон плагина модели
Выберите шаблон плагина типаLLM из доступных вариантов. Этот шаблон предоставляет полную структуру кода для интеграции модели.

Настройте разрешения плагина
Для плагина поставщика модели настройте следующие необходимые разрешения:- Models — базовое разрешение для операций с моделями
- LLM — разрешение для работы с большими языковыми моделями
- Storage — разрешение для операций с файлами (если требуется)

Обзор структуры каталогов
После инициализации проект плагина будет иметь структуру каталогов, похожую на эту (для поставщика с именемmy_provider, поддерживающего LLM и Embedding):
Шаг 2. Разберитесь в методах конфигурации моделей
Интеллос поддерживает два метода конфигурации моделей, которые определяют, как пользователи будут взаимодействовать с моделями вашего поставщика:Предопределённые модели (predefined-model)
Это модели, для использования которых требуются только единые учётные данные поставщика. Как только пользователь настроит свой API-ключ или другие данные аутентификации для поставщика, он сразу получает доступ ко всем предопределённым моделям.
Пример: поставщик OpenAI предлагает предопределённые модели, такие как gpt-3.5-turbo-0125 и gpt-4o-2024-05-13. Пользователю достаточно один раз настроить свой API-ключ OpenAI, чтобы получить доступ ко всем этим моделям.
Пользовательские модели (customizable-model)
Они требуют дополнительной настройки для каждого конкретного экземпляра модели. Этот подход полезен, когда моделям нужны индивидуальные параметры помимо учётных данных уровня поставщика.
Пример: Xinference поддерживает как LLM, так и Text Embedding, но у каждой модели есть уникальный model_uid. Пользователи должны настроить этот model_uid отдельно для каждой модели, которую хотят использовать.
Эти методы конфигурации могут сосуществовать в рамках одного поставщика. Например, поставщик может предлагать несколько предопределённых моделей и при этом позволять пользователям добавлять пользовательские модели с конкретными конфигурациями.
Шаг 3. Создайте файлы поставщика модели
Создание нового поставщика модели включает два основных компонента:- YAML-файл конфигурации поставщика — определяет базовую информацию о поставщике, поддерживаемые типы моделей и требования к учётным данным
- Реализация класса поставщика — реализует проверку аутентификации и другую функциональность уровня поставщика
3.1. Создайте файл конфигурации поставщика модели
Конфигурация поставщика задаётся в YAML-файле, который объявляет базовую информацию о поставщике, поддерживаемые типы моделей, методы конфигурации и правила для учётных данных. Этот файл размещается в корневом каталоге проекта плагина. Вот аннотированный пример файла конфигурацииanthropic.yaml:
Конфигурация пользовательской модели
Если ваш поставщик поддерживает пользовательские модели, нужно добавить разделmodel_credential_schema, чтобы определить, какие дополнительные поля пользователи должны настроить для каждой отдельной модели. Это типично для поставщиков, поддерживающих дообученные модели или требующих параметры конкретной модели.
Вот пример из поставщика OpenAI:
3.2. Напишите код поставщика модели
Затем создайте Python-файл для реализации класса поставщика. Этот файл размещается в каталоге/provider с именем, соответствующим вашему поставщику (например, anthropic.py).
Класс поставщика должен наследоваться от ModelProvider и реализовывать как минимум метод validate_provider_credentials:
validate_provider_credentials критически важен, поскольку вызывается каждый раз, когда пользователь пытается сохранить свои учётные данные поставщика в Интеллос. Он должен:
- Попытаться проверить учётные данные, выполнив простой вызов API
- Завершиться без вывода, если проверка прошла успешно
- Вызвать
CredentialsValidateFailedErrorс полезным сообщением, если проверка не удалась
Для поставщиков пользовательских моделей
Для поставщиков, которые используют исключительно пользовательские модели (где каждая модель требует собственной конфигурации), можно реализовать более простой класс поставщика. Например, дляXinference:
Шаг 4. Реализуйте код, специфичный для модели
После настройки поставщика нужно реализовать код, специфичный для модели, который будет обрабатывать вызовы API для каждого поддерживаемого типа модели. Это включает:- Создание YAML-файлов конфигурации для каждой конкретной модели
- Реализацию классов типов моделей, которые обрабатывают взаимодействие с API
- Правила проектирования моделей — стандарты интеграции предопределённых моделей
- Схема модели — стандарты файлов конфигурации моделей
4.1. Определите конфигурацию модели (YAML)
Для каждой конкретной модели создайте YAML-файл в соответствующем каталоге типа модели (например,models/llm/), чтобы определить её свойства, параметры и возможности.
Пример (claude-3-5-sonnet-20240620.yaml):
4.2. Реализуйте код вызова модели (Python)
Создайте Python-файл для каждого поддерживаемого типа модели (например,llm.py в каталоге models/llm/). Этот класс будет обрабатывать взаимодействие с API, преобразование параметров и форматирование результатов.
Вот пример структуры реализации для LLM:
_invoke, который обрабатывает ключевое взаимодействие с API. Этот метод должен:
- Преобразовывать стандартизированные входные данные Интеллос в формат, требуемый API поставщика
- Выполнять вызов API с надлежащей обработкой ошибок
- Преобразовывать ответ API в стандартизированный формат вывода Интеллос
- Обрабатывать как потоковый, так и непотоковый режимы
Шаг 5. Отладьте и протестируйте свой плагин
Интеллос предоставляет возможность удалённой отладки, которая позволяет тестировать плагин во время разработки:- В вашем экземпляре Интеллос перейдите в раздел «Управление плагинами» и нажмите «Отладить плагин», чтобы получить ключ отладки и адрес сервера
- Настройте локальное окружение, указав эти значения в файле
.env:
- Запустите плагин локально командой
python -m mainи протестируйте его в Интеллос
Шаг 6. Упакуйте и опубликуйте
Когда плагин готов:-
Упакуйте его с помощью инструмента scaffolding:
- Протестируйте упакованный плагин локально перед отправкой
- Отправьте pull request в официальный репозиторий плагинов Интеллос
Справочные ресурсы
- Быстрая интеграция новой модели — как добавлять новые модели к существующим поставщикам
- Базовые концепции разработки плагинов — вернуться к руководству по началу разработки плагинов
- Схема модели — изучите подробные спецификации конфигурации моделей
- Общие спецификации — узнайте о конфигурации файла манифеста плагина
- Справочник Интеллос Plugin SDK — справочник по базовым классам, структурам данных и типам ошибок
Редактировать эту страницу | Сообщить о проблеме

