项目实训开发日志(五)

# BabyMind 项目营养模块第五周周报

本周团队开发重点从"业务数据录入展示"转向"系统能否真正具备智能问答和模块联动能力",完成了统一问答入口、RAG 知识库接入和多 Agent 路由。我则在这一阶段完成营养 Agent 接入统一问答链路,并将已有 Service 层逻辑封装为 LangChain Tool,使营养类问题走规则引擎而非纯 LLM 生成。经过本周开发,营养模块已接入 `POST /api/v1/qa/ask` 统一入口,并可通过 Agent 工具调用推荐、食谱与过渡指南能力。

一、本周完成内容

1. 营养类问题接入多 Agent 路由,路由逻辑位于 `backend/services/agent_router_service.py`。系统根据问题关键词(辅食、喂养、食谱、过敏、饮食等)或用户指定的 `preferred_agent=nutrition`,将请求路由到 nutrition Agent,`agent_type` 返回 `nutrition`。

2. 封装营养 Agent 工具集,位于 `backend/agents/tools/nutrition_tools.py`,共 4 个工具:

   - `get_food_recommendations`:调用 `build_nutrition_recommendations`

   - `generate_weekly_meal_plan`:调用 `build_weekly_meal_plan`

   - `get_transition_guide`:按阶段返回喂养过渡场景

   - `check_growth_status`:调用 `growth_service.get_latest_growth_summary` 获取生长曲线摘要

3. 配合 RAG 接入,营养类问答可检索 `nutrition` Chroma 集合(207 条知识片段)。eval 脚本 `tests/eval/eval_rag.py` 抽样 30 条用例,营养子集 7/7 命中,整体检索准确率 100%。

4. 验证跨 Agent 联动。`tests/eval/eval_cross_agent_sync.py` 共 10 个场景全部通过,其中 `health→nutrition` 场景验证 health Agent 通过 `notify_nutrition_agent` 异步通知营养 Agent。此外,营养 REST 接口在每次请求时也会读取 `affects_diet=True` 的健康记录,在 `dietary_alerts` 中给出提醒。

5. 补充测试。`tests/test_agent_router.py` 覆盖营养问题路由;`tests/test_integration_flows.py` 中 `test_unified_qa_routes_health_timeline_and_nutrition` 验证 health / timeline / nutrition 三类问题均可正确分流。

二、遇到的问题

Agent 早期存在跳过工具调用、直接用 LLM 生成推荐的情况,导致与 REST 接口结果不一致。通过在 Agent System Prompt 中要求优先调用 `get_food_recommendations` 后改善。`get_transition_guide` 在无精确关键词匹配时,改为返回该阶段全部过渡场景,避免空结果。

三、下周计划

1. 补全各阶段 `TransitionGuide` 场景内容。

2. 推进 Android 营养页面联调。

3. 搭建 eval 量化评估体系,整理 `docs/acceptance_metrics.md`。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值