FunctionHub 工具示例
May 15, 2026 · View on GitHub
演示如何在 OxyGent 智能体中使用基于 FunctionHub 的自定义 Python 工具。
示例
最短路径示例
文件: examples/fh_tools/shortest_path/shortest_path_demo.py
本示例演示了如何使用 FunctionHub 结合 Google OR-Tools 求解城市之间的最短路径问题。FunctionHub(从 function_hubs/shortest_path.py 导入)提供两个工具:info_update 使用 pandas 从 Excel 文件中读取城市和距离数据到内存中,shortest_path 使用 OR-Tools 的 min_cost_flow 求解器计算两个城市之间的最短路径,然后通过 matplotlib 和 networkx 进行可视化,并将结果图保存为 PNG 图片。多智能体系统包含一个用于计算路径的 shortest_path_agent、一个用于读取文件信息的 excel_agent,以及一个协调两者的主控 ReActAgent。该示例启动 Web 服务,用户可以上传包含城市和距离数据的 Excel 文件,并查询最短路径。
核心组件:
HttpLLM-- 通过环境变量配置的 LLM 后端FunctionHub("shortest_path_tools")-- 自定义 Python 工具,用于 Excel 数据导入和基于 OR-Tools 的最短路径计算ReActAgent("shortest_path_agent")-- 用于计算城市间最短路径的智能体ReActAgent("excel_agent")-- 用于读取 Excel 文件信息的智能体ReActAgent("master_agent")-- 协调 Excel 和最短路径智能体的编排器MAS-- 启动 Web 服务的运行时容器