--- title: TXT RAG 검색 description: TXTSearchTool은 텍스트 파일의 내용 내에서 RAG(Retrieval-Augmented Generation) 검색을 수행하도록 설계되었습니다. icon: file-lines mode: "wide" --- ## 개요 저희는 도구를 계속 개선하고 있으므로, 추후에 예기치 않은 동작이나 변경이 발생할 수 있습니다. 이 도구는 텍스트 파일의 콘텐츠 내에서 RAG(Retrieval-Augmented Generation) 검색을 수행하는 데 사용됩니다. 지정된 텍스트 파일의 콘텐츠에서 쿼리를 의미적으로 검색할 수 있어, 제공된 쿼리를 기반으로 정보를 신속하게 추출하거나 특정 텍스트 섹션을 찾는 데 매우 유용한 리소스입니다. ## 설치 `TXTSearchTool`을 사용하려면 먼저 `crewai_tools` 패키지를 설치해야 합니다. 이 작업은 Python용 패키지 관리자 pip를 사용하여 수행할 수 있습니다. 터미널 또는 명령 프롬프트를 열고 다음 명령어를 입력하세요: ```shell pip install 'crewai[tools]' ``` 이 명령어는 TXTSearchTool과 필요한 모든 종속성을 다운로드하고 설치합니다. ## 예시 다음 예시는 TXTSearchTool을 사용하여 텍스트 파일 내에서 검색하는 방법을 보여줍니다. 이 예시는 특정 텍스트 파일로 도구를 초기화하는 방법과, 해당 파일의 내용에서 검색을 수행하는 방법을 모두 포함하고 있습니다. ```python Code from crewai_tools import TXTSearchTool # Initialize the tool to search within any text file's content # the agent learns about during its execution tool = TXTSearchTool() # OR # Initialize the tool with a specific text file, # so the agent can search within the given text file's content tool = TXTSearchTool(txt='path/to/text/file.txt') ``` ## 인자 - `txt` (str): **선택 사항**입니다. 검색하려는 텍스트 파일의 경로입니다. 이 인자는 도구가 특정 텍스트 파일로 초기화되지 않은 경우에만 필요합니다; 그렇지 않은 경우 검색은 처음에 제공된 텍스트 파일 내에서 수행됩니다. ## 커스텀 모델 및 임베딩 기본적으로 이 도구는 임베딩과 요약을 위해 OpenAI를 사용합니다. 모델을 커스터마이징하려면 다음과 같이 config 딕셔너리를 사용할 수 있습니다: ```python Code from chromadb.config import Settings tool = TXTSearchTool( config={ # 필수: 임베딩 제공자 + 설정 "embedding_model": { "provider": "openai", # 또는 google-generativeai, cohere, ollama 등 "config": { "model": "text-embedding-3-small", # "api_key": "sk-...", # 환경변수 사용 시 생략 가능 # 공급자별 예시: Google → model: "models/embedding-001", task_type: "retrieval_document" }, }, # 필수: 벡터DB 설정 "vectordb": { "provider": "chromadb", # 또는 "qdrant" "config": { # Chroma 설정(영속성 예시) # "settings": Settings(persist_directory="/content/chroma", allow_reset=True, is_persistent=True), # Qdrant 벡터 파라미터 예시: # from qdrant_client.models import VectorParams, Distance # "vectors_config": VectorParams(size=384, distance=Distance.COSINE), # 참고: 컬렉션 이름은 도구에서 관리합니다(기본값: "rag_tool_collection"). } }, } ) ```