Você pode integrar o MongoDB ao CrewAI para criar agentes de IA autônomos e aplicativos de vários agentes com funções, FERRAMENTAS e tarefas especializadas. Especificamente, você pode aproveitar a Ferramenta de Vector Search do MongoDB para CrewAI para permitir que os agentes de IA em suas equipes recuperem informações relevantes de seus dados para ajudá-los a concluir as tarefas.
Começar
Para concluir um tutorial usando CrewAI e MongoDB, consulte Criar um aplicativo Agentic RAG com CrewAI e MongoDB.
Instalação
Para instalar a Ferramenta de Vector Search MongoDB para CrewAI, execute um dos seguintes comandos, dependendo do seu gerenciador de pacote Python:
pip install 'crewai-tools[mongodb]'
uv add crewai-tools --extra mongodb
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 de embedchain, que exige uma versão do Python entre 3.9 e 3.13.2 (inclusive).
Uso
Para usar a Ferramenta de Vector Search MongoDB, inicialize-a e passe-a para um agente.
Para inicializar a ferramenta, você deve especificar o seguinte:
from crewai_tools import MongoDBVectorSearchTool tool = MongoDBVectorSearchTool( connection_string="<connection-string>", database_name="<database-name>", collection_name="<collection-name>", # Other optional parameters... ) # To test the tool print(tool.run(query="<test-query>")) # To use the tool in an agent rag_agent = Agent( name="rag_agent", role="You are a helpful assistant that can answer questions with the help of the MongoDBVectorSearchTool.", goal="...", backstory="...", tools=[tool], )
Opcionalmente, você pode personalizar a query de pesquisa vetorial para a ferramenta especificando uma instância do MongoDBVectorSearchConfig para o construtor da ferramenta.
To learn more about vector search queries, see Run Vector Search ANN and ENN Queries.
from crewai_tools import MongoDBVectorSearchConfig, MongoDBVectorSearchTool # Custom query configuration query_config = MongoDBVectorSearchConfig( limit = 10, oversampling_factor = 2, ) tool = MongoDBVectorSearchTool( database_name="example_database", collection_name="example_collection", connection_string="<connection_string>", query_config=query_config, # Other optional parameters... ) # To test the tool print(tool.run(query="<test-query>")) # To use the tool in an agent rag_agent = Agent( name="rag_agent", role="You are a helpful assistant that can answer questions with the help of the MongoDBVectorSearchTool.", goal="...", backstory="...", tools=[tool], )
Métodos
A classe MongoDBVectorSearchTool fornece os seguintes métodos:
add_texts(): adiciona documentos de texto à coleção MongoDB especificada.create_vector_search_index(): cria um índice de pesquisa vetorial na coleção.run(): executa uma query de pesquisa vetorial em seus dados.
import os from crewai_tools import MongoDBVectorSearchTool tool = MongoDBVectorSearchTool( connection_string="<connection-string>", database_name="<database-name>", collection_name="<collection-name>" ) # Example of loading text content from a local folder texts = [] for fname in os.listdir("knowledge"): path = os.path.join("knowledge", fname) if os.path.isfile(path): with open(path, "r", encoding="utf-8") as f: texts.append(f.read()) # Method to add documents to the vector store tool.add_texts(texts) # Method to create the vector search index tool.create_vector_search_index(dimensions=<number-of-dimensions>) # Method to test the tool by running a vector search query tool.run(query="<search-query>")