如何开发FoloToy玩具可以使用的私有 STT/LLM/TTS 服务
FoloToy AI 玩具是如何工作的? FoloToy 出品的所有玩具(包括电路板)作为客户端连接玩具服务,玩具服务我们提供了folotoy-server的docker自部署镜像,可以轻易的部署在各种 Linux 发行版系统上,包括 Debian/Ubuntu/CentOS等等,自部署镜像配置下载地址为: 自部署镜像:https://github.com/FoloToy/folotoy-server-self-hosting 部署教程:https://docs.folotoy.com/zh/docs/installation/start 玩具服务 folotoy-server 主要由以下3个部分组成 语音转文本:服务程序通过互联网接收玩具发送的实时录音数据,并调用 STT(声音转文本)API 将声音转换为文本。目前支持的 STT 选项包括:openai-whisper、azure-stt、azure-whisper、dify-stt、aliyun-asr 等,点击查看支持的STT完整列表。 调用大模型生成文本:在接收到上述文本后,立即调用 LLM(大型语言模型)API以流式方式获取 LLM 生成的句子。然后,调用 TTS(文本转语音)API 将句子转换为人类语音。目前支持的 LLM 选项包括:openai、 azure-openai、gemini、qianfan、dify或由 One-Api 代理的 LLM,以及与 OpenAI 接口兼容的其他大模型服务,如 moonshot 等, 点击查看支持的LLM或者Agent完整列表。 文本转语音:玩具将接收由FoloToy服务器生成的 TTS(文本转语音)音频文件流,并按顺序播放它们。目前支持的 TTS 选项包括: openai-tts、 azure-tts、 elevenlabs、 aliyun-tts、dify-tts、edge-tts(免费)等,点击查看支持的TTS完整列表。 FoloToy AI玩具调用的接口,支持了LLM行业的通行的做法,即完全兼容 OpenAI 的接口,在了解工作原理之后,只需要提供 OpenAI 接口格式相同RESTful接口,给folotoy-server调用,就能实现让玩具使用自定义的STT/LLM/TTS服务,如图所示: 接下来介绍如何实现蓝色圆圈的部分服务 实现和调用自定义服务 实现支持 OpenAI 接口的自定义服务之后可以通过修改 docker-compose.yml 或者 roles.json 文件来调用。docker-compose.yml 为修改全局变量,roles.json 可以针对角色进行修改,roles.json 配置的优先级高于 docker-compose.yml。 自定义 STT 服务 接口说明 自行实现 STT 服务 RESTful 接口说明,详情请参考 OpenAI STT 接口:https://platform....