项目简介
functionary-small-v2.5是一个由MeetKai团队开发的创新型语言模型,它最大的特点是能够智能地解释和执行函数/插件。这个模型不仅可以判断何时执行函数,还能决定是并行还是串行执行,并且能够理解函数的输出结果。
核心特性
- 智能并行工具使用能力,可以同时处理多个函数调用
- 具备分析函数/工具输出的能力,并能基于输出结果提供相关的响应
- 智能判断工具使用时机,在不需要使用工具时可以直接提供对话回复
- 被认为是GPT-4的最佳开源替代方案之一
- 支持代码解释器功能
技术实现
该模型使用JSON Schema Objects来定义函数,这与OpenAI GPT的函数调用方式类似。它提供了自定义代码,可以将原始模型响应解析为包含角色、内容和工具调用字段的JSON对象,使用户能够轻松读取模型的函数调用输出。
使用方式
模型提供了两种主要的使用方式:
- 通过transformers库直接使用,用户可以使用AutoModelForCausalLM和AutoTokenizer来加载和使用模型
- 通过OpenAI兼容的vLLM服务器运行,这种方式提供了类似OpenAI API的使用体验
提示词模板
模型采用了独特的提示词模板设计:
- 将函数定义转换为类似TypeScript的定义格式
- 将这些定义作为系统提示注入
- 注入默认的系统提示
- 开始对话消息的处理
适用场景
这个模型特别适合以下场景:
- 需要进行复杂工具调用的应用
- 要求并行处理多个函数的系统
- 需要智能判断是否使用工具的场景
- 代码解释和分析任务
- 需要精确控制函数调用的项目
技术优势
- 开源可用,提供了完整的使用文档和示例
- 支持灵活的函数定义和调用
- 提供了完善的API接口
- 具备智能的决策能力
- 支持并行处理,提高效率