python开发数字人助理版

news2024/11/25 0:55:25

Fay数字人助理版是fay开源项目的重要分支,专注于构建智能数字助理的开源解决方案。它提供了灵活的模块化设计,使开发人员能够定制和组合各种功能模块,包括情绪分析、NLP处理、语音合成和语音输出等。Fay数字人助理版为开发人员提供了强大的工具和资源,用于构建智能、个性化和多功能的数字助理应用。通过该版本,开发人员可以轻松创建适用于各种场景和领域的数字人助理,为用户提供智能化的语音交互和个性化服务。

Fay数字人助理版

https://download.csdn.net/download/zxj19880502/88514677

助理版Fay控制器使用:语音沟通,语音和文字回复;文字沟通,文字回复;对接UE、live2d、xuniren,需关闭面板播放。

二、Fay助理版

Remote Android      Local PC     Remote PC

     └─────────────┼─────────────┘

      Aliyun API ─┐   │

            ├── ASR   

         FunASR ─┘    │     ┌─ Yuan 1.0

               │     ├─ LingJu

               NLP ────┼─ GPT/ChatGPT

               │     ├─ Rasa+ChatGLM-6B

         Azure ─┐    │     ├─ VisualGLM

        Edge TTS ─┼── TTS     └─ RWKV

         开源 TTS ─┘   │    

               │    

               │    

    ┌──────────┬────┼───────┬─────────┐

Remote Android  Live2D   UE    xuniren   Remote PC

重要:Fay(服务端)与数字人(客户端)的通讯接口: ws://127.0.0.1:10002(已接通)

消息格式: 查看 WebSocket.md

Code structure

.
├── main.py		    # 程序主入口
├── fay_booter.py	    # 核心启动模块
├── config.json		    # 控制器配置文件
├── system.conf		    # 系统配置文件
├── ai_module
│   ├── ali_nls.py	        # 阿里云 实时语音
│   ├── ms_tts_sdk.py       # 微软 文本转语音
│   ├── nlp_lingju.py       # 灵聚 人机交互-自然语言处理
│   ├── xf_aiui.py          # 讯飞 人机交互-自然语言处理
│   ├── nlp_gpt.py          # gpt api对接
│   ├── nlp_chatgpt.py      # chat.openai.com逆向对接
│   ├── nlp_yuan.py         # 浪潮.源大模型对接
│   ├── nlp_rasa.py         # ChatGLM-6B的基础上前置Rasa会话管理(强烈推荐)
│   ├── nlp_VisualGLM.py    # 对接多模态大语言模型VisualGLM-6B
│   ├── nlp_rwkv.py         # 离线对接rwkv
│   ├── nlp_rwkv_api.py     # rwkv server api
│   ├── yolov8.py           # yolov8资态识别
│   └── xf_ltp.py           # 讯飞 情感分析
├── bin                     # 可执行文件目录
├── core                    # 数字人核心
│   ├── fay_core.py         # 数字人核心模块
│   ├── recorder.py         # 录音器
│   ├── tts_voice.py        # 语音生源枚举
│   ├── authorize_tb.py     # fay.db认证表管理
│   ├── content_db.py       # fay.db内容表管理
│   ├── interact.py         # 互动(消息)对象
│   ├── song_player.py      # 音乐播放(暂不可用)
│   └── wsa_server.py       # WebSocket 服务端
├── gui                     # 图形界面
│   ├── flask_server.py     # Flask 服务端
│   ├── static
│   ├── templates
│   └── window.py           # 窗口模块
├── scheduler
│   └── thread_manager.py   # 调度管理器
├── utils                   # 工具模块
    ├── config_util.py      
    ├── storer.py
    └── util.py
└── test                    # 都是惊喜

三、升级日志

2023.10.23

  • 修复一定低概率导致数字人连接状态识别错误问题;
  • *增加唤醒功能

2023.09.06

  • 数字人连接提示词修改;
  • Q&A填写demo修复;
  • 安装包错误修复。

2023.09.01

  • 修复gpt、chatglm2的消息记录方式逻辑。

2023.08.30

  • 调整gpt的消息记录方式;
  • *q&a支持RPA自动化脚本。

2023.08.23:

  • 更换gpt对接方式;
  • 增加chatglm2对接。

2023.08.16:

  • 优化UE反复重连系统资源占用太高的问题;
  • 自动控制是否启动面板播放;
  • 自动删除运行日志。

2023.08.09:

  • 去除mp3格式警告信息;
  • 去除灵聚、渡鸦接口警告信息;
  • websocket逻辑优化;
  • 数字人端接口通讯优化。

2023.08.04:

  • UE5工程更新;
  • 唇型计算的视音素更换成33毫秒;
  • 内置rwkv_api nlp可以直接使用;
  • 降低情绪性向数字人端推送的频度;
  • 非数字人连接状态不产生接口消息;
  • 修复因mp3格式错误而导致一定概率不推送播放信息给数字人端的问题;
  • 修复静音等指令执行时提前结束nlp逻辑,而导致用户提问消息不推送数字人端问题;
  • 补充wav文件启动清理;
  • websocket工具类升级完善。

