DirectorySearchTool

실험적 기능: DirectorySearchTool은 지속적으로 개발 중이다. 기능과 동작은 계속 발전할 수 있으며, 도구를 개선하는 과정에서 예기치 않은 동작이 발생할 수 있다.

기능 설명

DirectorySearchTool은 특정 디렉터리 내부의 콘텐츠를 대상으로 의미 기반 검색을 가능하게 한다. Retrieval-Augmented Generation (RAG) 방법론을 활용해 파일 간 효율적인 탐색을 지원한다. 유연성을 고려해 설계되었으며, 사용자가 런타임에 검색 디렉터리를 동적으로 지정하거나 초기 설정 단계에서 고정된 디렉터리를 설정할 수 있다.

설치

DirectorySearchTool을 사용하려면 먼저 crewai_tools 패키지를 설치한다. 터미널에서 다음 커맨드를 실행한다:

pip install 'crewai[tools]'

초기화 및 사용법

crewai_tools 패키지에서 DirectorySearchTool을 임포트하여 시작한다. 디렉터리를 지정하지 않고 초기화하면, 실행 시점에 검색 디렉터리를 설정할 수 있다. 또는 미리 정의된 디렉터리로 초기화할 수도 있다.

from crewai_tools import DirectorySearchTool

# 실행 시점에 디렉터리 지정
tool = DirectorySearchTool()

# 고정된 디렉터리 검색
tool = DirectorySearchTool(directory='/path/to/directory')

인자

  • directory: 탐색할 디렉터리를 지정하는 문자열 인자. 초기화 시 선택 사항이지만, 초기에 설정하지 않았다면 탐색 시 필수로 지정해야 한다.

커스텀 모델과 임베딩

DirectorySearchTool은 기본적으로 OpenAI를 사용해 임베딩과 요약 작업을 수행한다. 이 설정을 커스터마이징할 수 있는 옵션을 제공해, 모델 프로바이더와 구성을 변경할 수 있다. 이를 통해 고급 사용자에게 더 큰 유연성을 제공한다.

tool = DirectorySearchTool(
    config=dict(
        llm=dict(
            provider="ollama", # ollama, google, anthropic, llama2 등 옵션 제공
            config=dict(
                model="llama2",
                # 추가 구성 옵션
            ),
        ),
        embedder=dict(
            provider="google", # 또는 openai, ollama, ...
            config=dict(
                model="models/embedding-001",
                task_type="retrieval_document",
                # title="Embeddings",
            ),
        ),
    )
)