开发与工程 function-callingchat-modelvllmsglangllama-cppcode-interpreteropenai-compatible

Functionary:可控工具调用的对话语言模型

Functionary 是一个能解读并执行函数/插件的语言模型,自动决定何时调用工具、并行或串行执行,并理解工具返回的结果。

FollowAgents 评估 · FARS-2.1
不推荐
30/ 100 五分制 1.5 / 5
1 2 3 4 5 6
1信任安全0 / 29 · 0.0/5

证据显示:仓库未提供权限管理、用户确认、数据流透明、敏感数据处理、依赖安全、外部影响、回滚或来源归属的说明。所有信任相关标准均无证据支持,因此得分为0。

2可靠稳定3 / 14 · 1.1/5

证据显示:README和测试文件提供了部分一致性证据,如测试用例和提示模板测试,但未提供失败消息处理或依赖可用性保证。自一致性得1分,依赖可用性得1分,失败消息得0分。

3适用触发8 / 18 · 2.2/5

证据显示:README提供了多种部署场景和模型选择,但未明确能力边界或触发精度。受众和场景得2分,能力边界得1分,触发精度得1分,环境适配得1分。

4规范维护9 / 18 · 2.5/5

证据显示:README提供了安装说明、示例和模型列表,但缺少已知限制、版本变更日志和维护责任说明。信息架构得2分,安装说明得2分,命名稳定性得1分,示例和FAQ得2分,已知限制得1分,许可证得2分,版本变更日志得1分,维护责任得1分。

5有效结果7 / 13 · 2.7/5

证据显示:README提供了使用示例和输出格式,但未提供性能基准或成本效益分析。输出可用性得2分,边际价值得2分,成本效益得1分。

6证据核验3 / 8 · 1.9/5

证据显示:README中的声明部分有测试支持,但缺乏独立验证和事实与推断的区分。声明可追溯性得1分,跨来源佐证得1分,事实推断分离得1分。

证据充分度: 评估于 2026年8月9日 审查版本 e240e8c54684
源码中未见的安全控制:最小权限约束、执行前用户确认、数据流向说明、敏感信息处理、依赖安全审查、外部影响披露、回滚或恢复路径、来源归属可核验
使用前请注意
  • 仓库已弃用,代码和文档可能过时,不应在生产环境中使用。
  • 未提供安全审计或权限管理说明,使用前需自行评估风险。
  • 依赖项版本固定,但未提供安全漏洞扫描或更新策略。
评估证据 [1][2][3][4][5][6]
查看完整评分方法 →

这个 Agent 能做什么,适合哪些场景?

Functionary 是一个由 MeetKai 开发的语言模型,专注于函数调用。它能够根据用户指令判断是否调用工具以及如何调用,支持并行调用和基于工具结果的响应生成。项目已弃用,但提供了多种模型版本,例如 meetkai/functionary-v4r-small-preview 和 functionary-medium-v3.1。部署方式包括 vLLM、SGLang 和 TGI 服务器,并提供 OpenAI 兼容的 API 接口。尽管项目不再维护,但代码和文档仍具有参考价值。

Functionary 根据用户消息和提供的 JSON Schema 格式的工具定义,利用模型判断是否需要调用工具以及调用哪些工具,生成包含函数名和参数的 tool_calls。它支持并行调用,并能理解工具执行结果,进而生成自然的回复。部署后,通过 OpenAI 兼容的 /v1/chat/completions 接口接收请求,返回标准的聊天补全响应。

  1. 希望为聊天机器人添加查询天气、调用内部 API 等功能的开发者。
  2. 需要让模型根据用户请求自动调用多个工具(如查询航班和酒店)的场景。
  3. 需要模型在调用工具后根据结果生成连贯回复的客户支持系统。
  4. 作为研究工作,分析函数调用模型的设计与实现。
  5. 需要本地部署 LLM 服务,且希望使用 OpenAI 兼容接口的团队。

这个 Agent 有哪些优点和局限?

优点
  • 支持并行函数调用和代码解释器,功能丰富。
  • 在 Berkeley Function-Calling Leaderboard 中排名第二,性能表现优秀。
  • 提供 OpenAI 兼容接口,易于集成现有应用。
  • 支持多种部署后端:vLLM、SGLang、TGI,可根据需求选择。
局限
  • 项目已正式弃用,不再维护,无后续更新和缺陷修复。
  • 中等模型需要多 GPU(如 4×A6000),硬件成本高。
  • GGUF 模型在 llama.cpp 的集成可能滞后,需使用特定脚本。
  • 依赖特定推理服务,不是开箱即用的独立应用。

如何安装或部署这个 Agent?

项目已弃用,README 提供了安装步骤:1. 克隆仓库;2. 使用 pip 安装依赖,vLLM 版本执行 pip install -e .[vllm],SGLang 版本执行 pip install -e .[sglang] --find-links ...

如何使用这个 Agent?

部署服务器:使用 vLLM 启动 python3 server_vllm.py --model "meetkai/functionary-v4r-small-preview" --host 0.0.0.0 --port 8000 --max-model-len 8192。然后通过 OpenAI 客户端调用,设置 base_url="http://localhost:8000/v1"api_key="functionary",发送包含 messages 和 tools 的 chat.completions 请求。

这个 Agent 与同类方案有什么区别?

README 将 Functionary 与 NexusRaven、Gorilla、Glaive 和 GPT-4-1106-preview 进行了对比,突出其支持多轮对话、缺失参数追问、基于工具结果生成回答等特点。

常见问题

Functionary 是否支持并行函数调用?
是的,支持并行函数调用,模型可以一次生成多个 tool_calls。
是否需要 GPU 才能运行?
是的,模型推理需要 NVIDIA GPU,且小模型约需 24GB 显存,中等模型需 160GB 显存(如 A100 多卡)。
如何与现有 OpenAI SDK 集成?
只需设置 base_url 为本地服务器地址,并配置 api_key(可任意值),即可直接使用 OpenAI Python SDK 调用。
项目已弃用,还能使用吗?
代码仍可下载使用,但不再提供更新和支持,可能存在 bug 或兼容性问题。

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents