JSONSearchTool

JSONSearchTool은 현재 실험 단계에 있다. 이 도구는 활발히 개발 중이며, 사용자는 예상치 못한 동작이나 변경 사항을 마주할 수 있다. 문제점이나 개선 사항에 대한 피드백을 적극적으로 환영한다.

설명

JSONSearchTool은 JSON 파일 내용 내에서 효율적이고 정확한 검색을 돕기 위해 설계되었다. 이 도구는 RAG (Retrieve and Generate) 검색 메커니즘을 활용하여 사용자가 특정 JSON 파일 내에서 목표로 하는 검색을 위해 JSON 경로를 지정할 수 있게 한다. 이 기능은 검색 결과의 정확성과 관련성을 크게 향상시킨다.

설치

JSONSearchTool을 설치하려면 다음 pip 커맨드를 사용한다:

pip install 'crewai[tools]'

사용 예제

JSON 파일 내에서 효과적으로 검색하기 위해 JSONSearchTool을 활용하는 업데이트된 예제를 소개한다. 이 예제는 코드베이스에서 확인된 현재 구현과 사용 패턴을 반영했다.

from crewai.json_tools import JSONSearchTool  # 업데이트된 import 경로

# 일반 JSON 내용 검색
# JSON 경로를 미리 알고 있거나 동적으로 식별할 수 있을 때 적합한 접근 방식이다.
tool = JSONSearchTool()

# 특정 JSON 파일로 검색 범위 제한
# 검색 범위를 특정 JSON 파일로 제한하고 싶을 때 이 초기화 방법을 사용한다.
tool = JSONSearchTool(json_path='./path/to/your/file.json')

인자

  • json_path (str, 선택 사항): 검색할 JSON 파일의 경로를 지정한다. 일반 검색을 위해 도구를 초기화한 경우 이 인자는 필요하지 않다. 이 인자를 제공하면 지정된 JSON 파일 내에서만 검색을 수행한다.

설정 옵션

JSONSearchTool은 구성 딕셔너리를 통해 광범위한 커스텀 설정을 지원한다. 이를 통해 사용자는 요구사항에 따라 임베딩과 요약을 위한 다양한 모델을 선택할 수 있다.

tool = JSONSearchTool(
    config={
        "llm": {
            "provider": "ollama",  # google, openai, anthropic, llama2 등 다른 옵션도 가능
            "config": {
                "model": "llama2",
                # 추가적인 옵션 설정 가능
                # temperature=0.5,
                # top_p=1,
                # stream=true,
            },
        },
        "embedder": {
            "provider": "google", # openai, ollama 등도 가능
            "config": {
                "model": "models/embedding-001",
                "task_type": "retrieval_document",
                # 추가적인 커스텀 설정 가능
            },
        },
    }
)