AI 对话不响应与嵌入失败排查
症状分类
AI 功能出问题通常有两种表现:
- AI 对话不响应——点击"发送"后一直转圈,或直接报错
- 语义搜索返回空结果——明明书里有相关内容,但搜不到
两种症状的排查路径不同。
AI 对话不响应排查
第一步:检查 AI 提供商配置
- 进入设置 → AI 提供商
- 确认选择了一个提供商,并且 API Key / Base URL 填写正确
- 点击"测试连接"按钮:
- ✅ 连接成功 → 配置没问题,继续排查
- ❌ 连接失败 → 返回提供商配置页重新填写
第二步:检查网络
- 尝试用浏览器访问 AI 提供商的官方网站,确认你能上网
- 如果配置了代理/VPN,确认 ReadAny 能走代理(Tauri 应用使用系统代理设置)
- 国内用户注意:OpenAI / Claude / Gemini 的官方 API 在国内直连可能被墙,需要代理或用国内兼容 API
第三步:检查账户余额/限额
- OpenAI / Claude / Gemini 等云端 API 按用量计费,如果账户余额为零或达到月度上限,API 会返回 403 或 429 错误
- Ollama 用户:运行
ollama list确认拉取了对话模型 - 硅基流动等国内平台:检查积分余额
第四步:查看错误日志
ReadAny 会把错误记录在本地日志里。在设置 → 开发者选项里开启日志后,再次尝试 AI 对话,然后查看日志文件。常见错误码:
| 错误码 | 含义 | 解决方案 |
|---|---|---|
| 401 | API Key 无效 | 重新填入正确的 Key |
| 403 | 账户余额不足或权限受限 | 充值或升级权限 |
| 429 | 请求过于频繁 | 降低使用频率或升级 API 计划 |
| 500+ | AI 服务端故障 | 稍后重试 |
语义搜索返回空结果排查
第一步:确认已完成向量化
这是最常见的原因。导入书籍后,如果没有配置嵌入模型或向量化失败,语义搜索当然返回空。
- 进入书籍详情 → 检查"向量索引"状态
- 如果显示"未向量化"→ 点击"开始向量化"→ 等待完成
- 如果显示"向量化失败"→ 查看失败原因(通常是嵌入模型配置问题)
第二步:检查嵌入模型配置
- 嵌入模型和对话模型是两个独立的配置项!很多用户只配了对话模型,忘记配嵌入模型
- 回到 AI 提供商设置,单独配置嵌入模型
- Ollama 用户:
ollama pull nomic-embed-text拉取嵌入模型
第三步:测试向量化
向量化完成后,试试在同一本书里搜一个你确定存在的关键词。如果还是搜不到,可能是:
- 嵌入模型效果不好 → 换一个模型试试
- 书籍格式解析有问题(比如扫描版 PDF 没有文字层)
Ollama 特殊问题
本地 Ollama 有时会因为资源不足出问题:
- Mac M 系列:Ollama 自动利用 Apple Silicon 的统一内存,注意留出足够 RAM
- Windows 无独显:Ollama 用 CPU 跑,速度会慢很多(但功能正常)
- 端口冲突:ReadAny 默认连接
localhost:11434,如果 Ollama 用了其他端口,需要在配置里改
重置配置
如果实在搞不定,可以尝试:
- 关闭 ReadAny
- 备份你的书库数据库
- 删除 ReadAny 数据目录
- 重新启动,从设置向导重新配置 AI 提供商
- 重新导入书籍(向量索引需要重建)
这是最彻底的方式——虽然麻烦,但能排除任何配置残留问题。