相较于听读能力,大多数人的说写能力普遍较为薄弱,笔者在Steam转区对接客服或使用TG等软件跟外国友人简单交流时也常常感到亚历山大。

然而,得益于AI技术的发展,如今写作可以借助AI工具实现更高效的辅助,而口语的提升也不再是遥不可及的目标,本期我们分享一款专为提升口语能力设计的小工具——BabelDuck。

BabelDuck是一个面向各水平层次语言学习者的高度可定制化AI口语对话练习应用,并对初学者更友好,旨在将口语表达练习的门槛与心智负担降至最低。

主要功能

支持多对话管理、自定义系统提示词、流式响应等常见AI对话功能;

可在不影响当前对话的前提下,向AI寻求语法、翻译或表达润色等建议,并提供可定制化的快捷指令;

在对AI提供的建议有疑问时,可开启子对话进一步讨论,讨论结束后可无缝返回原对话;

支持语音输入与语音输出,集成了浏览器内置文本转语音以及AzureTTS;

集成多种LLMAI服务,支持自定义第三方API服务,可无缝切换;

数据存储于本地,确保用户数据隐私安全;

支持针对不同对话进行单独的偏好设置;

提供多语言界面;

内置使用教程;

部署流程

在常用的docker文件目录下准备一个专属文件夹,以威联通为例具体路径为

/share/Container/babelduck。

准备一个.env文件,变量内容后面是我们对应的AI模型的聊天地址、API_KEY以及模型名称(3.0、4.0等)。点我下载案例文件,可以直接填写,也可以全部留空等部署完毕后到网页端填写。注意最后把.example删掉。

soopenaioropenai-compatibleservicesarenecessaryhere(jsonmoderequired),oncewedecoupleitfromopenai(workingonit),wecanremovethisOPENAI_CHAT_COMPLETION_URL=OPENAI_API_KEY=OPENAI_MODEL_NAME=![截屏2025-01-0616.31.54-](/upload/截屏2025-01-06%2016.31.54-)soweneedtoprovidetheapiurlandapikeyaswell,youcangetthekeyfrom(whichhasbeenontheroadmap),wecanremovethesetwovariablesSTT_API_URL=

version:'3'#最新版可删除该行services:babel-duck:image:orenoid/babel-duck:latestcontainer_name:babel-duckenv_file:-/share/Container/babelduck/.envports:-"9001:9000"restart:unless-stopped

部署完毕后,网页端输入NAS_IP:7777即可访问。

反向代理

该项目建议搞一搞,不然可能报错。关于Lucky的部署及使用方法,请参照该篇文章。

反代神器,懒人利器!Docker网络工具Lucky部署使用流程记录

具体的子配置如下图所示。

使用

初始界面如下,可进行一些预设置。界面语言和想要练习的语言目前支持中、英、日文,其他设置咱们根据自身情况选择。

进入对话界面,图标估计作者压根还没搞。

来看下设置界面。

语音模型可使用浏览器内置(完全够用)或者Azure(需要订阅密钥)。

模型可以选择默认,或者其他的免费AI大模型,毕竟Open的token独立收费还不便宜。

例如注册一个openrouter。因为不同平台提供的URL前缀都不统一,BabelDuck没法自动补充路径,只能由用户自行填入完整URL(引自作者)。

我经过测试的确有效,还可以看到项目的自动纠错功能。