CodeDocsSearchTool

실험적 기능: 도구를 개선 중이므로 예상치 못한 동작이나 변경 사항이 발생할 수 있다.

설명

CodeDocsSearchTool은 코드 문서 내에서 의미 기반 검색을 수행하는 강력한 RAG(Retrieval-Augmented Generation) 도구이다. 이 도구는 사용자가 코드 문서 내에서 특정 정보나 주제를 효율적으로 찾을 수 있게 해준다. 초기화 시 docs_url을 제공하면 해당 문서 사이트로 검색 범위를 좁힌다. 반면 특정 docs_url 없이 사용하면 실행 과정에서 알게 되거나 발견한 다양한 코드 문서를 광범위하게 검색한다. 이로써 다양한 문서 검색 요구에 유연하게 대응할 수 있다.

설치

CodeDocsSearchTool을 사용하려면 먼저 pip를 통해 crewai_tools 패키지를 설치한다:

pip install 'crewai[tools]'

예제

코드 문서 내에서 검색을 수행하려면 다음과 같이 CodeDocsSearchTool을 사용한다:

from crewai_tools import CodeDocsSearchTool

# 코드 문서 내용을 검색하려면
# URL이 알려져 있거나 실행 중에 발견된 경우:
tool = CodeDocsSearchTool()

# 또는

# 특정 문서 사이트에 대한 검색을 집중하려면
# 해당 URL을 제공한다:
tool = CodeDocsSearchTool(docs_url='https://docs.example.com/reference')

https://docs.example.com/reference’를 대상 문서 URL로 대체하고 ‘How to use search tool’을 필요에 맞는 검색 쿼리로 변경한다.

인자

CodeDocsSearchTool의 동작을 커스터마이징하기 위해 다음 매개변수를 사용할 수 있다:

인자타입설명
docs_urlstring선택 사항. 검색할 코드 문서의 URL을 지정한다.

커스텀 모델과 임베딩

기본적으로 이 도구는 임베딩과 요약 모두에 OpenAI를 사용한다. 모델을 커스터마이징하려면 다음과 같이 설정 딕셔너리를 활용할 수 있다:

tool = CodeDocsSearchTool(
    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",
            ),
        ),
    )
)