MY_TOOLS = [get_word_count]
# ── 1단계: 메타데이터 확인 ──
print("=== 1단계: 메타데이터 ===")
for t in MY_TOOLS:
print(f" name : {t.name}")
print(f" args : {list(t.args.keys())}")
print(f" desc : {t.description[:60]}...")
# ── 2단계: 직접 호출 테스트 ──
print("\n=== 2단계: 직접 호출 ===")
print(get_word_count.invoke("LangChain으로 에이전트를 만들 수 있습니다."))
# ── 3단계: ToolException 처리 확인 ──
print("\n=== 3단계: ToolException ===")
try:
get_word_count.invoke("")
except Exception as e:
print(f"예외 타입: {type(e).__name__}")
print(f"메시지 : {e}")
# ── 4단계: Tool 바인딩 확인 ──
print("\n=== 4단계: bind_tools ===")
llm_with_tools = ChatOpenAI(model="gpt-4o-mini").bind_tools(MY_TOOLS)
response = llm_with_tools.invoke(
[HumanMessage(content="이 문장의 단어 수가 몇 개인지 알려줘.")]
)
print(" tool_calls:", response.tool_calls)