예제를 살펴보겠습니다.
examples/4_args_schema_pydantic.py
from langchain_core.tools import tool
from pydantic import BaseModel, Field
class RewriteInput(BaseModel):
article: str = Field(description="재작성할 원문 텍스트")
audience: str = Field(description="대상 독자(예: 초등학생, 전문가, 일반인)")
@tool(args_schema=RewriteInput)
def rewrite_for_audience(article: str, audience: str) -> str:
"""
텍스트를 대상 독자에 맞게 재작성합니다.
특정 독자를 대상으로 글을 재작성해 달라는 요청이 들어올 때 사용합니다.
"""
return f"{audience} 독자를 위한 재작성 결과입니다."
# description이 포함된 입력 구조 확인
for name, info in rewrite_for_audience.args.items():
print(f"{name}: {info}")
# 입력값이 여럿인 Tool은 딕셔너리로 호출
print(rewrite_for_audience.invoke({
"article": "AI 칩 개발 성공...",
"audience": "초등학생",
}))