给坤坤打电话 —— 实时语音对话,练习时长两年半的 AI 练习生随时接听
基于 ikun-2.5B (26M 参数) 的实时语音对话应用。按住麦克风说话,坤坤秒回你。
# 1. 安装依赖
pip install torch transformers fastapi uvicorn websockets edge-tts
# 2. 确保 ikun-2.5B 模型在同级目录
ls ../ikun-2.5B/pytorch_model.bin
# 3. 启动服务
python server.py打开浏览器访问 http://localhost:8000 ,点击"呼叫坤坤"开始语音对话。
语音识别需要 Chrome 或 Edge 浏览器
你说话 浏览器 ASR WebSocket ikun-2.5B edge-tts
┌────────┐ ┌──────────────┐ ┌──────────┐ ┌──────────────┐ ┌──────────┐
│ 🎤 │ ---> │ Web Speech │ ---> │ WS │ ---> │ 26M LLM │ -> │ 语音 │
│ 麦克风 │ │ API (zh-CN) │ │ Server │ │ 本地推理 │ │ 合成 │
└────────┘ └──────────────┘ └──────────┘ └──────────────┘ └──────────┘
│ │
│ ┌──────────┐ │
└─────────│ 🔊 │ <──────────────┘
│ 扬声器 │ audio (base64)
└──────────┘
| Component | Technology | Size |
|---|---|---|
| LLM | ikun-2.5B (LlamaForCausalLM) | 49MB (float16) |
| ASR | Web Speech API (browser) | 0MB |
| TTS | edge-tts (Microsoft) | 0MB |
| Backend | FastAPI + WebSocket | - |
| Frontend | Vanilla HTML/CSS/JS | - |
编辑 config.py 自定义:
| 参数 | 默认值 | 说明 |
|---|---|---|
MODEL_PATH |
../ikun-2.5B |
模型路径 |
SYSTEM_PROMPT |
ikun 人设 | 系统提示词 |
TTS_VOICE |
zh-CN-YunxiNeural |
TTS 音色 |
TTS_RATE |
+10% |
语速 |
MAX_NEW_TOKENS |
150 | 最大生成长度 |
- Phase 1: Web 语音对话 MVP
- Phase 2: 本地 ASR (Whisper) 实现全离线
- Phase 3: 本地 TTS (CosyVoice) 实现全端侧
- Phase 4: Mobile App (React Native / Flutter)
- Phase 5: SDK 化,支持自定义模型和角色
本项目是 ikun-llm 开源生态的一部分:
tokenizer -> pretrain -> SFT -> DPO/GRPO -> deploy -> call (you are here)