Motor de búsqueda con RAG y MCP
Un potente motor de búsqueda que combina LangChain, Model Context Protocol (MCP), Retrieval-Augmented Generation (RAG) y Ollama para crear un sistema de IA agente capaz de buscar en la web, recuperar información y proporcionar respuestas relevantes.
Características
Capacidades de búsqueda web utilizando la API de Exa
Recuperación de contenido web mediante FireCrawl
RAG (Recuperación-Generación Aumentada) para una extracción de información más relevante
Servidor MCP (Protocolo de contexto de modelo) para la invocación de herramientas estandarizadas
Soporte tanto para LLM locales a través de Ollama como para LLM basados en la nube a través de OpenAI
Arquitectura flexible que admite búsqueda directa, búsqueda basada en agente o modo servidor
Manejo integral de errores y alternativas elegantes
Python 3.13+ con sugerencias de tipos
Procesamiento asincrónico para operaciones web eficientes
Arquitectura
Este proyecto integra varios componentes clave:
Módulo de búsqueda : utiliza la API Exa para buscar en la web y FireCrawl para recuperar contenido
Módulo RAG : integra documentos, los divide en fragmentos y los almacena en un almacén de vectores FAISS
Servidor MCP : proporciona un protocolo estandarizado para la invocación de herramientas
Agente : agente basado en LangChain que utiliza las capacidades de búsqueda y RAG
Estructura del proyecto
Empezando
Prerrequisitos
Python 3.13+
Poesía (opcional, para desarrollo)
Claves API para Exa y FireCrawl
(Opcional) Ollama instalado localmente
(Opcional) Clave API de OpenAI
Instalación
Clonar el repositorio
Instalar dependencias
Cree un archivo
.env
(utilice docs/env_template.md como referencia)
Uso
La aplicación tiene tres modos principales de funcionamiento:
1. Modo de búsqueda directa (predeterminado)
2. Modo agente
3. Modo de servidor MCP
También puede especificar un host y un puerto personalizados:
Usando Ollama (opcional)
Para utilizar Ollama para incrustaciones locales y capacidades LLM:
Instalar Ollama: https://ollama.ai/
Extraer un modelo:
Establezca las variables de entorno adecuadas en su archivo
.env
:
Desarrollo
Este proyecto sigue estas mejores prácticas:
Formato de código : Negro e isort para un estilo de código consistente
Comprobación de tipos : mypy para la comprobación de tipos estáticos
Linting : flake8 para la calidad del código
Pruebas : pytest para pruebas unitarias y de integración
Gestión del entorno : python-dotenv para gestionar variables de entorno
Registro : registro estructurado tanto en la consola como en el archivo
Licencia
Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.
Expresiones de gratitud
LangChain para el marco del agente
Protocolo de contexto del modelo para la invocación de herramientas estandarizadas
Ollama para capacidades LLM locales
Exa para capacidades de búsqueda web
FireCrawl para la recuperación de contenido web
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Proporciona un protocolo estandarizado para la invocación de herramientas, lo que permite que un sistema de IA busque en la web, recupere información y proporcione respuestas relevantes a través de la integración con LangChain, RAG y Ollama.
Related MCP Servers
- -securityFlicense-qualityEnables seamless AI integration via Ollama's Deepseek model, providing protocol compliance and automatic configuration for clean AI-driven interactions.
- AsecurityFlicenseAqualityA Model Context Protocol server that enables AI assistants to perform real-time web searches, retrieving up-to-date information from the internet via a Crawler API.Last updated -124217
- -securityFlicense-qualityA simple Model Context Protocol server that enables searching and retrieving relevant documentation snippets from Langchain, Llama Index, and OpenAI official documentation.Last updated -
- -securityFlicense-qualityAn integration that enables AI assistants to interact with network data through a standardized protocol, providing AI-ready tools and interfaces for network automation and management.Last updated -15