142
2
부
에이전트 시스템의 구축과 확장
tool_groups = {
"Computation": {
"description": "수학 계산 및 데이터 분석과 관련된 도구입니다.",
"tools": [query_wolfram_alpha]
},
"Automation": {
"description": "워크플로를 자동화하고 다양한 서비스를 통합하는 도구입니
다.",
"tools": [trigger_zapier_webhook]
},
"Communication": {
"description": "커뮤니케이션 및 메시징을 돕는 도구입니다.",
"tools": [send_slack_message]
}
}
# -------------------------------
# LLM 기반 계층적 도구 선택
# -------------------------------
def select_group_llm(query: str) -> str:
"""
LLM을 사용해 사용자의 쿼리에 가장 적합한 도구 그룹을 선택합니다.
Args:
query (str): 사용자의 입력 쿼리입니다.
Returns:
str: 선택된 그룹 이름입니다.
"""
prompt = f'''다음 쿼리에 가장 적합한 도구 그룹을 선택하세요:
'{query}'.\n선택 가능한 옵션: Computation, Automation, Communication.'''
response = llm([HumanMessage(content=prompt)])
return ...