Introdução geral
O Open Deep Research é um assistente de pesquisa baseado na Web que gera relatórios de pesquisa abrangentes sobre qualquer tópico. O sistema usa um fluxo de trabalho de planejar e fazer que permite aos usuários planejar e revisar a estrutura do relatório antes de passar para a fase de pesquisa demorada. Os usuários podem escolher entre diferentes modelos de planejamento, APIs de pesquisa e modelos de redação, como Tavily, Perplexity, Anthropic e OpenAI, para atender às necessidades individuais. O Open Deep Research oferece suporte a várias iterações de reflexão e pesquisa para garantir a profundidade e a precisão do relatório. Os usuários podem implantar e usar a ferramenta rapidamente por meio de arquivos de configuração simples e operações de linha de comando.
Lista de funções
- Forneça um esboço da estrutura do relatório
- Configuração de modelos de planejamento (por exemplo, DeepSeek, modelos de inferência OpenAI, etc.)
- Feedback sobre os planos para cada seção do relatório e iteração até que os usuários estejam satisfeitos
- Configuração de APIs de pesquisa (por exemplo, Tavily, Perplexity) e número de pesquisas por iteração de estudo
- Definir a profundidade da pesquisa (número de iterações) para cada seção
- Modelos de redação personalizados (por exemplo, Anthropic)
- Executando o LangGraph Studio UI localmente
- Geração automática de relatórios de pesquisa estruturados
- Suporte a várias pesquisas e iterações reflexivas para melhorar a qualidade do relatório
Usando a Ajuda
Início rápido
- Certifique-se de que a chave de API da ferramenta necessária tenha sido definida.
- Selecione uma ferramenta de pesquisa na Web (o Tavily é usado por padrão):
- API da Tavily
- Perplexidade API
- Selecione um modelo de escrita (Anthropic é usado por padrão) Claude 3,5 Soneto):
- Selecione um modelo de planejamento (o OpenAI o3-mini é usado por padrão):
- OpenAI
- Groq
Uso
ambiente virtualizado
- Crie um ambiente virtual:
python -m venv open_deep_research source open_deep_research/bin/activate
- Instalação:
pip install open-deep-research
Usando o Jupyter Notebook em
- Importar e compilar o gráfico:
from langgraph.checkpoint.memory import MemorySaver from open_deep_research.graph import builder memory = MemorySaver() graph = builder.compile(checkpointer=memory)
- Exibir gráfico:
from IPython.display import Image, display display(Image(graph.get_graph(xray=1).draw_mermaid_png()))
- Execute o gráfico:
import uuid thread = {"configurable": {"thread_id": str(uuid.uuid4()), "search_api": "tavily", "planner_provider": "openai", "planner_model": "o3-mini", "writer_provider": "anthropic", "writer_model": "claude-3-5-sonnet-latest", "max_search_depth": 1, }} topic = "Overview of the AI inference market with focus on Fireworks, Together.ai, Groq" async for event in graph.astream({"topic":topic,}, thread, stream_mode="updates"): print(event) print("\n")
- Após gerar o plano de relatório, envie feedback para atualizar o plano de relatório:
from langgraph.types import Command async for event in graph.astream(Command(resume="Include a revenue estimate (ARR) in the sections"), thread, stream_mode="updates"): print(event) print("\n")
- Enviado quando estiver satisfeito com o esquema de relatórios
True
para gerar relatórios:async for event in graph.astream(Command(resume=True), thread, stream_mode="updates"): print(event) print("\n")
Executando o LangGraph Studio UI localmente
- Armazém de Clonagem:
git clone https://github.com/langchain-ai/open_deep_research.git cd open_deep_research
- compilador
.env
para definir a chave da API:cp .env.example .env
- Configuração de variáveis de ambiente:
export TAVILY_API_KEY=<your_tavily_api_key> export ANTHROPIC_API_KEY=<your_anthropic_api_key> export OPENAI_API_KEY=<your_openai_api_key>
- Inicie o servidor LangGraph:
- Mac:
curl -LsSf https://astral.sh/uv/install.sh | sh uvx --refresh --from "langgraph-cli[inmem]" --with-editable . --python 3.11 langgraph dev
- Windows:
pip install -e . pip install langgraph-cli[inmem] langgraph dev
- Mac:
- Abra a interface do usuário do Studio:
- 🚀 API: http://127.0.0.1:2024 - 🎨 Studio UI: https://smith.langchain.com/studio/?baseUrl=http://127.0.0.1:2024 - 📚 API Docs: http://127.0.0.1:2024/docs
Relatórios personalizados
report_structure
:: Definir uma estrutura de relatório personalizada (o formato padrão de relatório de pesquisa é usado por padrão)number_of_queries
:: Número de consultas de pesquisa geradas por seção (padrão: 2)max_search_depth
Profundidade máxima de pesquisa (padrão: 2)planner_provider
:: provedor de modelagem para a fase de planejamento (padrão: "openai", opcional "groq")planner_model
:: Modelo específico usado para planejamento (padrão: "o3-mini", opcionalmente "deepseek-r1-distill-llama-70b").writer_model
:: Modelo usado para escrever o relatório (padrão: "claude-3-5-sonnet-latest")search_api
API de pesquisa usada (padrão: Tavily)