3.2 KiB
3.2 KiB
恢复文档:zhiyid max_tokens 修复(2026-08-17 晚 单位网络 中断)
牧尘带电脑回家后继续修复。本文件是完整交接状态。
任务目标
改 zhiyid 源码 max_tokens 150→800,让织忆蒸馏用上 Agnes 2.0-flash (当前织忆只能委屈用 llama-3.1-8b,因为 zhiyid 二进制 max_tokens=150 硬编码, Agnes 是推理模型会截断 JSON → parse error → 蒸馏退化 fallback)
当前已落地状态(全部实测)
| 组件 | 模型 | 状态 |
|---|---|---|
| 织忆蒸馏 zhiyid | llama-3.1-8b(NewAPI) | ✅ 正常(LLM entities:4 facts:2) |
| TencentDB L1 | agnes-2.0-flash | ✅ extracted=1 stored=1 |
| daemon 持久意识 | agnes-2.0-flash | ✅ 重启生效 |
| 11 个 cron 任务 | agnes-2.0-flash | ✅ 全部确认 |
| 蒸馏看门狗 | 候选池 gemma 优先(Agnes 移出) | ✅ 健康静默 |
| 巡检自愈 | 同上 | ✅ 语法+逻辑验证 |
卡点:Gitea 源码不可达
- 单位网络访问 git.zszs.site → Nginx 404(frp 隧道通,路由器 frpc 在线, 但家里服务器 192.168.123.11 上的服务没跑)
- 本机 frpc 已停(
sudo systemctl stop frpc,避免和路由器冲突) - 本机无 memoryweave 源码副本(/tmp/memoryweave 被清过,备份目录空)
回家后继续步骤
- 确认局域网通:
curl http://192.168.123.11:3000(Gitea 局域网直连) - 拉源码:
(如失败用 Gitea token:9380e8e696662dfd93e1e0e60d64511e01bd0653)cd /tmp && git clone http://192.168.123.11:3000/xiaoxue_admin/memoryweave.git - 改 max_tokens:
go/internal/distill/engine.go搜max_tokens(150→800) - 编译:
cd go && go build -o zhiyid-new ./cmd/zhiyid - 部署:
systemctl --user stop zhiyid cp zhiyid-new /home/muc/bin/zhiyid-new # zhiyid.service 切回 Agnes: # LLM_ENDPOINT=https://apihub.agnes-ai.com/v1/chat/completions # LLM_API_BASE=https://apihub.agnes-ai.com/v1 # LLM_MODEL=agnes-2.0-flash # LLM_API_KEY=<AGNES_KEY 从 .env> systemctl --user daemon-reload && systemctl --user start zhiyid - 验证:commit 测试 → journalctl 看
LLM entities: N(N≥3 且无 parse error) - 蒸馏候选池改回 Agnes 优先:distill-model-watchdog.py + model-health.py CANDIDATE_POOL / distill_pool 把 agnes-2.0-flash 放最前(当前已移出)
- git 提交 + 更新 zhiyi skill
关键文件/备份
- zhiyid.service:
~/.config/systemd/user/zhiyid.service(当前 llama-3.1+NewAPI) - tdai-gateway.yaml:
~/.memory-tencentdb/memory-tdai/tdai-gateway.yaml(Agnes) - 备份:zhiyid.service 无 bak(手工改的),tdai-gateway.yaml.bak-agnes 有
- 相关 git 提交:2325b65(Agnes接入)、ed0e88b(全面切Agnes)、7d39171(截断修复)、becb3d0(候选池回退)
关键教训(已写入 zhiyi skill)
- Agnes 2.0-flash 是推理模型:max_tokens 150 里 99 是推理 token,正文只有 51 → JSON 必截断
- 所有 JSON 探针必须 ≥500 tokens(看门狗/巡检已改)
- 蒸馏专用必须非推理模型(zhiyid max_tokens=150 限制)——除非改源码
- frp 诊断:
proxy already exists= 路由器 frpc 在线(隧道好),404 = 目标服务挂了