YoutubeVideoSearchTool

현재 도구를 개선 중이므로, 예상치 못한 동작이나 변경 사항이 발생할 수 있습니다.

설명

이 도구는 crewai_tools 패키지의 일부로, Youtube 동영상 콘텐츠 내에서 의미 기반 검색을 수행하도록 설계되었다. RAG(Retrieval-Augmented Generation) 기술을 활용한다. 이 도구는 다양한 소스를 대상으로 RAG를 사용하는 여러 “검색” 도구 중 하나다. YoutubeVideoSearchTool은 검색 방식에서 유연성을 제공한다. 사용자는 특정 동영상 URL을 지정하지 않고도 Youtube의 모든 콘텐츠를 대상으로 검색할 수 있다. 또는 특정 Youtube 동영상 URL을 제공해 해당 동영상만 대상으로 검색할 수도 있다.

설치

YoutubeVideoSearchTool을 사용하려면 먼저 crewai_tools 패키지를 설치해야 한다. 이 패키지는 데이터 분석 및 처리 작업을 향상시키기 위해 설계된 다양한 유틸리티와 함께 YoutubeVideoSearchTool을 포함하고 있다. 터미널에서 다음 명령어를 실행해 패키지를 설치한다:

pip install 'crewai[tools]'

예제

YoutubeVideoSearchTool을 여러분의 Python 프로젝트에 통합하려면 아래 예제를 참고한다. 이 예제는 일반적인 유튜브 콘텐츠 검색과 특정 동영상 내에서의 타겟 검색을 모두 수행하는 방법을 보여준다.

from crewai_tools import YoutubeVideoSearchTool

# 특정 동영상 URL 없이 유튜브 콘텐츠 전체를 대상으로 일반 검색 수행
# 에이전트는 동작 중에 동영상 URL을 학습하며, 이를 기반으로 검색을 진행
tool = YoutubeVideoSearchTool()

# 특정 유튜브 동영상 내에서 타겟 검색 수행
tool = YoutubeVideoSearchTool(
    youtube_video_url='https://youtube.com/watch?v=example'
)

인자

YoutubeVideoSearchTool은 다음과 같은 초기화 인자를 받는다:

  • youtube_video_url: 초기화 시 선택적 인자지만 특정 유튜브 동영상을 대상으로 할 때는 필수이다. 검색하려는 유튜브 동영상의 URL 경로를 지정한다.

커스텀 모델과 임베딩

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

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