<НА ГЛАВНУЮ

Использование Gemini Flash с AutoGen и Semantic Kernel для создания продвинутых мультиагентных AI-воркфлоу

Применяйте AutoGen и Semantic Kernel вместе с Gemini Flash для создания продвинутых мультиагентных AI-воркфлоу, способных эффективно выполнять анализ, ревью кода и творческие задачи.

Интеграция AutoGen и Semantic Kernel с Gemini Flash

В этом руководстве показано, как интегрировать AutoGen и Semantic Kernel с моделью Gemini Flash от Google для создания продвинутых мультиагентных AI-воркфлоу. Интеграция начинается с создания классов GeminiWrapper и SemanticKernelGeminiPlugin, которые связывают генеративные возможности Gemini с системой оркестрации мультиагентов AutoGen.

Настройка специализированных агентов

Настраиваются специализированные агенты — ревьюеры кода, креативные аналитики, специалисты по данным и помощники — с помощью API ConversableAgent от AutoGen. Эти агенты используют декорированные функции Semantic Kernel для анализа текста, создания резюме, ревью кода и решения творческих задач.

Основные зависимости и установка

Для работы используются библиотеки pyautogen, semantic-kernel, google-generativeai и python-dotenv. Импортируются необходимые модули Python (os, asyncio, typing), а также AutoGen для оркестрации агентов, доступ к API Gemini через google.generativeai и классы с декораторами Semantic Kernel.

Интеграция с Gemini API

Класс GeminiWrapper инкапсулирует взаимодействие с API Gemini. Он инициализирует GenerativeModel и предоставляет метод generate_response, который отправляет промпты на endpoint generate_content Gemini, возвращая сгенерированный текст или сообщения об ошибках.

Реализация плагина Semantic Kernel

Класс SemanticKernelGeminiPlugin с помощью декоратора @kernel_function определяет AI-функции:

  • analyze_text: анализирует тональность, ключевые темы, инсайты, рекомендации и стиль.
  • generate_summary: создает исполнительные резюме, ключевые моменты, детали и выводы.
  • code_analysis: оценивает качество кода, производительность, безопасность и поддерживаемость.
  • creative_solution: генерирует традиционные, инновационные и гибридные решения с планом реализации и потенциальными проблемами.

Каждая функция формирует подробный промпт и делегирует обработку Gemini Flash.

Продвинутый агент Gemini и мультиагентное взаимодействие

Класс AdvancedGeminiAgent инициализирует плагин Semantic Kernel, обертку Gemini и набор агентов AutoGen:

  • Помощник
  • Ревьюер кода
  • Креативный аналитик
  • Специалист по данным
  • Прокси пользователя

Он предоставляет методы для связи AutoGen с функциями Semantic Kernel, организации мультиагентного сотрудничества и прямых вызовов Gemini для комплексного анализа.

Запуск демонстрации

Функция main() инициализирует продвинутого агента и выполняет демонстрационные запросы, показывая возможности AI. Результаты анализов Semantic Kernel, мультиагентного взаимодействия и прямых ответов Gemini выводятся для наглядности.

Краткий пример установки

!pip install pyautogen semantic-kernel google-generativeai python-dotenv

Пример класса GeminiWrapper

class GeminiWrapper:
   """Обертка для Gemini API для работы с AutoGen"""
  
   def __init__(self, model_name="gemini-1.5-flash"):
       self.model = genai.GenerativeModel(model_name)
  
   def generate_response(self, prompt: str, temperature: float = 0.7) -> str:
       """Генерация ответа с помощью Gemini"""
       try:
           response = self.model.generate_content(
               prompt,
               generation_config=genai.types.GenerationConfig(
                   temperature=temperature,
                   max_output_tokens=2048,
               )
           )
           return response.text
       except Exception as e:
           return f"Ошибка Gemini API: {str(e)}"

Пример функции SemanticKernelGeminiPlugin

@kernel_function(name="analyze_text", description="Анализ текста на тональность и ключевые инсайты")
def analyze_text(self, text: str) -> str:
   """Анализ текста с помощью Gemini Flash"""
   prompt = f"""
   Проведите комплексный анализ следующего текста:
  
   Текст: {text}
  
   Предоставьте анализ в формате:
   - Тональность: [положительная/отрицательная/нейтральная с уверенностью]
   - Ключевые темы: [основные темы и концепции]
   - Инсайты: [важные наблюдения и закономерности]
   - Рекомендации: [практические шаги]
   - Стиль: [формальный/неформальный/технический/эмоциональный]
   """
  
   return self.gemini.generate_response(prompt, temperature=0.3)

Такой подход позволяет создавать AI-помощника, способного решать разнообразные задачи с четкими и практическими рекомендациями.

🇬🇧

Switch Language

Read this article in English

Switch to English