Предварительные требования
- Инструмент построения каркаса плагинов Интеллос
- Окружение Python (версия 3.12)
Совет: выполните
dify version в терминале, чтобы убедиться, что инструмент построения каркаса установлен.1. Инициализация шаблона плагина
Выполните следующую команду, чтобы создать шаблон разработки для плагина-агента:strategies/.
2. Разработка плагина
Разработка плагина стратегии агента строится вокруг двух файлов:- Объявление плагина:
strategies/basic_agent.yaml - Реализация плагина:
strategies/basic_agent.py
2.1 Определение параметров
Чтобы создать плагин-агент, сначала задайте необходимые параметры вstrategies/basic_agent.yaml. Эти параметры определяют основные возможности плагина, такие как вызов LLM или использование инструментов.
Рекомендуем сначала включить следующие четыре параметра:
- model: вызываемая большая языковая модель (например, GPT-4, GPT-4o-mini).
- tools: список инструментов, расширяющих функциональность вашего плагина.
- query: пользовательский ввод или содержимое промпта, отправляемое модели.
- maximum_iterations: максимальное число итераций для предотвращения чрезмерных вычислений.

2.2 Получение параметров и выполнение
После того как пользователи заполнят эти базовые поля, ваш плагин должен обработать переданные параметры. Вstrategies/basic_agent.py определите класс параметров для агента, а затем получите и примените эти параметры в своей логике.
Проверьте входящие параметры:
3. Вызов модели
В плагине стратегии агента вызов модели является центральным элементом рабочего процесса. Вы можете эффективно вызывать LLM с помощьюsession.model.llm.invoke() из SDK, обрабатывая генерацию текста, диалог и так далее.
Если вы хотите, чтобы LLM работал с инструментами, убедитесь, что он выводит структурированные параметры, соответствующие интерфейсу инструмента. Иными словами, LLM должен сформировать входные аргументы, которые инструмент сможет принять, на основе инструкций пользователя.
Сконструируйте следующие параметры:
- model
- prompt_messages
- tools
- stop
- stream

4. Обработка инструмента
После задания параметров инструмента плагин стратегии агента должен фактически вызвать эти инструменты. Используйтеsession.tool.invoke(), чтобы выполнить эти запросы.
Сконструируйте следующие параметры:
- provider
- tool_name
- parameters

5. Создание журналов
Часто для выполнения сложной задачи в плагине стратегии агента требуется несколько шагов. Разработчику крайне важно отслеживать результат каждого шага, анализировать процесс принятия решений и оптимизировать стратегию. С помощьюcreate_log_message и finish_log_message из SDK вы можете в реальном времени записывать состояния до и после вызовов, что помогает быстро диагностировать проблемы.
Например:
- Записывайте сообщение «starting model call» перед вызовом модели, чтобы прояснить ход выполнения задачи.
- Записывайте сообщение «call succeeded» после ответа модели, чтобы вывод модели можно было отследить из конца в конец.

parent в вызовах журналирования, чтобы их было легче отслеживать.
Справочный метод:
Пример кода функций плагина-агента
- Вызов модели
- Обработка инструментов
- Пример полного кода функции
Вызов модели
Следующий код демонстрирует, как наделить плагин стратегии агента возможностью вызывать модель:6. Отладка плагина
После завершения файла объявления плагина и кода реализации выполнитеpython -m main в каталоге плагина, чтобы перезапустить его. Затем убедитесь, что плагин работает корректно. Интеллос предлагает удалённую отладку. Перейдите в раздел Управление плагинами, чтобы получить ключ отладки и адрес удалённого сервера.

.env.example в .env и вставьте соответствующие данные удалённого сервера и ключа отладки.

Упаковка плагина (необязательно)
Когда всё работает, вы можете упаковать свой плагин, выполнив:basic_agent.difypkg (соответствующим имени вашего плагина). Это и есть итоговый пакет плагина.
Поздравляем! Вы полностью разработали, протестировали и упаковали свой плагин стратегии агента.
Публикация плагина (необязательно)
Теперь вы можете загрузить его в репозиторий Интеллос Plugins. Перед этим убедитесь, что он соответствует Рекомендациям по публикации плагинов. После одобрения ваш код будет влит в основную ветку, и плагин автоматически станет доступен в Интеллос Маркетплейс.Дальнейшее изучение
Сложные задачи часто требуют нескольких раундов размышлений и вызовов инструментов, обычно повторяя цикл вызов модели → использование инструмента, пока задача не завершится или не будет достигнут предельный лимит итераций. Эффективное управление промптами критически важно в этом процессе. Ознакомьтесь с полной реализацией Function Calling, чтобы увидеть стандартизированный подход к тому, как позволить моделям вызывать внешние инструменты и обрабатывать их вывод.Редактировать эту страницу | Сообщить о проблеме

