数据采集综合实践
这个项目属于哪个课程 | https://edu.cnblogs.com/campus/fzu/2024DataCollectionandFusiontechnology/ |
---|---|
组名、项目简介 | 组名:都给爷爬 项目目标:为心理疾病患者进行个性化的音乐疗愈 项目需求:市面上大多数音乐软件都需要会员而且存在打榜等现象,不能完全个性化推荐,我们希望我们的个性化音乐系统能为心理疾病患者带来音乐疗愈,因此选择了该公益项目 项目开展技术路线:python(django,pytorch,tensorflow)、爬虫技术、MySQL |
团队成员学号 | 102202135 102202146 102202127 102202125 102202139 102202109 102202128 |
这个项目的目标 | 我们希望免费的公益的为有心理疾病的患者提供音乐疗愈的软件,我们可以根据患者、医生希望的音乐进行推荐,给患者相对舒服的音乐疗愈。 |
其他参考文献 | 【1】https://github.com/marl/openl3 【2】https://eva.fing.edu.uy/pluginfile.php/524749/mod_folder/content/0/BERT Pre-training of Deep Bidirectional Transformers for Language Understanding.pdf 【3】https://link.springer.com/chapter/10.1007/978-1-4842-6168-2_6 【4】https://blog.csdn.net/weixin_42645636/article/details/135777479 |
一、项目整体介绍
项目背景
该项目是基于智能推荐算法,为心理障碍人群提供免费公益的音乐播放平台。我们采用爬虫从音乐平台上爬取歌曲、歌单丰富我们的平台,为用户提供丰富的、多类的曲目进行选择。
项目实现
使用librosa对音频进行特征提取、Bert提取文本特征、resnet50提取图像特征,同时我们接入大模型,让大模型对用户现状进行分析,给出适合的音乐类型推荐,再将用户的行为特征一起考虑,构成我们的协同过滤推荐算法,实现音乐个性化的推荐,满足用户需求。
项目码云链接
码云链接
二、项目展示
三、个人分工
本人主要负责后端开发工作,包括但不限于大模型接口的调用,以及后端相关逻辑的设计和实现。设计并参与完善了整体后端框架的各个功能与逻辑。
主要参与的功能部分:
- 用户管理:实现用户注册、登录、注销功能;
- 数据存储:通过 MySQL 数据库存储用户信息、歌曲数据及行为记录;
- 推荐接口:调用大模型 API,结合推荐算法,实现情绪分析与音乐推荐;
- 系统交互:设计接口将后端推荐结果传递至前端页面;
- 错误处理:编写错误信息反馈与异常处理模块,保证系统稳定运行。
ai接口代码关键代码示例
def get_recommendation(mood_text):
"""调用 AI 接口,根据用户输入的心情文本推荐音乐类型"""
system_content = "你是一个专业的音乐疗愈师,根据用户心情推荐音乐。"
data = {
"model": "4.0Ultra",
"messages": [{"role": "system", "content": system_content},
{"role": "user", "content": mood_text}]
}
response = requests.post(API_URL, headers=headers, json=data)
return response.json()["choices"][0]["message"]["content"]
推荐页面关键代码示例
def home(request):
user_id = request.session.get('user_id')
if not user_id:
return redirect('/login')
mood_input = request.GET.get('mood', '放松')
recommended_music = get_recommendation(mood_input)
return render(request, 'home.html', {
'username': request.session['username'],
'recommended_music': recommended_music
})