数字人LLM业务集成框架Fay
基本信息
- 描述: fay是一个帮助数字人(2.5d、3d、移动、pc、网页)或大语言模型(openai兼容、deepseek)连通业务系统的agent框架。
- 语言: Python
- 星标: 12,545 (+13 stars today)
- 链接: https://github.com/xszyou/Fay
- DeepWiki: https://deepwiki.com/xszyou/Fay
DeepWiki 速览(节选)
Relevant source files
导语
Fay是一个开源的数字人开发框架,专注于将大语言模型与数字角色动画相结合,实现自然、流畅的人机交互体验。该框架支持多种部署环境,包括网页端、PC端、移动端以及2.5D和3D数字人形象,并兼容OpenAI等主流AI后端。开发者可以利用Fay快速构建具备文本对话、语音交互和自动广播功能的智能体。它适用于需要在业务系统中集成数字员工、智能客服或虚拟主播场景的团队。
代码示例
| |
如果使用 Docker,则只需:
| |
3: Fay 支持哪些语言模型和对话渠道?
3: Fay 支持哪些语言模型和对话渠道?
A: 语言模型
- 云端模型:OpenAI GPT‑3.5、GPT‑4,Anthropic Claude 系列,讯飞星火等。
- 本地模型:ChatGLM‑6B、ChatGLM2‑6B、LLaMA‑2、Bloom、Alpaca 等,支持通过 HuggingFace Transformers 或 FastChat 加载。
- 自定义模型:只要实现了模型加载接口(如
model.generate()),即可在插件中注册使用。
对话渠道
- 即时通讯:微信(通过企业微信或第三方 webhook)、QQ(使用 CQHttp 或 go-cqhttp)、钉钉、飞书、Telegram。
- 网页/移动端:Gradio 演示页面、Streamlit 自定义 UI、WebSocket 实时推送。
- 语音:支持与 ASR(自动语音识别)和 TTS(文字转语音)模块集成,可实现语音交互(如使用 Baidu ASR、Azure TTS)。
所有渠道均通过统一的 adapter 抽象层实现,使用者只需在 config/adapters.yaml 中配置相应参数即可打开或关闭任意渠道。
4: 如何在 Fay 中添加自定义技能或业务逻辑?
4: 如何在 Fay 中添加自定义技能或业务逻辑?
A: Fay 采用了插件化的设计,新增技能只需遵循以下步骤:
创建插件目录:在
plugins/下新建文件夹,例如my_skill/。编写插件代码:插件必须实现
Plugin基类,并实现handle(user_id, text)或handle_event(event)方法。下面是一个最简单的示例:
plugins/my_skill/init.py
from fay import Plugin
class MySkill(Plugin): name = “my_skill” description = “自定义技能示例”