Docs Menu
Docs Home
/ /

Compilar una aplicación Agentic RAG con CrewAI y MongoDB

En este tutorial, construirás un tripulación que incluye un agente de IA que puede analizar documentos PDF mediante la herramienta de búsqueda vectorial MongoDB.

Para obtener más información sobre la integración de MongoDB CrewAI, consulte Integre MongoDB con CrewAI.

Para completar este tutorial, debes tener lo siguiente:

  • CrewAI instalado. Para obtener más información, consulta Instalación.

  • Uno de los siguientes tipos de clúster de MongoDB:

    • Un clúster Atlas que ejecute MongoDB 6.0.11 versión, 7.0.2 o posterior. Asegúrese de que su Ladirección IP está incluida en la lista de acceso de su proyecto Atlas.

    • Una implementación local de Atlas creada usando Atlas CLI. Para obtener más información, consulta Crear una Implementación local de Atlas.

    • Un clúster de MongoDB Community o Enterprise con Search y Vector Search instalados.

  • Una llave de API de OpenAI. Debes tener una cuenta de OpenAI con créditos disponibles para las solicitudes de API. Para obtener más información sobre cómo registrar una cuenta de OpenAI, consulta el sitio web de la API de OpenAI.

Nota

La compatibilidad de las versiones de Python puede variar con respecto a la documentación oficial de CrewAI. Al momento de escribir este artículo, crewai-tools El paquete depende de embedchain, que requiere una versión de Python entre 3.9 y 3.13.2 (inclusive).

Complete los siguientes pasos para construir y ejecutar la tripulación:

1
  1. Ejecute los siguientes comandos en su terminal para crear un nuevo directorio llamado crewai-mongodb-project e instalar las dependencias necesarias:

    mkdir crewai-mongodb-project
    cd crewai-mongodb-project
    pip install 'crewai-tools[mongodb]' python-dotenv langchain-community
  2. En su proyecto, cree un archivo .env y agregue las siguientes líneas:

    OPENAI_API_KEY="<openai-api-key>"
    MONGODB_URI="<connection-string>"

    Nota

    Se debe sustituir <connection-string> por la cadena de conexión del clúster Atlas o de la implementación local de Atlas.

    Su cadena de conexión debe usar el siguiente formato:

    mongodb+srv://<db_username>:<db_password>@<clusterName>.<hostname>.mongodb.net

    Para obtener más información,consulte Conectarse a un clúster a través de bibliotecas de cliente.

    Su cadena de conexión debe usar el siguiente formato:

    mongodb://localhost:<port-number>/?directConnection=true

    Para obtener más información, consulta Cadenas de conexión.

2

Crea un archivo llamado main.py en tu proyecto y pega el siguiente código:

from crewai import Agent, Task, Crew, Process, LLM
from crewai_tools import MongoDBVectorSearchTool, MongoDBVectorSearchConfig
from langchain_community.document_loaders import PyPDFLoader
from dotenv import load_dotenv
import os, time
load_dotenv()
def rag_agent():
"""
An agent that uses RAG to analyze recent MongoDB announcements.
"""
# Configure the vector search tool
tool = MongoDBVectorSearchTool(
connection_string = os.environ.get("MONGODB_URI"),
database_name = "crewai_db",
collection_name = "test"
)
# Connect to MongoDB collection and delete all documents
coll = tool._coll
coll.delete_many({})
# Load PDF from URL and insert documents into MongoDB
print("Loading MongoDB AI announcements PDF...")
loader = PyPDFLoader("https://investors.mongodb.com/node/13556/pdf")
tool.add_texts([i.page_content for i in loader.load()])
# Create the vector search index
print("Creating vector search index...")
if not any([ix["name"] == "vector_index" for ix in coll.list_search_indexes()]):
tool.create_vector_search_index(dimensions=1536, auto_index_timeout=60)
# Wait for index initial sync to complete
n_docs = coll.count_documents({})
start = time.monotonic()
while time.monotonic() - start <= 60:
if len(tool._run("test query")) == n_docs:
print("Index is ready for queries")
break
else:
time.sleep(1)
# Specify a custom vector search query (optional)
tool.query_config = MongoDBVectorSearchConfig(
limit=3, score_threshold=0.75
)
# Test the tool
print("Testing the tool...")
print(tool.run(query="AI announcements"))
# Assemble a crew by specifying an agent and its task
researcher = Agent(
role="MongoDB Announcement Researcher",
goal="Find and extract key information about MongoDB's recent announcements and developments",
backstory="You're specialized in analyzing business and technology announcements",
verbose=False,
tools=[tool],
llm=LLM(model="gpt-4o"), # Customize to your LLM of choice
)
research_task = Task(
description="Research MongoDB's recent AI announcements and developments",
expected_output="A summary of MongoDB's latest AI initiatives, partnerships, and features",
agent=researcher,
)
crew = Crew(
agents=[researcher],
tasks=[research_task],
process=Process.sequential,
verbose=False
)
# Get the results and print the analysis
print("Running the crew...")
result = crew.kickoff()
print("\n" + "="*50 + "\nMONGODB AI ANNOUNCEMENTS ANALYSIS:\n" + "="*50)
print(result.raw)
return result
if __name__ == "__main__":
rag_agent()