2023.07:

  • 增加运行时自动清理ui缓存;

  • 增加gpt代理设置可为空;

  • 提高灵聚对接的稳定性。

  • 修复连接数字人之前产生大量ws信息问题;

  • 增加数字人(ue、live2d、xuniren)通讯接口:实时日志;

  • 更新数字人(ue、live2d、xuniren)通讯接口:音频推送。

  • 带货版多项更新;

  • 修复远程语音不识别问题;

  • 修复asr时有不灵问题;

  • 去除唱歌指令。

  • 修复linux及mac运行出错问题;

  • 修复因唇型出错无法继续执行问题;

  • 提供rwkv对接方案。

  • 修复助理版文字输入不读取人设回复问题;

  • 修复助理版文字输入不读取qa回复问题;

  • 增强麦克风接入稳定性。

  • 修复无法运行唇型算法而导致的不播放声音问题。

2023.06:

  • 重构NLP模块管理逻辑,便于自由扩展;

  • gpt:拆分为ChatGPT及GPT、更换新的GPT接口、可单独配置代理服务器;

  • 指定yolov8包版本,解决yolo不兼容问题;

  • 修复:自言自语bug、接收多个待处理消息bug。

  • 集成灵聚NLP api(支持GPT3.5及多应用);

  • ui修正。

  • 集成本地唇型算法。

  • 解决多声道麦克风兼容问题;

  • 重构fay_core.py及fay_booter.py代码;

  • ui适应布局调整;

  • 恢复声音选择;

  • ”思考中...“显示逻辑修复。

2023.05:

  • 修复多个bug:消息框换行及空格问题、语音识别优化;

  • 彩蛋转正,Fay沟通与ChatGPT并行;

  • 加入yolov8姿态识别;

  • 加入VisualGLM-6B多模态单机离线大语言模型。

  • 打出Fay数字人助理版作为主分支(带货版移到分支fay-sales-edition);

  • 添加Fay助理的文字沟通窗口(文字与语音同步);

  • 添加沟通记录本地保存功能;

  • 升级ChatGLM-6B的应用逻辑,长文本与语音回复分离。

四、安装说明

环境

  • Python 3.9、3.10
  • Windows、macos、linux

安装依赖

pip install -r requirements.txt

配置应用密钥

  • 查看 API 模块
  • 浏览链接,注册并创建应用,将应用密钥填入 ./system.conf

启动

启动Fay控制器

python main.py

API 模块

启动前需填入应用密钥

代码模块描述链接
./ai_module/ali_nls.py实时语音识别(可选)https://ai.aliyun.com/nls/trans
./ai_module/ms_tts_sdk.py微软 文本转情绪语音(可选)https://azure.microsoft.com/zh-cn/services/cognitive-services/text-to-speech/
./ai_module/xf_ltp.py讯飞 情感分析(可选)https://www.xfyun.cn/service/emotion-analysis
./utils/ngrok_util.pyngrok.cc 外网穿透(可选)http://ngrok.cc
./ai_module/nlp_lingju.py灵聚NLP api(支持GPT3.5及多应用)(可选)https://open.lingju.ai 需联系客服务开通gpt3.5权限
./ai_module/yuan_1_0.py浪潮源大模型(可选)https://air.inspur.com/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1186868.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第三章《补基础:不怕学不懂概率统计》笔记

3.1 什么是概率 概率亦称“或然率”,它反映随机事件出现的可能性大小,在现实生活中有着极其普遍的应用。 3.1.1 最简单的概率的例子 3.1.2 概率论与数理统计的关系 概率论与数理统计的关系可以概括为,概率论是数理统计的理论基础&#xf…

fastspar微生物相关性推断

fastspar 简介 fastspar是基于Sparcc通过C编写的,速度更快,内存消耗更少。sparcc是基于OTU的原始count数,通过log转换和标准化去除传统相对丰度的天然负相关(因为所有OTU之和为1,某些OTU丰度高另外一些自然就少&…

nssm部署nginx

nssm install Nginx8098 --安装nginx nssm start Nginx8098 --启用nginx nginx 选择nginx路径,安装

Kyligence Copilot 亮相第六届进博会,增添数智新活力

11月5日,第六届中国国际进口博览会(以下简称“进博会”)在上海国家会展中心盛大启幕,众多新科技、新成果、新展品亮相本届进博会。作为阿斯利康(AstraZeneca)合作伙伴,跬智信息(Kyli…

ApiFox添加全局参数

文章目录 Apifox右上角打开 管理环境Apifox右上角打开 管理环境 我们发现,从登录以后,在请求其他接口,每次都需要添加一个Header 头信息.这样很繁琐.那Apifox是否支持我们设置全局参数呢?方便我们每次调用需要添加Header参数的接口需要每次都重新编写.当然支持,下面带着大家配…

Hikyuu 1.3.0 发布,高性能量化交易研究框架

Hikyuu 是一款基于 C/Python 的高性能开源量化交易研究框架,用于快速策略分析及回测。与其他量化平台或回测软件相比,具备: 超快的回测速度;对完整的系统交易理念进行抽象,并分解为不同的组件,通过重用不同…

Redis被攻击纪实

一、前言 声明:本文仅供技术交流使用,严禁采用本文的方法进行任何非法活动。 上周新来的同事分享Redis的原理和机制,想起2017年的时候测试环境Redis被攻击,最后只能重新安装服务器,今天试验一把利用Redis漏洞进行攻击…

Hybrid综合应用

1、需求 实现不同vlan间PC不可互访,而不同vlan的PC均可访问服务器的特殊效果,具体要求如下。 1)在交换机中创建相关vlan 2)修改端口模式与pvid 3)修改端口允许通过的数据帧 4)结果验证,vlan5与…

