Depois que a ferramenta Deep Research da OpenAI surgiu do nada, todos os principais fornecedores lançaram suas próprias ferramentas de Deep Research. A chamada Pesquisa Profunda é comparada à pesquisa comum, em que uma simples recuperação RAG gera geralmente apenas uma rodada de recuperação. No entanto, a pesquisa profunda pode pesquisar, analisar, recuperar e analisar novamente com base em um tópico, assim como um ser humano, até atingir o objetivo da pesquisa. Desse ponto de vista, é essencialmente uma versão atualizada do aplicativo RAG, o uso de ReAct/Plan And Solve e outros modos de construção do agente de domínio pendente, com o planejamento e a geração de decomposição de artigos, aquisição de informações e recursos de análise.
Em princípio, é muito simples, mas se quisermos atender às necessidades comerciais do produto acabado, os detalhes reais de engenharia e o efeito da otimização são bastante complexos, de modo que alguns andaimes da plataforma de desenvolvimento do projeto ou do produto acabado são particularmente importantes, o que é o mesmo que o RAG, haverá cada vez mais estruturas de desenvolvimento desse tipo.
Hoje, na introdução de várias implementações de código aberto da Deep Research, em nome das duas ideias de implementação, uma é baseada na implementação da estrutura de orquestração existente, como Langchain Langgraph, a outra é projetada especificamente para as características do desenvolvimento de pesquisas profundas. Por meio delas, não só é possível criar rapidamente aplicativos de pesquisa profunda, mas também entender os detalhes da implementação dessas estruturas e a seleção específica, como o que pesquisar, o que usar de armazenamento, qual é a palavra de alerta etc., o que é muito útil para nossa própria implementação da função de referência.
1. Langchain Open DeepResearch
É uma implementação de demonstração oficial do LangChain, com base no LangGraph Crie todo o fluxo de processamento. Permita a pesquisa e a coleta de informações integrando várias APIs, como Tavily , Perplexity. Os usuários podem definir a profundidade da pesquisa para cada capítulo, incluindo o número de iterações para escrever, refletir, pesquisar e reescrever, bem como fornecer feedback sobre o plano para o capítulo do relatório e iterar até ficar satisfeito.
Prompt usado: https://github.com/langchain-ai/open_deep_research/blob/main/src/open_deep_research/prompts.py
Endereço do projeto: https://github.com/langchain-ai/open_deep_research同类型的有Dify等框架编排的Deep Aplicativo de pesquisa.
2. pesquisa profunda aberta
O Open Deep Research é uma das muitas implementações de canalização. Ele desconstrói o processo do DeepSearch e oferece suporte a processos de pesquisa automáticos e semiautomáticos. Com suporte a uma variedade de interfaces de API, ele não só é capaz de recuperar informações da extranet, mas também de recuperar informações internas da empresa para análise resumida. Os usuários podem escolher diferentes plataformas de IA de acordo com suas necessidades, incluindo Google, OpenAI, Anthropic, DeepSeek, etc., e podem até mesmo acessar modelos locais para realizar pesquisas personalizadas.
Ele contém as três etapas do padrão Deep ReSearch:
- Recuperação de resultados de pesquisa: obtenha resultados de pesquisa abrangentes para termos de pesquisa especificados por meio da API de pesquisa personalizada do Google ou do Bing Search (configurável).
- Extração de conteúdo: o JinaAI é usado para extrair e processar o conteúdo dos resultados de pesquisa selecionados para garantir a precisão e a relevância das informações.
- Geração de relatórios: usando modelos de IA selecionados pelo usuário (por exemplo Gêmeos (GPT-4, Sonnet, etc.) gera relatórios detalhados sobre os resultados de pesquisa agrupados e o conteúdo extraído, fornecendo análises aprofundadas e percepções sobre prompts definidos pelo usuário.
Abaixo está o prompt usado para gerar o relatório:
You are a research assistant tasked with creating a comprehensive report based on multiple sources. The report should specifically address this request: "${userPrompt}" Your report should: 1. Have a clear title that reflects the specific analysis requested 2. Begin with a concise executive summary 3. Be organized into relevant sections based on the analysis requested 4. Use markdown formatting for emphasis, lists, and structure 5. Integrate information from sources naturally without explicitly referencing them by number 6. Maintain objectivity while addressing the specific aspects requested in the prompt 7. Compare and contrast the information from each source, noting areas of consensus or points of contention. 8. Showcase key insights, important data, or innovative ideas. Here are the source articles to analyze: ${articles .map( (article) => ` Title: ${article.title} URL: ${article.url} Content: ${article.content} --- ` ) .join('n')} Format the report as a JSON object with the following structure: { "title": "Report title", "summary": "Executive summary (can include markdown)", "sections": [ { "title": "Section title", "content": "Section content with markdown formatting" } ] } Use markdown formatting in the content to improve readability: - Use **bold** for emphasis - Use bullet points and numbered lists where appropriate - Use headings and subheadings with # syntax - Include code blocks if relevant - Use > for quotations - Use --- for horizontal rules where appropriate Important: Do not use phrases like "Source 1" or "According to Source 2". Instead, integrate the information naturally into the narrative or reference sources by their titles when necessary.
O relatório gerado pode ser baixado ou armazenado na base de conhecimento, mas não possui fontes de pesquisa de alta qualidade suficientes e carece de validação de pesquisa e processos iterativos, portanto, ainda há espaço para melhoria da qualidade, mas o processo geral é claro e adequado para melhoria e refinamento contínuos com base nisso.
Endereço do projeto: https://github.com/btahir/open-deep-research
O mesmo tipo também está disponível:
https://github.com/nickscamara/open-deep-research (4.3k)
https://github.com/mshumer/OpenDeepResearcher (2.2k)
https://github.com/assafelovic/gpt-researcher (19k)
https://github.com/zaidmukaddam/scira (6.4k)
https://github.com/jina-ai/node-DeepResearch (2.6k)
Entre eles, o node-DeepResearch para a implementação de pesquisa profunda de código aberto da jina, você pode usar diretamente sua API, e outras interfaces de modelo são tão simples de usar que podem ser rapidamente integradas aos seus próprios aplicativos.
curto
Como mencionado no início do artigo, a pesquisa profunda é o resultado da evolução da demanda do usuário por acesso de alta qualidade ao conteúdo, rompendo o casulo de informações das recomendações passivas, abandonando a pesquisa e o resumo tradicionais e, em seguida, pesquisando e resumindo o processo ineficiente, bem por meio da automação. De acordo com essa direção de desenvolvimento, o modo de aquisição de conteúdo sofrerá novas mudanças, o que será um grande desafio para a recomendação de pesquisa tradicional.