CSVSearchTool
실험적 기능: 도구를 개선 중이므로 예상치 못한 동작이나 변경 사항이 발생할 수 있습니다.
이 도구는 CSV 파일 내용에서 RAG(Retrieval-Augmented Generation) 검색을 수행한다. 사용자는 지정된 CSV 파일의 내용에서 의미론적인 검색을 통해 원하는 정보를 찾을 수 있다. 이 기능은 전통적인 검색 방식이 비효율적일 수 있는 대용량 CSV 데이터셋에서 정보를 추출할 때 특히 유용하다. “Search”가 이름에 포함된 모든 도구, 예를 들어 CSVSearchTool은 다양한 데이터 소스를 검색하기 위해 설계된 RAG 도구이다.
crewai_tools 패키지를 설치한다.
pip install 'crewai[tools]'
from crewai_tools import CSVSearchTool
# 특정 CSV 파일로 도구를 초기화한다.
# 이 설정은 에이전트가 주어진 CSV 파일만 검색하도록 한다.
tool = CSVSearchTool(csv='path/to/your/csvfile.csv')
# 또는
# 특정 CSV 파일 없이 도구를 초기화한다.
# 에이전트는 실행 시 CSV 경로를 제공해야 한다.
tool = CSVSearchTool()
CSVSearchTool의 동작을 커스터마이즈하기 위해 다음 인자를 사용할 수 있다:
| 인자 | 타입 | 설명 |
|---|
| csv | string | 선택적. 검색하려는 CSV 파일의 경로. 특정 CSV 파일 없이 도구를 초기화한 경우 필수 인자이며, 그렇지 않으면 선택적이다. |
커스텀 모델과 임베딩
기본적으로 이 도구는 임베딩과 요약 모두 OpenAI를 사용한다. 모델을 커스터마이징하려면 다음과 같이 설정 딕셔너리를 활용할 수 있다:
tool = CSVSearchTool(
config=dict(
llm=dict(
provider="ollama", # 또는 google, openai, anthropic, llama2, ...
config=dict(
model="llama2",
# temperature=0.5,
# top_p=1,
# stream=true,
),
),
embedder=dict(
provider="google", # 또는 openai, ollama, ...
config=dict(
model="models/embedding-001",
task_type="retrieval_document",
# title="Embeddings",
),
),
)
)