Neste tutorial, você cria uma equipe que inclui um agente de IA que pode analisar documentos PDF usando a Ferramenta de Vector Search do MongoDB .
Para saber mais sobre a integração do MongoDB CrewAI, consulte Integrar MongoDB com CrewAI.
Pré-requisitos
Para concluir este tutorial, você deve ter o seguinte:
CrewAI instalada. Para saber mais, consulte Instalação.
Uma das seguintes opções:
Um Atlas cluster executando o MongoDB versão 6.0.11, 7.0.2 ou posterior. Garanta que seu endereço IP esteja incluído na lista de acessodo seu projeto Atlas.
Um sistema local do Atlas criado utilizando o Atlas CLI. Para saber mais, consulte Implementar um Atlas Cluster Local.
Uma chave de API da OpenAI. Você deve ter uma conta da OpenAI com créditos disponíveis para solicitações de API. Para aprender mais sobre como registrar uma conta OpenAI, consulte o website de API OpenAI.
Observação
A compatibilidade da versão do Python pode variar da documentação oficial do CrewAI. No momento da escrita, o pacote crewai-tools
depende do embedchain
, que exige uma versão do Python entre 3.9 e 3.13.2 (inclusive).
Construa e Execute a Equipe
Conclua as seguintes etapas para formar e executar a equipe:
Configure o ambiente.
Execute os seguintes comandos no seu terminal para criar um novo diretório denominado
crewai-mongodb-project
e instalar as dependências necessárias:mkdir crewai-mongodb-project cd crewai-mongodb-project pip install 'crewai-tools[mongodb]' python-dotenv langchain-community No seu projeto, crie um arquivo
.env
e adicione as seguintes linhas:OPENAI_API_KEY="<openai-api-key>" MONGODB_URI="<connection-string>" Observação
Substitua
<connection-string>
pela string de conexão para seu Atlas cluster ou sistema local do Atlas .Sua string de conexão deve usar o seguinte formato:
mongodb+srv://<db_username>:<db_password>@<clusterName>.<hostname>.mongodb.net Para saber mais, consulte Conectar a um cluster via drivers.
Sua string de conexão deve usar o seguinte formato:
mongodb://localhost:<port-number>/?directConnection=true Para saber mais, consulte Connection strings.
Forme a equipe.
Crie um arquivo chamado main.py
em seu projeto e cole o seguinte 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 faz o seguinte:
Carrega um PDF dos anúncios da IA do MongoDB , ingere o texto de cada página no banco de dados
crewai_db
e na collectiontest
e cria um índice do MongoDB Vector Search na collection.Define parâmetros adicionais de query de pesquisa vetorial e executa uma query de teste rápido.
Define um agente CrewAI com a ferramenta de pesquisa vetorial e descreve sua função, objetivo e histórico.
Define uma tarefa para o agente pesquisar e resumir os anúncios recentes de IA do MongoDB.
Reúne a equipe especificando o agente e a tarefa. Em seguida, ele executa a equipe e imprime os resultados.
Execute o arquivo.
Execute o seguinte comando para executar o 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.