Este script hace lo siguiente:

  • Carga un PDF de anuncios de MongoDB AI, ingiere el texto de cada página en la base de datos crewai_db y la colección test, y crea un índice de búsqueda vectorial de MongoDB en la colección.

  • Define parámetros de consulta de búsqueda vectorial adicionales y realiza una consulta de prueba rápida.

  • Define un agente de CrewAI con la herramienta de búsqueda vectorial y describe su función, objetivo e historia.

  • Define una tarea para que el agente investigue y resuma los anuncios de IA recientes de MongoDB.

  • Reúne a la tripulación especificando el agente y la tarea. Luego, la ejecuta e imprime los resultados.

3

Ejecuta el siguiente comando para ejecutar el script:

uv run main.py
Loading MongoDB AI announcements PDF...
Creating vector search index...
Testing the tool...
Using Tool: MongoDBVectorSearchTool
[{"_id": {"$oid": "689baa5e6907244d329d0586"}, "text": "MongoDB Strengthens Foundation for AI Applications with Product Innovations and Expanded\nPartner Ecosystem\nAugust 11, 2025\nNew Voyage AI models introduce context awareness and set new accuracy benchmarks\u2014at industry-leading price-performance\nMongoDB's AI ecosystem expands AI framework, agentic evaluation, and agentic workflow orchestration capabilities\nApproximately 8,000 startups, including Laurel and Mercor, have chosen MongoDB to help build their AI projects ... (truncated)
Running the crew...
==================================================
MONGODB AI ANNOUNCEMENTS ANALYSIS:
==================================================
**MongoDB Strengthens Foundation for AI Applications with Product Innovations and Expanded Partner Ecosystem**
**August 11, 2025**
MongoDB announced a range of product innovations and AI partner ecosystem expansions at Ai4 2025 to make it faster and easier for customers to build accurate, trustworthy, and reliable AI applications at scale. The company is providing industry-leading embedding models and a fully integrated, AI-ready data platform, alongside assembling a world-class ecosystem of AI partners to deliver reliable and cost-effective AI solutions.
**Key Highlights from AI Initiatives:**
### AI Innovations:
- **Voyage AI Models**:
- MongoDB introduced context-aware embedding models, achieving better retrieval accuracy without requiring metadata hacks or pipeline gymnastics.
- New model variants, such as **voyage-context-3**, **voyage-3.5**, and **voyage-3.5-lite**, deliver groundbreaking retrieval accuracy at competitive price-performance metrics.
- **Instruction-following reranking models** like `rerank-2.5` and `rerank-2.5-lite` enable developers to improve retrieval accuracy further.
- **MongoDB MCP Server**:
- Launched as a public preview, the MongoDB Model Context Protocol (MCP) Server enables direct integration with popular tools like GitHub CoPilot in Visual Studio Code, Anthropic's Claude, Cursor, and Windsurf.
- Thousands of users have been actively building applications leveraging this new protocol.
### Partnerships:
MongoDB expanded its AI partner ecosystem to provide customers with streamlined workflows and reliable AI applications:
- **Galileo**:
- A reliability and observability platform for AI applications that offers continuous evaluations and monitoring for MongoDB-based projects.
- **Temporal**:
- A Durable Execution platform that empowers developers to orchestrate scalable, resilient AI use cases like retrieval-augmented generation (RAG) systems and context engineering pipelines. Temporal ensures that AI solutions can operate smoothly across distinct failures and interactions.
- **LangChain**:
- MongoDB's partnership with LangChain has facilitated advancements like natural language querying, agent-based system creation, and **GraphRAG** for enhanced LLM transparency. Developers can build sophisticated AI systems deploying real-time, proprietary MongoDB data.
### Developer Engagement:
- MongoDB has seen substantial adoption among both startups and enterprises:
- Approximately 8,000 startups selected MongoDB for AI projects, including Laurel (timekeeping startup) and Mercor (AI-based talent matching).
- Large enterprises like Vonage, LGU+, and The Financial Times also rely on MongoDB for scalable AI infrastructure.
### Thought Leadership:
Andrew Davidson, SVP of Products at MongoDB, emphasized the importance of robust database systems in the era of AI:
- "Modern AI applications require a database combining advanced capabilities such as integrated vector search and embedding models. By consolidating the AI stack, MongoDB is empowering developers to deliver innovative AI solutions faster than ever."
Fred Roma, SVP of Engineering, further highlighted the challenge of scaling AI due to complexity in fine-tuning models, high expenses, and integration barriers:
- "MongoDB's focus remains on designing models that achieve better functionality, reliability, and affordability for developers leveraging AI applications."
### About MongoDB:
MongoDB, headquartered in New York, provides a unified database platform powering next-gen applications across industries. Its comprehensive platform integrates operational data, search, real-time analytics, and AI-powered retrieval, supporting millions of developers globally. MongoDB boasts over 50,000 customers and supports a growing AI application ecosystem.
For more information on MongoDB's AI endeavors, visit [mongodb.com](https://www.mongodb.com).
### Sources:
Original announcement and additional multimedia available at [PRNewswire](https://www.prnewswire.com/news-releases/mongodb-strengthens-foundation-for-ai-applications-with-product-innovations-and-expanded-partner-ecosystem-302526003.html).
Contact: **press@mongodb.com** for press inquiries.

Volver

CrewAI

En esta página