Framework de mecanismo de busca de rede multiagente baseado em grandes modelos de linguagem, simulando processos de pensamento humano para realizar pesquisa de IA profunda.
MindSearch - Estrutura de Motor de Busca de Múltiplos Agentes de IA de Código Aberto
Visão Geral do Projeto
MindSearch é uma estrutura de motor de busca de múltiplos agentes de código aberto baseada em Modelos de Linguagem Grandes (LLM), que visa simular o processo cognitivo humano na busca e integração de informações na web. O projeto foi desenvolvido conjuntamente pelo Shanghai AI Lab e pela Universidade de Ciência e Tecnologia da China, e oferece uma experiência de busca comparável à do Perplexity.ai Pro e SearchGPT.
Características Principais
🤔 Responde a Qualquer Pergunta
MindSearch resolve várias questões que você encontra na vida através da busca, sendo capaz de lidar com requisitos de consulta complexos.
📚 Exploração Aprofundada do Conhecimento
MindSearch fornece respostas mais amplas e aprofundadas, navegando por centenas de páginas da web. O sistema pode processar informações de mais de 300 páginas da web em paralelo em 3 minutos, o equivalente a 3 horas de trabalho de um especialista humano.
🔍 Caminho de Solução Transparente
MindSearch oferece o caminho de raciocínio, palavras-chave de busca e conteúdo completo, aumentando a credibilidade e a usabilidade das respostas.
💻 Múltiplas Interfaces de Usuário
Oferece aos usuários várias interfaces, incluindo React, Gradio, Streamlit e depuração local.
🧠 Processo de Construção de Grafo Dinâmico
MindSearch decompõe a consulta do usuário em nós de subproblemas em um grafo e expande o grafo gradualmente com base nos resultados da busca do WebSearcher.
Arquitetura Técnica
Componentes Principais
MindSearch adota uma arquitetura multi-agente, composta por dois componentes principais: WebPlanner e WebSearcher.
WebPlanner (Planejador Web)
- Atua como um planejador de alto nível, coordenando os passos de raciocínio e múltiplos WebSearchers.
- Decompõe consultas complexas do usuário em subproblemas atômicos como nós no grafo.
- Expande o grafo gradualmente com base nos resultados da busca do WebSearcher.
- Foca na decomposição e análise da consulta, sem ser perturbado por resultados de busca extensos.
WebSearcher (Pesquisador Web)
- Executa buscas web de granularidade fina e resume informações valiosas para o planejador.
- Realiza recuperação hierárquica de informações, processando cada subproblema.
- Inclui 4 passos principais: reescrita da consulta, agregação de conteúdo de busca, seleção detalhada da página e resumo final.
Fluxo de Trabalho
- Decomposição de Consulta: O WebPlanner decompõe consultas complexas em múltiplas subconsultas.
- Pesquisa Paralela: Múltiplos WebSearchers processam diferentes subconsultas em paralelo.
- Integração de Informações: O WebPlanner coleta e integra os resultados de cada WebSearcher.
- Expansão Dinâmica: Ajusta e expande dinamicamente o grafo de busca com base nos resultados da busca.
Implementação Técnica
Modelos Suportados
- Modelos de Código Aberto: InternLM2.5-7b-chat (especialmente otimizado)
- Modelos Proprietários: GPT-4, Claude, etc.
- Métodos de Implantação: Suporta implantação em servidor local, cliente e HuggingFace, entre outros.
Motores de Busca Suportados
- DuckDuckGo Search (não requer chave de API)
- Bing Search
- Brave Search
- Google Serper
- Tencent Search
Interfaces Frontend
- React: Interface web moderna
- Gradio: Interface Python simples de usar
- Streamlit: Interface amigável para ciência de dados
- Terminal: Interface de linha de comando
Instalação e Uso
Instalação Básica
git clone https://github.com/InternLM/MindSearch
cd MindSearch
pip install -r requirements.txt
Configuração do Ambiente
mv .env.example .env
# Edite o arquivo .env, adicione a chave de API e a configuração do modelo
Iniciar Serviço
python -m mindsearch.app --lang cn --model_format internlm_server --search_engine DuckDuckGoSearch --asy
Descrição dos Parâmetros
--lang
: Idioma do modelo,cn
para chinês,en
para inglês--model_format
: Formato do modelo, comointernlm_server
,gpt4
, etc.--search_engine
: Tipo de motor de busca--asy
: Implantação de agente assíncrono
Inicialização do Frontend React
# Configurar URL do backend
HOST="127.0.0.1"
PORT=8002
sed -i -r "s/target:\s*\"\"/target: \"${HOST}:${PORT}\"/" frontend/React/vite.config.ts
# Instalar dependências
cd frontend/React
npm install
npm start
Implantação Docker
O projeto fornece a ferramenta MSDL (MindSearch Docker Launcher) para simplificar o processo de implantação Docker:
cd MindSearch/docker
# Executar a ferramenta de configuração interativa
Suporta dois métodos de implantação: modelo local e modelo em nuvem, com suporte para aceleração por GPU.
Desempenho
Resultados de Benchmarking
Compara o desempenho de ChatGPT-Web, Perplexity.ai (Pro) e MindSearch em três aspectos: profundidade, amplitude e precisão da resposta gerada. A avaliação é baseada em 100 problemas reais cuidadosamente elaborados por especialistas humanos e pontuados por 5 especialistas.
Vantagens
- Aumento da Eficiência: Processa mais de 300 páginas da web em 3 minutos, o equivalente a 3 horas de trabalho de um especialista humano.
- Melhoria da Qualidade: Melhora significativamente a qualidade das respostas em termos de profundidade e amplitude.
- Competitividade: A qualidade das respostas do MindSearch, baseado no InternLM2.5-7B, é superior à do ChatGPT-Web e Perplexity.ai.
Destaques do Projeto
Vantagens do Código Aberto
- Totalmente de Código Aberto: Todo o código é de código aberto sob a licença Apache 2.0.
- Orientado pela Comunidade: Comunidade ativa no GitHub e atualizações contínuas.
- Personalização: Suporte para configuração flexível de múltiplos modelos e motores de busca.
Inovação Tecnológica
- Colaboração Multi-Agente: Arquitetura inovadora WebPlanner + WebSearcher.
- Construção de Grafo Dinâmico: Método de construção de grafo que simula o processo cognitivo humano.
- Processamento Paralelo: Recuperação e integração eficiente de informações em paralelo.
- Gerenciamento de Contexto: Mecanismo inteligente de gerenciamento de contexto longo.
Projetos Relacionados
MindSearch é um componente importante do ecossistema InternLM e colabora com os seguintes projetos:
- Lagent: Estrutura leve de agente LLM.
- AgentLego: Biblioteca de API de ferramentas multifuncionais.
- InternLM2.5: Modelo de linguagem grande otimizado.
- LMDeploy: Kit de ferramentas de implantação de modelos.
Conclusão
MindSearch representa um avanço significativo no campo dos motores de busca de IA, alcançando uma busca e integração de informações na web eficientes e precisas, simulando o processo cognitivo humano. Suas características de código aberto e excelente desempenho o tornam a escolha ideal para a construção de motores de busca de IA personalizados.