You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

毕业论文自研推荐模型:基于自有数据库的工具推荐聊天系统开发咨询

毕业论文项目:自有数据库驱动的工具推荐聊天系统方案

整体架构拆解

直接给你搭项目的核心模块,按流程走:

  1. 自有数据库层:
    • 用PostgreSQL建tools表,字段至少要有:tool_id(主键)、name(工具名)、description(功能描述)、applicable_scenarios(JSON格式,存比如["橱柜组装", "衣柜安装"]这类场景)、usage_tips(使用提示)。另外可以加个user_queries表存用户历史提问,方便后续优化。
    • 如果要做语义检索,搭配轻量级向量库Chroma,把每个工具的场景、描述转成向量存进去,快速匹配用户问题。
  2. 语义检索层:
    • 把用户的自然语言提问(比如“怎么组装橱柜”)转成向量,和Chroma里的工具向量做相似度匹配,揪出最相关的3-5个工具。
  3. 对话生成层:
    • 把检索到的工具信息拼进prompt,喂给开源对话模型,让它生成带工具推荐的组装步骤,严格限制只能用你数据库里的工具。
  4. 交互层:
    • 用Streamlit搭个简单的聊天界面,用户输问题,后端处理完返回回答,毕设演示足够用。

技术选型(全是开源、易上手的工具,适合毕设)

  • 后端:Python + FastAPI,写接口快,文档全,能快速把检索、模型调用串起来。
  • 数据库:PostgreSQL(存结构化工具数据)+ Chroma(向量检索,本地跑不用付费)。
  • 模型:
    • 语义匹配:用sentence-transformers的all-MiniLM-L6-v2,轻量、速度快,文本转向量效果够你用。
    • 对话生成:用量化版的Llama 2-7B或者Qwen-7B-Chat,用transformers库或者llama.cpp就能本地部署,16G内存的电脑就能跑。
  • 前端:Streamlit,不用写HTML/CSS,几行Python代码就能搭出聊天界面。

学习路径(按顺序来,别乱跳)

  1. 先搞定基础工程能力
    • 花1-2天学FastAPI,跟着官方文档写个能查询PostgreSQL的接口,比如输入场景关键词,返回对应的工具列表。
    • 熟悉PostgreSQL的基本操作:建表、插入数据、写查询语句,比如用psycopg2或者SQLAlchemy操作数据库。
  2. 搞定语义检索核心
    • 学sentence-transformers的基本用法:把文本转成向量,计算相似度。然后把你数据库里的工具场景、描述批量转成向量,导入Chroma。
    • 写个简单的检索函数:输入用户问题,转成向量,从Chroma里拉Top3相关工具。
  3. 学会RAG(检索增强生成)
    • 了解RAG的基本逻辑:用检索到的外部数据(你的工具库)约束模型生成内容,避免瞎编。
    • 设计prompt模板,比如:
      你是专业的DIY工具助手,现在用户问:{user_question}
      请根据以下提供的工具信息,给出详细的组装步骤和对应的工具推荐,**只能使用下面列出的工具,禁止提到任何不在列表里的工具**:
      {retrieved_tools}
      回答格式:先讲组装步骤,再列工具列表(工具名+简要用途)
      
    • 本地部署量化版的对话模型,测试prompt效果,调整模板直到生成的回答符合要求。
  4. 整合所有模块
    • 把检索函数、模型调用函数塞进FastAPI接口里,前端用Streamlit写个聊天框,调用后端接口,完成端到端的流程。
  5. 优化细节
    • 加个简单的校验:生成的回答里提到的工具,必须在你的数据库里存在,用字符串匹配或者查tools表的方式验证,避免模型瞎编。
    • 优化检索准确率:把工具的applicable_scenarios拆成更细的关键词,比如“橱柜组装-打孔”“橱柜组装-固定”,提升匹配精度。

同类项目参考思路

  • 比如面向装修工人的工具推荐机器人:用户输入“装吊顶需要啥工具”,机器人从自有库中匹配电钻、膨胀螺丝、水平仪等,同时给出安装步骤。
  • 简化版实现流程:
    1. 整理工具数据,导入PostgreSQL和Chroma。
    2. 用户输入问题→转向量→Chroma检索相关工具。
    3. 把问题+工具信息拼prompt→传给对话模型→生成回答。
    4. 返回回答给前端展示。

避坑提醒

  • 别从零训练模型:毕设时间有限,开源预训练模型足够用,从零训不仅费时间,效果还不如现成的。
  • 模型量化:用4-bit或8-bit量化的模型,不然普通电脑跑不动,transformers库的bitsandbytes插件就能实现。
  • 数据要规整:工具的场景、描述尽量标准化,别写太模糊的内容,不然检索匹配会不准。

内容的提问来源于stack exchange,提问作者danil-losev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.02 03:13:10