Как создать многоуровневый агент глубоких исследований с использованием Gemini, DuckDuckGo API и автоматизированной отчетности
В этой статье мы рассмотрим, как построить модульную систему глубоких исследований, работающую непосредственно в Google Colab. Наша система будет использовать Gemini в качестве основного движка для анализа, интегрировать API DuckDuckGo для легких веб-поисков и организовывать многоуровневые запросы с обработкой дубликатов и задержек. Мы сосредоточимся на эффективности, ограничивая вызовы API, извлекая краткие фрагменты и используя структурированные запросы для извлечения ключевых точек, тем и инсайтов.
Создание исследовательской системы
Начнем с импорта необходимых библиотек Python, которые обеспечивают выполнение операций системы, обработку JSON, веб-запросы и работу с данными. Также мы интегрируем SDK генеративного ИИ от Google и утилиты, такие как кодирование URL, чтобы обеспечить бесперебойную работу нашей исследовательской системы.
import os import json import time import requests from typing import List, Dict, Any from dataclasses import dataclass import google.generativeai as genai from urllib.parse import quote_plus import re
Определение конфигурации исследования
Мы определим класс ResearchConfig для управления параметрами, такими как ключи API, лимиты источников и задержки. Затем создадим класс DeepResearchSystem, который интегрирует Gemini с поиском DuckDuckGo.
@dataclass class ResearchConfig: gemini_api_key: str max_sources: int = 10 max_content_length: int = 5000 search_delay: float = 1.0
Реализация системы глубоких исследований
Класс DeepResearchSystem включает методы для веб-поиска, извлечения ключевых точек, анализа источников и генерации отчетов, что позволяет организовать многоуровневые исследования и получать структурированные инсайты в упрощенном рабочем процессе.
class DeepResearchSystem:
def __init__(self, config: ResearchConfig):
self.config = config
genai.configure(api_key=config.gemini_api_key)
self.model = genai.GenerativeModel('gemini-1.5-flash')
def search_web(self, query: str, num_results: int = 5) -> List[Dict[str, str]]:
...
Проведение исследований
Метод conduct_research управляет всем процессом исследования, позволяя проводить несколько раундов запросов и анализа.
def conduct_research(self, query: str, depth: str = "standard") -> Dict[str, Any]: ...
Генерация отчетов
Наконец, мы генерируем комплексный отчет на основе анализа собранных источников в процессе исследования.
def generate_comprehensive_report(self, query: str, sources: List[Dict[str, str]],
analysis: Dict[str, Any]) -> str:
...
Настройка исследовательской системы
Создадим функцию setup_research_system, которая упрощает инициализацию в Google Colab, оборачивая нашу конфигурацию в ResearchConfig и возвращая готовый к использованию экземпляр DeepResearchSystem с пользовательскими лимитами и задержками.
def setup_research_system(api_key: str) -> DeepResearchSystem: ...
Заключение
В заключение, мы продемонстрировали, как создать многоуровневый агент глубоких исследований с использованием Gemini и API DuckDuckGo. Эта система позволяет эффективно собирать данные, анализировать их и генерировать отчеты, предоставляя надежную основу для более сложных исследовательских приложений.
Для дальнейшего изучения не стесняйтесь заглянуть на нашу страницу GitHub для получения учебных материалов, кода и ноутбуков. Также подписывайтесь на нас в Twitter и присоединяйтесь к нашему сообществу для обсуждений и обновлений.












