코드 문서 RAG 검색 도구

코드 문서 RAG 검색 도구 (CodeDocsSearchTool)

CrewAI의 CodeDocsSearchTool은 코드 문서 안에서 시맨틱 검색(의미 기반 검색)을 수행하는 강력한 RAG(Retrieval-Augmented Generation) 도구예요. 초기화 시 docs_url을 주면 특정 문서 사이트로 검색 범위를 한정하고, URL 없이 쓰면 실행 중 알게 되거나 발견한 다양한 코드 문서를 넓게 검색해서 여러 문서 검색 요구에 유연하게 대응할 수 있답니다.

출처: 문서

본문

CodeDocsSearchTool은 코드 문서 내에서 시맨틱 검색을 수행하도록 설계된 강력한 RAG(Retrieval-Augmented Generation) 도구입니다. 코드 문서 안에서 특정 정보나 주제를 효율적으로 찾을 수 있게 해줘요. 초기화 시 docs_url을 제공하면 도구가 해당 특정 문서 사이트로 검색을 한정합니다. 반대로 특정 docs_url 없이 사용하면 실행 과정에서 알려지거나 발견된 광범위한 코드 문서를 검색하므로, 다양한 문서 검색 요구에 유연하게 대응할 수 있어요.

참고: 실험적(Experimental) — 아직 도구 개선 작업이 진행 중이라, 예상치 못한 동작이나 향후 변경이 있을 수 있어요.

설치 (Installation)

CodeDocsSearchTool을 사용하려면 먼저 pip로 crewai_tools 패키지를 설치하세요.

pip install 'crewai[tools]'

예시 (Example)

코드 문서 안에서 검색하려면 CodeDocsSearchTool을 다음과 같이 사용하세요.

from crewai_tools import CodeDocsSearchTool

# 실행 중 URL이 알려지거나 발견되면
# 어떤 코드 문서 콘텐츠든 검색:
tool = CodeDocsSearchTool()

# OR

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

'https://docs.example.com/reference'를 대상 문서 URL로, 'How to use search tool' 같은 검색어를 필요에 맞게 바꿔 사용하세요.

인자 (Arguments)

다음 파라미터로 CodeDocsSearchTool의 동작을 커스터마이즈할 수 있습니다.

Argument Type Description
docs_url string 선택(Optional). 검색할 코드 문서의 URL.

커스텀 모델과 임베딩 (Custom model and embeddings)

기본적으로 이 도구는 임베딩과 요약 모두에 OpenAI를 사용해요. 모델을 커스터마이즈하려면 다음과 같이 config 딕셔너리를 사용하면 됩니다.

tool = CodeDocsSearchTool(
    config=dict(
        llm=dict(
            provider="ollama", # or google, openai, anthropic, llama2, ...
            config=dict(
                model="llama2",
                # temperature=0.5,
                # top_p=1,
                # stream=true,
            ),
        ),
        embedder=dict(
            provider="google-generativeai", # or openai, ollama, ...
            config=dict(
                model_name="gemini-embedding-001",
                task_type="RETRIEVAL_DOCUMENT",
                # title="Embeddings",
            ),
        ),
    )
)

더 알아보기 (Learn more)