validate_provider_credential в файле конфигурации поставщика не нужно. Во время выполнения, в зависимости от выбранного пользователем типа или имени модели, Интеллос автоматически вызывает метод validate_credentials соответствующего слоя модели для проверки учётных данных.
Интеграция плагина пользовательской модели
Ниже приведены шаги для интеграции пользовательской модели:- Создайте файл поставщика модели
Определите типы моделей, которые будет включать ваша пользовательская модель. - Создайте файлы кода по типам моделей
В зависимости от типа модели (например,llmилиtext_embedding) создайте отдельные файлы кода. Убедитесь, что каждый тип модели организован в отдельные логические слои — это упростит сопровождение и дальнейшее расширение. - Разработайте логику вызова модели
Внутри каждого модуля типа модели создайте файл Python с именем этого типа модели (например,llm.py). Определите в файле класс, реализующий конкретную логику модели в соответствии со спецификациями интерфейса модели системы. - Отладьте плагин
Напишите модульные и интеграционные тесты для нового функционала поставщика, чтобы убедиться, что все компоненты работают как задумано.
1. Создайте файл поставщика модели
В каталоге/provider вашего плагина создайте файл xinference.yaml.
Семейство моделей Xinference поддерживает типы моделей LLM, Text Embedding и Rerank, поэтому ваш файл xinference.yaml должен включать все три.
Пример:
provider_credential_schema. Поскольку Xinference поддерживает модели генерации текста, эмбеддингов и реранкинга, его можно настроить следующим образом:
model_name:
2. Разработайте код модели
Поскольку Xinference поддерживает llm, rerank, speech2text и tts, вам следует создать соответствующие каталоги внутри /models, каждый из которых содержит код своей функции. Ниже приведён пример для модели типа llm. Вы создаёте файл с именем llm.py, а затем определяете класс (например, XinferenceAILargeLanguageModel), наследующий __base.large_language_model.LargeLanguageModel. Этот класс должен включать:- Вызов LLM
yield, генератором, возвращающим тип Generator, поэтому их лучше разделить:
- Предварительный подсчёт входных токенов
self._get_num_tokens_by_gpt2(text: str) из базового класса AIModel, который использует токенизатор GPT-2. Помните, что это приблизительная оценка, и она может не совпадать с вашей моделью в точности.
- Проверка учётных данных модели
- Динамическая схема параметров модели
max_tokens, temperature и top_p. Некоторые другие поставщики (например, OpenLLM) могут поддерживать параметры вроде top_k только для определённых моделей. Это означает, что вам нужно адаптировать схему под возможности каждой модели:
- Сопоставление ошибок
3. Отладьте плагин
После завершения разработки протестируйте плагин, чтобы убедиться, что он работает корректно. Подробнее см.:Отладка плагина
4. Опубликуйте плагин
Если вы хотите разместить этот плагин в Интеллос Маркетплейс, см.: Публикация в Интеллос МаркетплейсИзучить дополнительно
Быстрый старт:- Разработка плагина расширения
- Разработка плагина инструмента
- Бандлы плагинов: упаковка нескольких плагинов
- Структура манифеста
- Определения эндпоинтов
- Обратный вызов сервиса Интеллос
- Инструменты
- Модели
Edit this page | Report an issue

