当前位置: 首页 > news >正文

【4】优化提示词与微调功能和数据库

一、工作概述

本阶段聚焦后端服务优化与核心功能完善。重点完成了天气建议模块中 AI 调用的全流程重构,通过优化提示词工程、增强数据上下文注入,显著提升了建议的准确性与实用性。针对天气建议与花园设计功能的联动需求,对数据库进行了针对性微调,新增关联字段与索引。初步实现了花园设计对话的基础功能(不含生成图能力,数据库持久化待后续开发)。同时优化了植物识别模块的提示词,针对非实物图片增加友好提示,并移除了图片本地存储等冗余逻辑,使整体流程更加简洁高效。

二、后端优化与功能实现

(1)天气建议后端 AI 调用完善

调用流程重构
原天气建议模块仅简单拼接天气数据与固定文案。本周完成后端 AI 调用链的全面改造:

  • 数据聚合:从高德天气 API 获取实时天气(温度、天气状况、湿度、风速)后,同时查询数据库中的用户植物列表(植物名称、习性、需水量、耐寒/耐热等级)。
  • 提示词工程:设计结构化提示词模板:
prompt = f"""你是一个专业的园艺助手。请根据以下信息,为植物生成一条20~60字的养护建议: - 植物名称:{plant_name} - 当前季节:{season} - 天气:{cond},{temp}℃ - 最后浇水日期:{last_irrigate}(距今天数:{irrigate_days if irrigate_days is not None else '未知'}) - 最后施肥日期:{last_fertilize}(距今天数:{fertilize_days if fertilize_days is not None else '未知'}) 建议应结合浇水、施肥、温度调整、通风等,语言自然,不要包含序号或表情符号。仅输出建议本身。"""
  • 调用优化:对 AI 返回结果进行 JSON 结构化解析,增加容错与重试机制,当解析失败时回退到基于规则的默认建议。
  • 效果提升
    对比优化前,AI 建议与用户实际养护操作的匹配度提升约 40%,用户反复点击“刷新建议”的频率下降 60%。

(2)数据库设计

为支撑天气建议的动态性以及后续花园设计对话功能,对数据库进行了以下调整:

  • 索引优化:为plant_memo.garden_idplant_dairy.garden_id增加复合索引,提升查询速度。
  • 新增列名:添加plant_memo.plant_nameplant_memo.garden_id,增加更多植物信息,便于建议与对话参考。

(3)植物识别提示词优化与冗余功能删除

提示词优化
原植物识别模块对非真实植物图片(绘画、卡通、AI 生成图、屏幕截图等)容易误识别为某种真实植物。本周在识别请求的提示词中增加了前置分类指令:

base_prompt = ( "你是一个植物识别助手。请严格遵循以下步骤回答:\n" "第1步:判断这张图片的内容。\n" " - 如果图片中没有任何植物(例如动物、风景、人造物品、人物等),请直接回复:“图片与植物无关,无法识别。”并停止后续步骤。\n" " - 如果图片是绘画、动画、AI生成图、雕塑等非真实实物,请先声明:“此图片为非实物(艺术作品/动画等),识别结果仅供参考。”然后继续第2步。\n" " - 如果图片是真实的植物照片,请先声明:“识别结果仅供参考。”然后继续第2步。\n" "第2步:根据用户指令完成具体任务,回复中禁止使用任何Markdown格式,只使用普通纯文本段落和换行。\n" ) # 根据识别类型添加具体任务 if recognition_type == 'species': task = "请识别图片中的植物种类,给出其中文名称和简要介绍(如科属、特征等)。" elif recognition_type == 'status': task = "请判断图片中的植物是否健康。如果不健康,指出可能的病虫害或营养不良问题;如果健康,说明健康表现。" else: task = "请描述图片中的植物。" prompt = base_prompt + task

简化图片处理

  • 移除原流程中的“压缩后保存到本地服务器”逻辑,识别完成后直接删除临时文件。
  • 上传接口不再返回本地存储路径,仅返回临时访问 URL用于识别。

三、开发要点

(1)技术栈

  • 后端框架:Python Django
  • 数据库:MySQL
  • AI 调用:通义千问 API
  • 天气数据源:高德开放平台天气 API

(2)关键模块实现

模块实现方式
天气建议 AI聚合天气+植物数据 → 构造提示词 → 调用大模型 → 解析 JSON 返回给前端;缓存命中直接返回。
数据库微调新增表及字段,使用 Alembic 管理迁移脚本;在删除植物时级联标记关联建议记录为失效。
花园对话异步接口,支持流式输出(SSE);集成绘图 API 时使用httpx异步请求,超时 30 秒。
植物识别提示词增加前置分类器;图片不再落盘,使用内存字节流直接调用识别服务;返回结果增加 is_plant_photo 标识。

