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

vue+flask大模型写诗诗词推荐与可视化系统

          文章结尾部分有CSDN官方提供的学长 联系方式名片文章结尾部分有CSDN官方提供的学长 联系方式名片关注B站,有好处!

编号: F061

大模型诗词推荐与可视化系统

在传统文化数字化的浪潮下,我开发了这款诗歌问答大数据平台,旨在通过现代技术赋能古典诗词学习与传播。平台不仅实现了诗词数据的系统化管理,更融合了AI推荐、可视化分析等智能化功能。本文将重点介绍平台的核心功能模块,分享技术实现思路与功能亮点。

技术架构

vue+flask+mysql+llm

功能说明

在这里插入图片描述

功能介绍

1.推荐功能:混合推荐算法【基于内容的推荐+协同过滤+冷启动】
协同过滤:结合用户点赞行为,挖掘兴趣相似用户群体的偏好;
在这里插入图片描述

def hybrid_recommend(user_id, top_n=10):"""混合推荐函数,结合基于内容的推荐、协同过滤推荐和热门推荐。:param user_id: 用户的 ID,用于获取用户的点赞记录。:param top_n: 推荐的诗歌数量,默认为 10。:return: 推荐的诗歌 ID 列表。"""# 获取指定用户的点赞记录,仅提取诗歌 IDuser_likes = UserLike.query.filter_by(user_id=user_id).with_entities(UserLike.poem_id).all()# 将查询结果转换为包含诗歌 ID 的列表user_likes = [like.poem_id for like in user_likes]# 若用户没有点赞记录,调用热门推荐函数,返回热门诗歌的 ID 列表# 打印联合推荐结果# 合并基于内容和协同过滤的推荐结果,去除重复项,并截取前 top_n 个# 调用协同过滤推荐函数,获取推荐的诗歌 ID 列表# 若用户有点赞记录,调用基于内容的推荐函数,获取推荐的诗歌 ID 列表# 检查用户是否有点赞记录# 打印调试信息,可注释掉这行以避免输出过多信息# 调用 extract_features 函数,提取所有诗歌的 ID、文本特征和类别特征poem_ids, text_features, category_features = extract_features()# print(poem_ids, text_features, category_features)if user_likes:content_based_rec = content_based_recommend(user_likes, poem_ids, text_features, category_features, top_n)collaborative_rec = collaborative_filtering_recommend(user_id, top_n)combined_rec = list(set(content_based_rec + collaborative_rec))[:top_n]print('联合推荐:', combined_rec)return combined_recelse:return popular_recommend(top_n)

2.喜欢功能:这个和结合推荐一起用的,可以点击喜欢诗词点赞/取消点赞
用户可对喜爱的诗词进行 点赞/取消点赞,操作数据实时反馈至推荐引擎;
在这里插入图片描述

3.智能写诗:基于硅基流动的模型接口实现对话写诗
对接 硅基流动模型接口,实现自然语言对话式写诗。
在这里插入图片描述

在这里插入图片描述

def chat_with_siliconflow(messages, model="Qwen/Qwen3-32B"):"""使用硅基流动的Qwen3模型生成回答"""headers = {"Authorization": f"Bearer {OPENAI_API_KEY}","Content-Type": "application/json"}# 构建提示词prompt = f"""你是一个写诗专家,请完成用户的需求:{messages}。"""payload = {"model": model,"messages": [{"role": "system", "content": "你是一个写诗专家,请完成用户的需求。"},{"role": "user", "content": prompt}],"max_tokens": 512,"temperature": 0.7,"top_p": 0.9}try:response = requests.post(f"https://api.siliconflow.cn/v1/chat/completions",headers=headers,data=json.dumps(payload),timeout=60)if response.status_code == 200:data = response.json()return data["choices"][0]["message"]["content"].strip()else:logger.error(f"API请求失败: {response.status_code} - {response.text}")return "抱歉,暂时无法回答这个问题,请稍后再试。"except requests.exceptions.RequestException as e:logger.error(f"API请求异常: {e}")return "抱歉,暂时无法回答这个问题,请稍后再试。"

4.可视化功能:echarts图形进行分析诗人朝代、主题分布
朝代分布:柱状图展示各朝代诗词数量占比,直观呈现“唐诗宋词”的巅峰地位;
主题分析:词云图/饼图统计山水、边塞、思乡等主题的分布情况;
在这里插入图片描述

5.个人信息:个人信息修改、头像上传修改、预设头像
支持 个人信息修改+头像自定义+预设头像库个性化配置。
在这里插入图片描述
在这里插入图片描述

6.登录注册:登录、注册
在这里插入图片描述
在这里插入图片描述

7.查询诗词+诗人展示:支持诗词浏览、查询
支持标题查询+全文检索
在这里插入图片描述

诗人展示
在这里插入图片描述

8.用户管理:支持用户管理、增删改查
在这里插入图片描述

http://www.dtcms.com/a/323276.html

相关文章:

  • 代理人工智能的隐藏威胁
  • 【渲染流水线】[几何阶段]-[图元装配]以UnityURP为例
  • Pandas 分层索引
  • AI 大模型企业级应用落地挑战与解决方案
  • 机器翻译:需要了解的数学基础详解
  • BPMN编辑器技术实现总结AI时代的工作流编辑器
  • Ubuntu系统忘记密码怎么办?
  • 【机器学习深度学习】模型选型:如何根据现有设备选择合适的训练模型
  • 安全合规3--防火墙
  • 知识蒸馏 - 大语言模型知识蒸馏LLM-KD-Trainer 源码分析 KnowledgeDistillationTrainer类
  • 【动态数据源】⭐️@DS注解实现项目中多数据源的配置
  • 【QT】常⽤控件详解(六)多元素控件 QListWidget Table Widget Tree Widget
  • 【Avalonia】无开发者账号使用iOS真机调试跨平台应用
  • C++四种类型转换
  • Tiger任务管理系统-12
  • SpringBoot学习日记(二)
  • Day38 Dataset和Dataloader类
  • Git 核心概念与操作全指南(含工作区、暂存区、版本库详解)
  • VisionMoE本地部署的创新设计:从架构演进到高效实现
  • python的format易混淆的细节
  • Java 实现企业级服务器资源监控系统(含 SSH 执行 + 邮件通知 + Excel 报表)
  • 欧拉公式的意义
  • 202506 电子学会青少年等级考试机器人六级器人理论真题
  • 通用AGI到来,记忆仍需要一点旧颜色
  • 【狂飙AGI】2025年上半年中文大模型综合性测评
  • [已解决]VSCode右键菜单消失恢复
  • 用户需求调研后的信息如何整理
  • 大语言模型提示工程与应用:LLMs文本生成与数据标注实践
  • 需求管理流程规范
  • 强化学习概论(1)