综合介绍
MoshiVis 是 Kyutai Labs 开发的一个开源项目,托管在 GitHub 上。它基于 Moshi 语音-文本模型(7B 参数),新增了约 2.06 亿个适配参数和冻结的 PaliGemma2 视觉编码器(400M 参数),让模型能实时用语音与用户讨论图像内容。MoshiVis 的核心特点是低延迟、自然对话和图像理解能力。它支持 PyTorch、Rust 和 MLX 三种后端,用户可免费下载代码和模型权重,运行在本地设备上。项目面向开发者与研究者,适合探索 AI 交互或开发新应用。
功能列表
- 支持实时语音输入与输出,用户说话后模型快速响应。
- 能分析图像内容,用语音或文字描述图片细节。
- 提供 PyTorch、Rust 和 MLX 三种后端,适配不同硬件。
- 开源代码和模型权重,允许用户自由修改。
- 低延迟设计,适合实时对话场景。
- 支持量化格式(如 4 位、8 位),优化内存与性能。
- 内置跨注意力机制,融合视觉与语音信息。
使用帮助
MoshiVis 需要一定技术基础才能安装和使用。官方提供了详细说明,以下是安装与操作的完整指南。
安装流程
MoshiVis 支持三种后端运行,用户可根据设备选择合适的版本。最低要求包括 Python 3.10+,以及足够内存(PyTorch 版建议 24GB GPU,MLX 版适合 Mac)。
PyTorch 后端安装
- 安装依赖:
pip install -U moshi
- 下载模型权重并启动服务:
cd kyuteye_pt
python -m moshi.server --hf-repo kyutai/moshika-vis-pytorch-bf16 --port 8088
- 访问
https://localhost:8088
,进入网页界面。 - 若远程运行,需用 SSH 转发端口:
ssh -L 8088:localhost:8088 user@remote
Rust 后端安装
- 安装 Rust 工具链(通过
rustup
获取)。 - 配置 GPU 支持(Mac 用 Metal,NVIDIA 用 CUDA)。
- 运行服务:
cd kyuteye_rs
cargo run --features metal --bin moshi-backend -r -- --config configs/config-moshika-vis.json standalone --vis
- 看到“standalone worker listening”后,访问
https://localhost:8088
。 - 可选量化版本:
cargo run --features metal --bin moshi-backend -r -- --config configs/config-moshika-vis-q8.json standalone --vis
MLX 后端安装(Mac 推荐)
- 安装 MLX 依赖:
pip install -U moshi_mlx
- 启动服务(支持多种量化格式):
cd kyuteye_mlx
python -m moshi_mlx.server # 默认 BF16
python -m moshi_mlx.server -q 4 # 4 位量化
python -m moshi_mlx.server -q 8 # 8 位量化
- 访问
http://localhost:8008
使用网页界面。
前端安装
- 下载预构建客户端:
pip install fire rich huggingface_hub
python scripts/get_static_client.py
- 生成 SSL 证书(用于 HTTPS):
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout key.pem -out cert.pem
- 后端默认提供网页界面,无需额外操作。
主要功能操作
实时语音对话
- 步骤:启动服务后,打开网页界面(
https://localhost:8088
或http://localhost:8008
)。点击麦克风图标开始说话。 - 示例:说“你好”,模型会用女声(Moshika)回应“你好,有什么我可以帮你的吗?”。
- 细节:延迟低至毫秒级,确保麦克风权限已开启。
- 调整:Rust 版支持命令行界面:
cd kyuteye_rs
cargo run --bin moshi-cli -r -- tui --host localhost
图像理解
- 步骤:在网页界面上传图片,或用命令行指定路径:
python -m moshi_mlx.server -q 8 --image path/to/image.jpg
- 操作:上传后,说“这是什么?”模型会用语音描述,比如“这是张蓝天白云的照片”。
- 特色:基于 PaliGemma2 编码器,能识别物体、颜色和场景。
模型自定义
- 步骤:从 Hugging Face 下载其他权重(如
kyutai/moshika-vis-mlx-bf16
),替换配置文件中的路径。 - 操作:修改
configs/moshika-vis.yaml
或config-moshika-vis.json
,重新启动服务。 - 用途:调整语音风格或优化性能。
完整操作流程
- 选择后端:根据设备选 PyTorch(GPU)、Rust(跨平台)或 MLX(Mac)。
- 安装环境:按上述命令安装依赖和模型。
- 启动服务:运行后端,等待服务就绪。
- 连接界面:用浏览器访问指定端口。
- 测试语音:说简单句子,检查响应。
- 测试图像:上传图片,用语音提问。
- 优化设置:调整量化参数(
-q 4
或-q 8
)或端口号。
注意事项
- HTTPS 需 SSL 证书,否则浏览器可能限制麦克风访问。
- PyTorch 版暂不支持量化,需高性能 GPU。
- Rust 版编译耗时,初次运行需耐心。
- MLX 版在 M3 MacBook Pro 上测试稳定,推荐 Mac 用户。
应用场景
- 教育支持
学生上传课本图片,MoshiVis 用语音讲解内容,如“这是张细胞结构图,显示细胞核和线粒体”。 - 无障碍辅助
视障用户上传日常照片,模型描述“这是超市货架,摆满牛奶和面包”。 - 开发实验
开发者用它构建语音助手,集成到智能设备中实现图像交互。
QA
- MoshiVis 支持离线使用吗?
是的。安装后,所有功能在本地运行,无需联网。 - 语音支持多语言吗?
当前主要支持英语对话和描述,其他语言功能有限。 - 低配电脑能用吗?
MLX 版可在普通 Mac 上运行,PyTorch 版需 24GB GPU 内存。