docker搭建mysql环境

1. 基础环境 名称描述CentOS 7.6Linux操作系统版本docker 20.10.5docker版本mysql 8.0.29mysql镜像版本 2. 下载安装 使用docker命令下载mysql镜像 [rootzhouwei ~]# docker pull mysql:8.0.29查看docker仓库是否已经下载了mysql镜像 [rootzhouwei ~]# docker images将mys…

一体化HIS医疗信息管理系统源码:云HIS、云电子病历、云LIS

基于云计算技术的B/S架构的HIS系统,为医疗机构提供标准化的、信息化的、可共享的医疗信息管理系统,实现医患事务管理和临床诊疗管理等标准医疗管理信息系统的功能。系统利用云计算平台的技术优势,建立统一的云HIS、云病历、云LIS,…

Android:OkHttp同步请求和异步请求

一、前言 网络请求之前工作中用到的是post请求,然后了解之后发现请求的种类还有很多种。下面着重讲到是get和post的同步请求和异步请求。 二、具体内容 1.Okhttp的特点: 支持Http/2并允许对同一主机的所有请求共享一套接字;如果非HTTP/2&…

jenkins2

jenkins插件管理安装:docker-build jenkins安装了docker 配置docke builder 添加 unix:///var/run/docker.sock rootubuntu20:~# usermod -G docker jenkins 修改docker中service文件添加 -H tcp://0.0.0.0:2376 jenkins中系统管理中 tcp://localhost:2376

不同规模的企业如何借助宁盾LDAP统一用户认证实现安全和效率需求?

中小企业要解决安全和业务效率问题,须提前规划软件基础设施,其中最基础的部分是建立统一账号和统一用户身份认证体系。这个体系相当于在软件系统之间建立了一套统一的身份标准,基于这套标准创建的账号让员工方便、高效地访问公司内的大部分软…

项目文件下载器,基于Thread多线程

目录 1、Http 工具类 2、关于下载的关系类 2.1 展示下载信息 #下载信息展现线程类 #在主下载类中,进行调用上述线程类 2.2 文件的分块下载 #文件分块下载类 #文件按分块进行分别切分的方法 # 使用 LongAdder 类型,更改 DownLoadInfoThread 展现…

clang插件对llvm源码插桩,分析函数调用日志(1)

tick_plot__compile.ipynb 时长边界_时上链异数: 长短函数调用链列表 0. 用matplotlib找系统中字体文件大于1MB的 中文字体通常很大,这样过滤出的 通常有中文字体 结果中 看名字 ‘AR PL UMing CN’ 果然是中文字体 from matplotlib.font_manager import fontManag…

网页制作-引入icon

1.如何引入icon 1.1 进入https://www.iconfont.cn/ 1.2 登录或者注册一下 1.3 在搜索框输入你想搜索的内容 1.4 加入购物车 1.5 在购物车中点击下载代码 1.6 若是普通的html项目,则至需要将如下两个拷贝到你的项目中 1.7 在你需要的网页中引入iconfont.css就可以使…

教你解决msvcp140.dll丢失方法,全面分析msvcp140.dll丢失原因

msvcp140.dll是一个Microsoft Visual C库文件,主要用于支持C应用程序的运行。当找不到msvcp140.dll时,可能导致程序无法正常执行。下面是五个解决方法以及msvcp140.dll丢失的原因介绍: 一、msvcp140.dll丢失的原因: 系统故障&am…

Android T窗口动画添加移除流程(更新中)

APP侧窗口动画demo 如何创建一个窗口动画?我们通过先从APP创建一个窗口,以这个窗口的创建过程的窗口动画为例 这个demo就是点击BUTTON显示窗口,点击CLOSE WINDOW关闭窗口,下面简述关键代码 //定义WindowManager和LayoutParams…

第三阶段第一章——PySpark实战

学习了这么多python的知识,是时候来搞点真玩意儿了~~ 春风得意马蹄疾,一日看尽长安花 o(* ̄︶ ̄*)o 1.前言介绍 (1)什么是spark Apache Spark是一个开源的分布式计算框架,用于处理大规模数据集的…

万界星空科技MES系统软件体系架构及应用

MES系统是数字化车间的核心。MES通过数字化生产过程控制,借助自动化和智能化技术手段,实现车间制造控制智能化、生产过程透明化、制造装备数控化和生产信息集成化。生产管理MES系统主要包括车间管理系统、质量管理系统、资源管理系统及数据采集和分析系统…