WebsiteSearchTool

현재 WebsiteSearchTool은 실험 단계에 있습니다. 이 도구를 우리의 제품군에 통합하기 위해 적극적으로 작업 중이며, 그에 따라 문서를 업데이트할 예정입니다.

개요

WebsiteSearchTool은 웹사이트 콘텐츠 내에서 의미 기반 검색을 수행하기 위한 개념적 도구이다. 이 도구는 Retrieval-Augmented Generation(RAG)과 같은 고급 머신러닝 모델을 활용해 특정 URL에서 정보를 탐색하고 추출하는 데 중점을 둔다. 사용자가 원하는 웹사이트를 자유롭게 선택해 검색할 수 있도록 유연성을 제공하는 것이 목표이다. 현재 이 도구의 구현 세부 사항은 개발 중이며, 설명된 기능들은 아직 사용할 수 없을 수 있다.

설치

WebsiteSearchTool이 사용 가능해질 때를 대비해 환경을 준비하려면, 기본 패키지를 설치하면 된다:

pip install 'crewai[tools]'

이 명령어를 실행하면 필요한 의존성을 설치할 수 있다. 이를 통해 도구가 완전히 통합되면 사용자가 즉시 사용할 수 있다.

예제 활용 방법

아래는 WebsiteSearchTool을 다양한 상황에서 활용하는 예제이다. 이 예제는 설명을 위한 것으로, 실제 구현된 기능을 나타낸다:

from crewai_tools import WebsiteSearchTool

# 에이전트가 발견한 모든 웹사이트에서 검색할 수 있도록 도구를 초기화하는 예제
tool = WebsiteSearchTool()

# 특정 웹사이트의 콘텐츠만 검색하도록 제한하는 예제
# 이제 에이전트는 해당 웹사이트 내에서만 검색 가능
tool = WebsiteSearchTool(website='https://example.com')

인자

  • website: 특정 웹사이트 URL을 지정하는 선택적 인자. 이 인자는 필요할 때 특정 사이트를 대상으로 검색할 수 있도록 해 도구의 유연성을 높인다.

커스텀 설정 옵션

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

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