AI 에이전트의 경우: 문서 인덱스는 https://www.mongodb.com/ko-kr/docs/llms.txt에서 사용할 수 있으며, 모든 페이지의 마크다운 버전은 어떤 URL 경로에 .md를 추가하여 사용할 수 있습니다.
Docs Menu

MongoDB 와 CrewAI 통합

MongoDB와 CrewAI 를 통합하여 특수한 역할, 도구 및 작업을 통해 자율적인 AI 에이전트와 멀티 에이전트 애플리케이션을 빌드 할 수 있습니다. 구체적으로, CrewAI를 위한 MongoDB 벡터 검색 도구를 활용하여 팀원 의 AI 에이전트가 데이터에서 관련 정보를 조회하여 작업을 완료하도록 활성화할 수 있습니다.

CrewAI 및 MongoDB 사용하여 튜토리얼을 완료하려면 CrewAI 및 MongoDB 사용하여 에이전트적 RAG 애플리케이션 빌드하기를 참조하세요.

CrewAI용 MongoDB 벡터 검색 도구를 설치하려면 Python 패키지 관리자에 따라 다음 명령 중 하나를 실행 .

pip install 'crewai-tools[mongodb]'
uv add crewai-tools --extra mongodb

참고

Python 버전 호환성은 CrewAI의 공식 문서와 다를 수 있습니다. 작성 시점에서 crewai-tools 패키지 embedchain에 종속되며, 이를 위해서는 3.9 에서 3.13.2 사이의 Python 버전이 필요합니다. (포함).

MongoDB 벡터 검색 도구를 사용하려면 초기화한 다음 에이전트에 전달합니다.

도구를 초기화하려면 다음을 지정해야 합니다.

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

선택적으로 도구의 생성자에 MongoDBVectorSearchConfig 인스턴스 를 지정하여 도구에 대한 벡터 검색 쿼리 사용자 지정할 수 있습니다.

벡터 검색 쿼리에 대해 자세히 학습 보려면 벡터 검색 쿼리 실행을 참조하세요.

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

이 매개변수를 사용하여 벡터 검색 도구를 구성합니다.

Parameter
필요성
설명

connection_string

필수 사항

MongoDB 인스턴스 의 연결 문자열 . 연결 문자열 찾는 방법에 대해 자세히 학습하려면 클라이언트 라이브러리를 통해 클러스터에 연결하기를 참조하세요.

로컬 배포서버 의 경우 연결 문자열 다음 형식을 사용해야 합니다.

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

연결 문자열에 대해 자세히 학습 연결 문자열을 참조하세요.

database_name

필수 사항

MongoDB database 의 이름입니다.

collection_name

필수 사항

MongoDB 컬렉션 의 이름입니다.

query_config

옵션

벡터 검색 쿼리 사용자 지정하기 위한 MongoDBVectorSearchConfig 인스턴스 입니다.

embedding_model

옵션

벡터 임베딩을 생성하는 데 사용되는 OpenAI 임베딩 모델입니다. 기본값은 text-embedding-3-large입니다.

vector_index_name

옵션

MongoDB Vector Search 인덱스 의 이름입니다. 기본값은 vector_index입니다.

text_key

옵션

텍스트 콘텐츠가 포함된 문서 필드 . 기본값은 text입니다.

embedding_key

옵션

벡터 임베딩이 저장되는 문서 필드 . 기본값은 embedding입니다.

dimensions

옵션

벡터 임베딩을 위한 차원 수입니다. 기본값은 1536입니다.

이러한 매개변수를 사용하여 벡터 검색 쿼리 맞춤설정할 수 있습니다.

Parameter
필요성
설명

limit

옵션

반환할 문서의 최대 개수. 기본값은 4입니다.

pre_filter

옵션

벡터 검색 전에 문서를 필터하다 하는 MongoDB $match 표현식 .

post_filter_pipeline

옵션

벡터 검색 후 적용 할 MongoDB 집계 단계 목록입니다.

oversampling_factor

옵션

검색 중에 고려되는 후보 수(numCandidates)를 결정하기 위한 limit 에 대한 승수입니다. 기본값은 10입니다.

include_embeddings

부울

참이면 각 결과의 벡터 임베딩이 출력에 포함됩니다. 기본값은 False입니다.

자세한 내용은 CrewAI MongoDB Vector Search 도구 Docs참조하세요.

MongoDBVectorSearchTool 클래스는 다음 메서드를 제공합니다.

  • add_texts(): 지정된 MongoDB 컬렉션 에 텍스트 문서를 추가합니다.

  • create_vector_search_index(): 컬렉션 에 벡터 검색 인덱스 만듭니다.

  • run(): 데이터에 대해 벡터 검색 쿼리 실행합니다.

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

이러한 매개변수를 사용하여 벡터 인덱스 구성합니다.

Parameter
필요성
설명

dimensions

필수 사항

임베딩 벡터의 차원 수입니다.

relevance_score_fn

옵션

유사성 메트릭입니다. euclidean, cosine 또는 dotProduct입니다. 기본값은 cosine입니다.

auto_index_timeout

옵션

인덱스 준비될 때까지 기다리는 시간(초)입니다. 기본값은 15입니다.

벡터 검색 인덱스에 대해 자세히 학습하려면 벡터 검색을 위해 필드를 인덱싱하는 방법을 참조하세요.

이 매개변수를 사용하여 MongoDB 문서를 수집하는 방법을 구성합니다.

Parameter
필요성
설명

texts

필수 사항

추가할 반복 가능한 텍스트 문서의 배열입니다.

metadatas

옵션

각 텍스트 문서 하나씩 있는 메타데이터 문서 목록입니다.

ids

옵션

각 문서 의 고유 ID 목록입니다.

batch_size

옵션

단일 배치 에서 프로세스 하고 삽입할 문서 수입니다. 기본값은 100입니다.

이 페이지의 내용