JSON RAG 검색
JSONSearchTool
섹션 제목: “JSONSearchTool”JSONSearchTool은 JSON 파일 내용 내에서 효율적이고 정확한 검색을 지원하도록 설계되었습니다. 이 도구는 RAG(Retrieve and Generate) 검색 메커니즘을 활용하여 사용자가 특정 JSON 파일 내에서 타겟팅된 검색을 위해 JSON 경로를 지정할 수 있습니다. 이 기능은 검색 결과의 정확성과 관련성을 크게 향상시킵니다.
JSONSearchTool을 설치하려면 다음 pip 명령어를 사용하세요:
pip install 'crewai[tools]'사용 예시
섹션 제목: “사용 예시”여기 JSONSearchTool을 효과적으로 활용하여 JSON 파일 내에서 검색하는 방법에 대한 업데이트된 예시가 있습니다. 이 예시들은 코드베이스에서 확인된 현재 구현 및 사용 패턴을 반영합니다.
from crewai_tools import JSONSearchTool
# 일반적인 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", # Other options include google, openai, anthropic, llama2, etc. "config": { "model": "llama2", # Additional optional configurations can be specified here. # temperature=0.5, # top_p=1, # stream=true, }, }, "embedding_model": { "provider": "google", # or openai, ollama, ... "config": { "model": "models/embedding-001", "task_type": "retrieval_document", # Further customization options can be added here. }, }, })경로 유효성 검사
섹션 제목: “경로 유효성 검사”이 도구에 제공되는 파일 경로는 현재 작업 디렉터리에 대해 검증됩니다. 작업 디렉터리 외부로 확인되는 경로는 ValueError로 거부됩니다.
작업 디렉터리 외부의 경로를 허용하려면 (예: 테스트 또는 신뢰할 수 있는 파이프라인), 다음 환경 변수를 설정하세요:
CREWAI_TOOLS_ALLOW_UNSAFE_PATHS=trueURL 유효성 검사
섹션 제목: “URL 유효성 검사”URL 입력도 검증됩니다: file:// URI와 사설 또는 예약된 IP 범위를 대상으로 하는 요청은 서버 측 요청 위조(SSRF) 공격을 방지하기 위해 차단됩니다.