LangChain+Django+Vue.js基于AI的音乐社区智能推荐与交互平台设计与开发 AI大语言模型 AI向量模型 智能推荐 智能聊天助手 智能评论情感分析 可视化数据分析 爬虫 前后端分离AIMusicRecSystemPy
一、项目简介
1、开发工具和使用技术
Pycharm、vscode集成开发工具,nodejs18.0及以上版本,python3.10及以上版本,mysql8.0及以上版本,navicat数据库管理工具,django后端框架,vue3前端框架,vue-router路由组件,pinia状态管理组件,element plus组件,echarts可视化图表组件、LangChain框架、阿里云大模型平台等。
2、实现功能
用户首页:http://localhost:5173/
管理员首页:http://localhost:8000/admin
管理员账号:admin 管理员密码:admin
用户功能:登录、注册、忘记密码、兴趣标签、音乐分类、音乐排行榜、流行度热点推荐、AI智能推荐、兴趣标签推荐、相关推荐(基于内容推荐(AI向量模型推荐))、AI评论情感分析、音乐歌单、音乐播放、音乐数据分析、点赞、收藏、评分、评论、浏览历史、修改信息、修改密码等;
管理员功能:登录、可视化数据分析、音乐管理、音乐类型管理、用户管理、歌单管理、兴趣标签管理、点赞管理、收藏管理、评分管理、评论管理、浏览历史管理、管理员管理等。
智能推荐:
用户未登录:基于流行度的热点推荐,随机查询所有用户偏好的音乐,即评分(评分>=4)、收藏、点赞量多的音乐;
用户已登录:AI智能推荐,如果没有推荐结果,兴趣标签推荐,即随机查询当前登录用户兴趣标签下的音乐。
AI智能推荐音乐:
首先根据当前登录用户最近的音乐偏好(评分(评分>=4)、收藏、点赞的音乐),构建用户偏好音乐的文本内容,然后使用AI向量模型将偏好文本向量化,到向量库中检索相匹配的音乐,构建候选推荐的音乐集合,然后构建用户画像提示词(包含年龄、性别、简介等)、构建用户最近的音乐偏好提示词、构建候选推荐音乐的提示词,整理构建向AI大语言模型发送的消息提示词(用户画像、最近的音乐偏好、候选推荐音乐、输出结果格式),AI大语言模型智能推荐。
相关推荐:
用户未登录:同类型推荐,随机查询当前音乐的音乐类型下的音乐;
用户已登录:基于内容推荐,如果没有推荐结果,同类型推荐,随机查询当前音乐的音乐类型下的音乐,同时过滤当前音乐、当前登录用户已浏览的音乐。
基于内容推荐音乐:
首先根据当前音乐信息,构建当前音乐的文本内容,然后使用AI向量模型将当前音乐的文本内容向量化,到向量库中检索相匹配的音乐,构建候选推荐的音乐集合,然后过滤用户已经评分、收藏、点赞、推荐过的音乐,得到最终推荐的音乐。
可视化数据分析:饼状图、词云图、柱状图。
3、开发步骤
一、需求分析
主要是分析需要实现的功能、确定开发工具及技术等。例如:前台用户需要有登录、注册、退出登录、搜索音乐、音乐评分、个性化推荐等,后台管理员需要有登录、用户管理、音乐管理、音乐类型管理等。Django后端框架、vue前端框架、mysql数据库技术的选择等。
二、数据库设计
数据库设计使用navicat数据库管理工具,可通过sql语句脚本生成数据库表,也可以直接操作新建表设计表等。注意主外键关联设计,例如:评分记录表需要外键关联用户表和音乐表。
三、前端vue框架搭建
在cmd中使用nodejs命令:node create vue@latest,可快速创建一个vue框架项目,同时使用了vue-router路由插件、pinia状态管理插件、axios数据请求插件、echarts可视化插件和element plus等插件,其中element plus的ui组件用于设计html页面。
四、后端django框架搭建
在pycharm中可快速搭建django后端框架。
五、功能开发
具体功能的实现,商业项目开发时,前后端由不同的开发人员实现,并根据开发文档实现数据接口处理,一般的项目可以是设计一个前端页面同时实现一个后端数据接口。首先是进行前台用户首页的开发,其次是音乐详情,然后是用户注册、登录等,接着是用户的评分、修改信息等,然后是进行管理员功能的开发,最后是进行前台用户的个性化推荐功能实现。
六、系统测试
主要是进行bug修改,推荐算法测试。