XMLSearchTool

현재 도구를 개선 중이므로 예기치 않은 동작이나 변경 사항이 발생할 수 있습니다.

개요

XMLSearchTool은 XML 파일 내에서 의미론적 검색을 수행하기 위해 설계된 최신 RAG(Retrieval-Augmented Generation) 도구다. XML 콘텐츠를 효율적으로 파싱하고 정보를 추출해야 하는 사용자에게 적합하다. 이 도구는 검색 쿼리와 선택적인 XML 파일 경로를 입력받아 동작한다. XML 경로를 지정하면 해당 파일의 콘텐츠를 대상으로 검색을 수행할 수 있어 더 정확하고 관련성 높은 검색 결과를 얻을 수 있다.

설치

XMLSearchTool을 사용하려면 먼저 crewai_tools 패키지를 설치해야 한다. 다음 명령어로 간단히 설치할 수 있다:

pip install 'crewai[tools]'

예제

다음은 XMLSearchTool을 사용하는 두 가지 예제를 보여준다. 첫 번째 예제는 특정 XML 파일 내에서 검색하는 방법을 보여주고, 두 번째 예제는 XML 경로를 미리 정의하지 않고 검색을 시작하는 방법을 보여준다. 이를 통해 검색 범위에 유연성을 제공한다.

from crewai_tools import XMLSearchTool

# 에이전트가 실행 중에 XML 파일의 경로를 학습하면서 
# 모든 XML 파일의 내용을 검색할 수 있도록 허용
tool = XMLSearchTool()

# 또는

# 특정 XML 파일 경로로 도구를 초기화하여 
# 해당 문서 내에서만 검색하도록 설정
tool = XMLSearchTool(xml='path/to/your/xmlfile.xml')

인자

  • xml: 검색하려는 XML 파일의 경로를 지정한다. 도구 초기화 시 선택적 파라미터이지만, 초기화 시점이나 run 메서드의 인자로 반드시 제공해야 검색을 실행할 수 있다.

커스텀 모델과 임베딩

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

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