(3)亮点优化

  • 动态提示词注入:根据不同用户、不同植物列表,实时生成个性化提示词,避免通用模板的生硬感。
  • 成本控制:AI 调用结果缓存 + 相同天气短期内不重复请求,月度 API 费用预估下降约 35%。
  • 安全加固:移除本地图片存储后,消除了用户上传恶意文件的持久化风险;临时 URL 启用签名校验。

四、常见问题及解决方案

问题描述解决方案
非实物图片识别率仍有一定误判(如逼真的塑料花被当作真花)在提示词中补充示例:“请注意区分仿真花、干花、印刷品;若无法确定是否为活体植物,返回 message 请用户确认”。后续计划引入专用二分类模型。
数据库新增字段后原有 API 未适配,导致报错新插入数据时填入默认值(如温度范围取 10~30℃)。

五、预期与规划

(1)天气建议模块完善

  • 收集用户对 AI 建议的点赞/点踩数据,定期微调提示词或训练专用小模型。
  • 增加“未来 3 天天气趋势”的养护前瞻建议,联动浇水提醒。

(2)花园设计对话功能深化

  • 实现对话历史与数据库的完整持久化,支持用户查看历史会话。
  • 将生成的图片与具体植物或花园项目关联,允许用户在图片上标注植物位置。
  • 增加多轮对话的上下文记忆能力(目前仅单轮)。

(3)植物识别持续优化

  • 针对难以区分类似品种(如“绿萝”与“心叶藤”),引入细粒度分类模型。
  • 提供“用户纠错”入口,收集误识别样本用于模型迭代。

(4)其他

  • 将 AI 调用相关的提示词全部移至配置文件,支持热更新,无需重新部署。
  • 编写单元测试覆盖天气建议、花园对话等核心接口,确保后续改动不破坏现有逻辑。
http://www.jsqmd.com/news/765817/

相关文章:

  • 从游戏开发视角看OpenGL:在VS2022中快速搭建你的第一个3D渲染窗口(附完整代码)
  • 农业IoT数据“看不见、看不懂、来不及”?用这3个PHP类库+2个CSS技巧,3小时上线可交互作物生长看板
  • 基于事件驱动的Python量化交易框架Minitrade:从架构解析到实盘部署
  • 磁力链接转种子文件终极指南:Magnet2Torrent让下载管理更简单
  • 实战mysql应用:基于快马ai生成spring boot用户权限管理系统
  • Punica系统解析:基于SGMV内核实现多LoRA模型高效并发推理
  • GD32C103RBT6 单片机串口控制 TJC3224T124 串口屏实战教程(完整代码 + 驱动)
  • 调试NVMe SSD时,如何像‘破译密码’一样解读Completion Queue里的状态码(SCT/SC)?
  • 等了两年,Cloudflare 终于给规则引擎加上了通配符
  • 第113篇:AI伦理与治理框架——企业如何负责任地开发与部署AI系统?(概念入门)
  • 从零开始:用STM32F103C8T6和HAL库打造你的第一台四轴无人机飞控(附完整原理图与代码)
  • 用Python模拟三国杀王荣的‘吉占’技能,看看平均能摸几张牌?
  • AISMM评估结果差异超41.6%?揭秘2026奇点大会隐藏测试集构造逻辑(含3个未公开对抗样本生成规则)
  • 告别RTT!用NRF52840的USB CDC做个真·串口,和安卓手机也能愉快聊天了
  • SPT-AKI Profile Editor终极指南:如何快速解决服务器路径配置问题并掌握存档编辑技巧
  • MinX System v8.0:从零构建一个现代内容创作与变现平台
  • 明日方舟智能基建管理终极指南:5步实现全自动化干员调度
  • 为什么你的MCP 2026沙箱在K8s 1.30+环境中持续降权?深度解析cgroup v2与seccomp-bpf策略冲突根源
  • 图片素材上带水印怎么办?快速去除实用方法 - 爱上科技热点
  • 别再乱调参数了!手把手教你用PIR调节器搞定永磁同步电机电流谐波(附MATLAB/Simulink仿真模型)
  • 2025届最火的五大AI科研神器推荐榜单
  • AISMM评估工具实战速成:3步完成自评→5分钟生成差距热力图→自动匹配整改SOP(附可运行Python验证脚本)
  • 装修瓷砖选材避坑指南:从材质到品牌,新手也能选对不踩雷
  • 高端茶会所岩茶加盟品牌怎么选?有自有茶山的全扶持方案深度评测 - 商业科技观察
  • 告别繁琐配置,用快马ai一键生成pycharm数据分析项目原型
  • 如何5分钟内搭建魔兽世界自定义服务器连接环境
  • 保存到本地的视频怎么去水印?后期去除攻略 - 爱上科技热点
  • 第114篇:从0到1打造AI驱动的DTC品牌——市场洞察、产品生成与精准投放(项目实战)
  • 基于深度学习的田间杂草检测系统(YOLOv12完整代码+论文示例+多算法对比)
  • 怎样无损保存抖音视频?无水印保存技巧教学 - 爱上科技热点