Агент, который решает подзадачи параллельно

Урок 24 из 148 курса «Mistral AI Cookbook»: официальный курс Mistral AI Cookbook (Мистраль) на русском языке. Урок входит в платный доступ; первые уроки курса бесплатно.

О чём урок

Этот notebook демонстрирует, как создать универсальный рабочий процесс агента, который автоматически разбивает сложные задачи на несколько подзадач. Эти подзадачи выполняются с использованием параллельных вызовов MistralAI LLM, дополненных информацией в реальном времени из Tavily API. Затем результаты синтезируются в исчерпывающий ответ. LLM-оркестратор анализирует основную задачу и разбивает её на отдельные, параллельные подзадачи Каждая подзадача назначается worker LLM со специализированными инструкциями Workers выполняются параллельно, используя Tavily API для получения актуальной информации по мере необходимости Результаты синтезируются в унифицированный ответ ПРИМЕЧАНИЕ: Мы будем использовать LLM MistralAI для обработки подзадач и синтеза ответов, а также Tavily API для получения актуальной информации. Здесь мы настраиваем API ключи для MistralAI и Tavily. Вы можете получить ключи по следующим ссылкам: MistralAI: https://console.mistral.ai/api-keys Tavily: https://app.tavily.com/home Pydantic модели обеспечивают валидацию и сериализацию данных, гарантируя, что данные, получаемые нами от LLM, соответствуют ожидаемой структуре. Это помогает поддерживать согласованность между компонентами оркестратора и worker. SubTask: Определение индивидуальной подзадачи — определяет дискретную единицу работы с её типом, описанием и необязательным поисковым запросом. TaskList: Выходная структура от оркестратора — содержит анализ и список определённых подзадач, которые будут выполняться параллельно. Вспомогательные функции API обрабатывают взаимодействие с внешними API и обрабатывают ответы, предоставляя чистые интерфейсы для остальной части рабочего процесса. fetch_information: Извлекает релевантную информацию из Tavily API на основе запроса и возвращает структурированные результаты. run_mistral_llm: Выполняет стандартный вызов Mistral AI с заданными prompt, возвращая сгенерированный контент. parse_structured_output: Использует возможности структурированного вывода Mistral для генерации и парсинга ответов в соответствии с Pydantic моделями. Эти функции обеспечивают параллельное выполнение подзадач, позволяя рабочему процессу обрабатывать несколько компонентов одновременно для повышения эффективности. run_task_async: Выполняет одну подзадачу асинхронно, дополняя её релевантной информацией от Tavily по мере необходимости. execute_tasks_in_parallel: Управляет параллельным выполнением всех подзадач, обеспечивая их одновременный запуск и надлежащий сбор результатов.

План урока

  1. Введение
  2. Обзор рабочего процесса
  3. Архитектура решения
  4. Установка
  5. Импорты
  6. Настройте ваши API ключи
  7. Инициализация клиента Mistral
  8. Конфигурация Tavily API

Урок входит в полный доступ. Полный текст и видео открываются после оплаты. Первые уроки каждого курса бесплатны.

Полезные гиды