相较于听读能力,大多数人的说写能力普遍较为薄弱,笔者在Steam转区对接客服或使用TG等软件跟外国佬简单交流时也常常感到亚历山大。
然而,得益于 AI 技术的发展,如今写作可以借助AI工具实现更高效的辅助,而口语的提升也不再是遥不可及的目标。
本期我们分享一款专为提升口语能力设计的小工具——BabelDuck。
📖 项目介绍
BabelDuck 是一个面向各水平层次语言学习者的高度可定制化 AI 口语对话练习应用,并对初学者更友好,旨在将口语表达练习的门槛与心智负担降至最低。
✨ 主要功能
支持多对话管理、自定义系统提示词、流式响应等常见 AI 对话功能
可在不影响当前对话的前提下,向 AI 寻求语法、翻译或表达润色等建议,并提供可定制化的快捷指令
在对 AI 提供的建议有疑问时,可开启子对话进一步讨论,讨论结束后可无缝返回原对话
支持语音输入与语音输出,集成了浏览器内置文本转语音 以及 Azure TTS
集成多种 LLM AI 服务,支持自定义第三方 API 服务,可无缝切换
数据存储于本地,确保用户数据隐私安全
支持针对不同对话进行单独的偏好设置
提供多语言界面
内置使用教程
🎯 未来规划
对话模板
复述练习模式
移动端适配
语音回放
支持多模态语音
接入更多 LLM/TTS/STT 服务
实时语音模式
更多指令类型
插件系统
部署流程
在常用的docker文件目录下准备一个专属文件夹,以威联通为例具体路径为/share/Container/babelduck
。
准备一个.env
文件,变量内容后面是我们对应的AI模型的聊天地址、API_KEY以及模型名称(3.0、4.0等)。点我下载案例文件,可以直接填写,也可以全部留空等部署完毕后到网页端填写。注意最后把.example
删掉。
# unforunately, the implementation of input handlers is coupled with openai at this time,
# so openai or openai-compatible services are necessary here (json mode required), once we decouple it from openai (working on it), we can remove this
OPENAI_CHAT_COMPLETION_URL=
OPENAI_API_KEY=
OPENAI_MODEL_NAME=
![截屏2025-01-06 16.31.54-tcas.png](/upload/截屏2025-01-06%2016.31.54-tcas.png)
# another unfortunate thing is that the stt feature is coupled with siliconflow for now,
# so we need to provide the api url and api key as well, you can get the key from https://cloud.siliconflow.cn/account/ak
# Also, once we decouple it from siliconflow (which has been on the roadmap), we can remove these two variables
STT_API_URL=https://api.siliconflow.cn/v1/audio/transcriptions
SILICONFLOW_API_KEY=
打开Docker管理工具,创建新的应用程序。以威联通NAS为例,打开Container Station,将以下代码复制并修改后粘贴进框内,点击创建。注意代码的格式对齐!
version: '3' # 最新版可删除该行
services:
babel-duck:
image: orenoid/babel-duck:latest
container_name: babel-duck
env_file:
- /share/Container/babelduck/.env
ports:
- "9001:9000"
restart: unless-stopped
部署完毕后,网页端输入NAS_IP:7777即可访问。
反向代理
该项目建议搞一搞,不然可能报错。关于Lucky的部署及使用方法,请参照该篇文章。
具体的子配置如下图所示。
使用
初始界面如下,可进行一些预设置。界面语言和想要练习的语言目前支持中、英、日文,其他设置咱们根据自身情况选择。
进入对话界面,图标估计作者压根还没搞。
来看下设置界面。
语音模型可使用浏览器内置(完全够用)或者Azure(需要订阅密钥)。
模型可以选择默认,或者其他的免费AI大模型,毕竟Open的token独立收费还不便宜。
例如注册一个openrouter。因为不同平台提供的 URL 前缀都不统一,BabelDuck 没法自动补充路径,只能由用户自行填入完整 URL(引自作者)。
我经过测试的确有效,还可以看到项目的自动纠错功能。
最后
项目不错,比较难得。
目前处于起步阶段,有需求的朋友可以去用用,有啥想法可以提出Issues,顺带给作者点点star持续关注~
感谢观看,本文完。
评论区