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의 동작을 커스터마이즈하기 위해 다음 인자를 사용할 수 있다:

인자타입설명
csvstring선택적. 검색하려는 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",
            ),
        ),
    )
)