Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de marcação de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL .
Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
MongoDB Branding Shape
Click here >
Menu Docs

Integrar MongoDB com CrewAI

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.

Para concluir um tutorial usando CrewAI e MongoDB, consulte Criar um aplicativo Agentic RAG com CrewAI e MongoDB.

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).

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.

Para aprender mais sobre queries de pesquisa vetorial, consulte Executar queries de Vector Search.

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],
)

Use estes parâmetros para configurar a ferramenta de pesquisa vetorial.

Parâmetro
necessidade
Descrição

connection_string

Obrigatório

A string de conexão para sua instância MongoDB . Para saber mais sobre como localizar sua string de conexão, consulte Conectar-se a um cluster por meio de bibliotecas de clientes.

Para um sistema local, sua string de conexão deve usar o seguinte formato:

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

Para saber mais sobre connection strings, consulte Connection strings.

database_name

Obrigatório

O nome do banco de MongoDB database.

collection_name

Obrigatório

O nome da coleção MongoDB .

query_config

Opcional

Uma instância de MongoDBVectorSearchConfig para personalizar a query de pesquisa vetorial.

embedding_model

Opcional

O modelo de incorporação OpenAI usado para gerar incorporações vetoriais. Padrão é text-embedding-3-large.

vector_index_name

Opcional

O nome do índice do MongoDB Vector Search . Padrão é vector_index.

text_key

Opcional

O campo do documento que contém o conteúdo de texto. Padrão é text.

embedding_key

Opcional

O campo do documento onde a incorporação do vetor é armazenada. Padrão é embedding.

dimensions

Opcional

O número de dimensões para a incorporação do vetor. Padrão é 1536.

Use esses parâmetros para personalizar a query de pesquisa vetorial .

Parâmetro
necessidade
Descrição

limit

Opcional

O número máximo de documentos a retornar. O padrão é 4.

pre_filter

Opcional

Uma expressão $match do MongoDB para filtrar documentos antes da pesquisa vetorial.

post_filter_pipeline

Opcional

Uma lista de estágios de agregação MongoDB a serem aplicados após a pesquisa vetorial.

oversampling_factor

Opcional

Um multiplicador para limit para determinar o número de candidatos (numCandidates) considerados durante a pesquisa. O padrão é 10.

include_embeddings

bool

Se verdadeiro, a incorporação do vetor de cada resultado será incluída na saída. Padrão é False.

Para obter mais informações, consulte a Docs da Ferramenta de pesquisa vetorial MongoDB CrewAI

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>")

Use estes parâmetros para configurar o índice do vetor.

Parâmetro
necessidade
Descrição

dimensions

Obrigatório

O número de dimensões para o vetor de incorporação.

relevance_score_fn

Opcional

A métrica de similaridade. euclidean, cosine ou dotProduct. O padrão é cosine.

auto_index_timeout

Opcional

O tempo, em segundos, para aguardar até que o índice fique pronto. Padrão é 15.

Para saber mais sobre índices de pesquisa, consulte Como indexar campos para pesquisa vetorial.

Use esses parâmetros para configurar como o MongoDB ingere documentos.

Parâmetro
necessidade
Descrição

texts

Obrigatório

Array de documentos de texto iteráveis para adicionar.

metadatas

Opcional

Uma lista de documentos de metadados, um para cada documento de texto.

ids

Opcional

Uma lista de IDs exclusivos para cada documento.

batch_size

Opcional

O número de documentos a processar e inserir em um único lote. Padrão é 100.