에이전트 협업과 작업 실행을 위해 CrewAI 프레임워크 내 도구를 이해하고 활용하는 방법.
cache_function
속성을 사용해 캐싱 메커니즘을 더 세밀하게 제어할 수 있다.도구 | 설명 |
---|---|
BrowserbaseLoadTool | 웹 브라우저와 상호작용하고 데이터를 추출하는 도구. |
CodeDocsSearchTool | 코드 문서 및 관련 기술 문서를 검색하기에 최적화된 RAG 도구. |
CodeInterpreterTool | 파이썬 코드를 해석하는 도구. |
ComposioTool | Composio 도구를 사용할 수 있게 하는 도구. |
CSVSearchTool | CSV 파일 내에서 검색하기 위해 설계된 RAG 도구로, 구조화된 데이터를 처리한다. |
DALL-E Tool | DALL-E API를 사용해 이미지를 생성하는 도구. |
DirectorySearchTool | 디렉토리 내에서 검색하기 위한 RAG 도구로, 파일 시스템 탐색에 유용하다. |
DOCXSearchTool | DOCX 문서 내에서 검색하기 위한 RAG 도구로, Word 파일 처리에 적합하다. |
DirectoryReadTool | 디렉토리 구조와 그 내용을 읽고 처리하는 도구. |
EXASearchTool | 다양한 데이터 소스에서 철저한 검색을 수행하기 위해 설계된 도구. |
FileReadTool | 다양한 파일 형식을 지원하며 파일에서 데이터를 읽고 추출하는 도구. |
FirecrawlSearchTool | Firecrawl을 사용해 웹페이지를 검색하고 결과를 반환하는 도구. |
FirecrawlCrawlWebsiteTool | Firecrawl을 사용해 웹페이지를 크롤링하는 도구. |
FirecrawlScrapeWebsiteTool | Firecrawl을 사용해 웹페이지 URL을 스크랩하고 그 내용을 반환하는 도구. |
GithubSearchTool | GitHub 저장소 내에서 검색하기 위한 RAG 도구로, 코드 및 문서 검색에 유용하다. |
SerperDevTool | 개발 목적으로 특화된 도구로, 개발 중인 특정 기능을 제공한다. |
TXTSearchTool | 텍스트 (.txt) 파일 내에서 검색하기 위한 RAG 도구로, 비구조화된 데이터 처리에 적합하다. |
JSONSearchTool | JSON 파일 내에서 검색하기 위해 설계된 RAG 도구로, 구조화된 데이터 처리에 적합하다. |
LlamaIndexTool | LlamaIndex 도구를 사용할 수 있게 하는 도구. |
MDXSearchTool | 마크다운 (MDX) 파일 내에서 검색하기 위한 RAG 도구로, 문서 처리에 유용하다. |
PDFSearchTool | PDF 문서 내에서 검색하기 위한 RAG 도구로, 스캔된 문서 처리에 적합하다. |
PGSearchTool | PostgreSQL 데이터베이스 내에서 검색하기 위해 최적화된 RAG 도구로, 데이터베이스 쿼리에 적합하다. |
Vision Tool | DALL-E API를 사용해 이미지를 생성하는 도구. |
RagTool | 다양한 데이터 소스와 타입을 처리할 수 있는 범용 RAG 도구. |
ScrapeElementFromWebsiteTool | 웹사이트에서 특정 엘리먼트를 스크랩하는 도구로, 특정 데이터 추출에 유용하다. |
ScrapeWebsiteTool | 전체 웹사이트를 스크랩하는 도구로, 포괄적인 데이터 수집에 적합하다. |
WebsiteSearchTool | 웹사이트 콘텐츠를 검색하기 위한 RAG 도구로, 웹 데이터 추출에 최적화되어 있다. |
XMLSearchTool | XML 파일 내에서 검색하기 위해 설계된 RAG 도구로, 구조화된 데이터 형식 처리에 적합하다. |
YoutubeChannelSearchTool | YouTube 채널 내에서 검색하기 위한 RAG 도구로, 비디오 콘텐츠 분석에 유용하다. |
YoutubeVideoSearchTool | YouTube 비디오 내에서 검색하기 위한 RAG 도구로, 비디오 데이터 추출에 적합하다. |
커스텀 도구
를 직접 만들거나, 미리 만들어진 옵션을 활용할 수 있다.BaseTool
서브클래싱tool
데코레이터 활용하기StructuredTool
클래스는 함수를 도구로 감싸서 유연성과 검증 기능을 제공하며, 보일러플레이트 코드를 줄여준다. 이 클래스는 커스텀 스키마와 동적 로직을 지원하여 복잡한 기능을 원활하게 통합할 수 있게 한다.
StructuredTool.from_function
을 사용해 외부 API나 시스템과 상호작용하는 함수를 감싸면 구조화된 인터페이스를 제공할 수 있다. 이를 통해 강력한 검증과 일관된 실행이 가능해지며, 복잡한 기능을 애플리케이션에 통합하기가 더 쉬워진다. 다음 예제에서 이를 확인할 수 있다:
cache_function
을 구현해 캐싱 동작을 파인튜닝할 수 있다. 이 함수는 특정 조건에 따라 결과를 캐시할 시점을 결정하며, 캐싱 로직에 대한 세밀한 제어를 제공한다.