侧边栏壁纸
博主头像
是羊刀仙啊博主等级

闲不下来!

  • 累计撰写 100 篇文章
  • 累计创建 34 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

AI对练法力无边,更适合新手的口语对话练习应用

羊刀仙
2025-01-07 / 0 评论 / 0 点赞 / 8 阅读 / 3986 字
温馨提示:
本文最后更新于 2025-01-07,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

相较于听读能力,大多数人的说写能力普遍较为薄弱,笔者在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=

截屏2025-01-06 16.29.57.png
截屏2025-01-06 16.31.54.png

打开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

截屏2025-01-06 16.33.27.png

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

反向代理

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

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

截屏2025-01-06 16.45.08.png

使用

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

截屏2025-01-06 16.42.21.png

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

截屏2025-01-06 16.50.20.png

来看下设置界面。

截屏2025-01-06 16.49.49.png

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

截屏2025-01-06 16.52.48.png

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

截屏2025-01-06 16.54.04.png

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

截屏2025-01-06 17.26.26.png

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

截屏2025-01-06 17.22.37.png

最后

项目不错,比较难得。

目前处于起步阶段,有需求的朋友可以去用用,有啥想法可以提出Issues,顺带给作者点点star持续关注~

感谢观看,本文完。

0

评论区