상세 컨텐츠

본문 제목

랭그래프 참고자료

AI 관련/Langgraph

by rakyun 2025. 11. 6. 21:06

본문

Tool calling Agent

ToolNode

  • LLM이 툴 호출을 쉽게 해줄 수 있게 도와주는 클라스
  • 도구 실행에 필요한 보일러 플레이트 코드를 작성할 필요가 없음
  • 병렬 처리를 지원하여 한 번에 여러 개의 도구 실행 가능
  • 도구 실행 중 오류 발생 시 ToolNode가 이를 감지하고 오류 정보를 ToolMessage에 담아 반환

tools_condition

  • LLM이 반환한 값을 보고 tools 또는 end를 리턴하는 함수
  • LLM이 더 이상 도구를 호출할 필요 없다고 판단 되면 end를 리턴하여 그래프를 종료할 수 있음

예시

# 사용할 툴을 정의
tool = TavilySearchResults(max_results=3)
tools = [tool]

# LLM 생성
llm = ChatOpenAI(model_name='gpt-4o-mini', temperature=0.5)

# bind_tools() 함수를 사용하여 llm에 tool을 바인딩
llm_with_tools = llm.bind_tools(tools)

# 만들어둔 llm을 사용하는 노드 정의
def agent_node(state):
    response = llm_with_tools.invoke(state["messages"])
    return {"messages": [response]}

# 그래프에 노드 추가
graph_builder.add_node("agent_node", agent_node)

# ToolNode 생성
tool_node = ToolNode(tools=[tool])
# 노드 추가
graph_builder.add_node("tools", tool_node)

graph_builder.add_conditional_edges(
    "agent_node",
    tools_condition,
)

 

'AI 관련 > Langgraph' 카테고리의 다른 글

LangGraph를 이용한 서비스 구현  (2) 2025.08.05

관련글 더보기