Introdução geral
Este é um projeto de blueprint de geração de relatórios estruturados co-desenvolvido pela LangChain e pela NVIDIA, apresentado em um tutorial de notebook Jupyter no GitHub. O projeto aproveita técnicas avançadas de IA, especificamente o modelo Llama-3.3-70b, para automatizar a geração de relatórios técnicos profissionais. O principal recurso do projeto é um sistema de geração de relatórios em vários estágios criado usando o LangGraph da LangChain, incluindo planejamento de relatórios, pesquisa na Web e redação de conteúdo. O sistema é capaz de planejar automaticamente os capítulos do relatório com base em tópicos definidos pelo usuário e esboços estruturais, realizar pesquisas inteligentes na Web para obter informações relevantes por meio da Tavily e gerar relatórios técnicos claramente estruturados e escritos profissionalmente. O projeto é especialmente adequado para desenvolvedores e equipes técnicas que precisam gerar rapidamente documentos técnicos de alta qualidade.
Lista de funções
- Planejamento automatizado da estrutura do relatório: geração de esboços de relatórios com base na entrada de tópicos e requisitos organizacionais pelo usuário
- Pesquisa inteligente na Web: pesquisa direcionada na Web e coleta de informações usando a API da Tavily
- Processamento paralelo de capítulos de relatórios: suporta pesquisa e redação simultâneas de vários capítulos
- Personalização flexível de relatórios: pesquisa de notícias ou de conteúdo geral sob demanda
- Controle de saída estruturada: suporte para tabelas, listas e outros formatos de linguagem de marcação
- Rastreamento de citações de fontes: coleta e formatação automáticas de fontes de referência
- Mecanismos de controle de qualidade: incluindo limites de palavras e verificações de formatação
- Ambiente de desenvolvimento interativo: implementação completa do notebook Jupyter
Usando a Ajuda
1. preparação ambiental
- Instale os pacotes de dependência necessários:
%pip install --quiet -U langgraph langchain_community langchain_core tavily-python langchain_nvidia_ai_endpoints
- Configure a chave da API:
- Chave da API de avaliação do NVIDIA NIM
- entrevistasPágina NVIDIA NIMRegistre-se e obtenha a chave da API
- 1.000 créditos de avaliação da API para novos usuários
- Chave da API da LangChain
- existirPágina de configurações do LangChainCriar uma conta
- Navegue até "API Keys" (Chaves de API) para criar uma nova chave de API.
- Chave da API da Tavily
- entrevistasCasa Tavilyregistrar uma conta
- Criação de uma chave de API
2. inicialização do projeto
- Configuração de variáveis de ambiente:
Python
importar os
os.environ["NVIDIA_API_KEY"] = "your-nvidia-api-key"
os.environ["LANGCHAIN_API_KEY"] = "your-langchain-api-key"
os.environ["TAVILY_API_KEY"] = "your-tavily-api-key"
- Inicialize os clientes necessários:
Python
from tavily import TavilyClient, AsyncTavilyClient
tavily_client = TavilyClient()
tavily_async_client = AsyncTavilyClient()
3. processo de geração de relatórios
- Definir a estrutura de relatórios:
Python
report_structure = """
Esse tipo de relatório se concentra na análise comparativa.
A estrutura do relatório deve incluir: 1.
1. introdução
2. seções do corpo principal
3. conclusão com tabela de comparação
"""
- Definir o tema do relatório:
Python
report_topic = "Seu tópico de relatório"
- Configurar parâmetros de pesquisa:
Python
tavily_topic = "general" (geral) # ou "news" (notícias)
tavily_days = Nenhum # apenas para tópicos de notícias
- Gerar um plano de relatório:
Python
seções = await generate_report_plan({
"topic": report_topic, "report_structure": report_structure, {
"tavily_days": tavily_days
})
4. uso de funções avançadas
- Geração de consultas personalizadas:
- Modificar query_writer_instructions para otimizar as consultas de pesquisa
- Ajuste o parâmetro number_of_queries para controlar o número de consultas por seção
- Controle de formatação de conteúdo:
- Uso da sintaxe Markdown para definir a hierarquia do cabeçalho
- Suporte para conteúdo estruturado, como tabelas e listas
- Você pode controlar o limite de palavras para cada capítulo
- Gerenciamento de conteúdo de origem:
- Processamento de resultados de pesquisa usando a função deduplicate_and_format_sources
- O parâmetro max_tokens_per_source pode ser ajustado para controlar o tamanho do conteúdo da fonte
- Otimização do processamento paralelo:
- Pesquisa paralela de vários capítulos usando o LangGraph
- Otimize o fluxo de processamento ajustando a configuração do StateGraph
5 Cuidados
- Restrições de uso da API:
- Tenha o cuidado de monitorar a quantidade de uso da API da NVIDIA
- Configuração razoável da frequência de consulta para evitar exceder o limite
- Controle de qualidade do conteúdo:
- Assegurar que report_structure forneça orientações claras sobre as seções
- Validar regularmente a precisão do conteúdo gerado
- Requisitos do sistema:
- Garantir a compatibilidade da versão do ambiente Python
- Mantenha as dependências atualizadas
- Tratamento de erros:
- Implementar mecanismos adequados de tratamento de erros
- Salvar resultados intermediários para evitar interrupções no processamento