Griptape 도구 — 외부 세계와 상호작용하기

Griptape 도구

Griptape의 강력한 기능 중 하나는 외부 세계와 상호작용하는 **도구(Tools)**예요. 도구는 LLM이 API를 호출하고 데이터셋을 참조하며 단순 텍스트 생성 너머로 능력을 확장하게 해줘요.

출처: https://docs.griptape.ai/latest/griptape-framework/tools/

도구 호출 전략

많은 프롬프트 드라이버는 LLM에 내장된 함수 호출을 활용해요. 이를 지원하지 않는 모델을 위해 Griptape는 ReAct 기법의 자체 구현도 제공해요. 프롬프트 드라이버에서 use_native_toolsTrue(LLM 네이티브 도구 호출) 또는 False(Griptape 도구 호출)로 설정해 전환할 수 있어요.

도구 출력과 태스크 메모리

모든 도구 활동의 출력 아티팩트(InfoArtifactErrorArtifact 제외)는 단기 TaskMemory에 저장돼요. 이 동작을 끄려면 도구 파라미터 off_promptFalse로 설정해요.

파이프라인에서 도구 사용

Griptape는 공식 도구 집합을 제공하고 직접 만들 수도 있어요. 웹 페이지를 불러와 요약하고 파일로 저장하는 파이프라인 예시를 볼게요.

from griptape.structures import Pipeline
from griptape.tasks import PromptTask
from griptape.tools import FileManagerTool, PromptSummaryTool, WebScraperTool

pipeline = Pipeline()
pipeline.add_tasks(
    PromptTask(
        "Load https://www.griptape.ai, summarize it, and store it in a file called griptape.txt",
        tools=[
            WebScraperTool(off_prompt=True),
            FileManagerTool(off_prompt=True),
            PromptSummaryTool(off_prompt=False),
        ],
    ),
)
pipeline.run()

WebScraperTool은 Griptape 홈페이지를 불러오고, PromptSummaryTool이 요약을 만들고, FileManagerToolgriptape.txt 파일로 저장해요. 이렇게 태스크 하나에 여러 도구를 붙여 실제 작업 흐름을 구성할 수 있어요.

더 알아보기