微信小程序 | 基于ChatGPT实现电影推荐小程序

Posted 陶人超有料

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微信小程序 | 基于ChatGPT实现电影推荐小程序相关的知识,希望对你有一定的参考价值。

文章目录



** 效果预览 **

1、根据电影明星推荐


2、根据兴趣标签推荐


3、根据电影名推荐


一、需求背景

在我们日常想看电影的时候,经常会遇到一些问题:
1. 闲来无事想看个电影,打开电影列表,感觉都是看过的,一下子不知道该如何去发现新大陆?
2. 喜欢某个演员,想看与他风格类似的电影,可惜电影网站的影片推荐总是那么不尽人意!
3. 在不同的电影网站,填入自己的感兴趣的标签,结果推荐出来的电影题材并不是自己想要的效果!


既然说起推荐系统,这就刚好踩中了我那研究三年推荐系统的读研苦逼时光了。稍微介绍一下时下主流的推荐系统的架构和算法:

主流推荐算法 基于用户的推荐算法 原理:将用户画像近似的用户进行相互推荐关联 基于项目的推荐算法 原理:将物品特征类似的项目进行相互推荐关联 协同过滤推荐算法 原理:通过协同过滤算法进行相互推荐关联

这里的大数据推荐系统体系仅为简单的架构模型,其中涉及到更多的计算任务和调度数据流等细节均已省略 【有兴趣的友友可关注后续栏目更新—带你手把手从零实现推荐系统

在如此庞大的数据体量和计算引擎的支持下,现如今的推荐系统仍然没有以完美的姿态来解决用户的冷启动问题,所以说时下,推荐系统在学术界的研究已经达到了一种登峰造极的状态,你我都知道可能多引入一些高性能的模型去加强,多跑几轮模型去调参优化,从而实现更美丽的推荐效果!这样我们可能可以得到一篇优秀的论文!但是在工业应用领域,对于推荐算法的优化,新投入的算力跟人工成本,通常并不会由于更准推荐效果从而产生更丰厚的营收,可以说投入跟产出完全不成正比!这对于时下资本退却的互联网来说,这是最要命的!

于是乎,我们可以转换一下思路,有没有什么模型和算法可以实现推荐效果最优化,不惧怕因为用户数据量少而导致的冷启动问题 ------ 那么这个时候ChatGPT获取可以申请一战,他有超海量的全人类用户数据、连续产生内容及记忆理解上下文功能!

好那么,基于此,让我们来用ChatGPT做一个电影推荐小程序 做一个可以满住你的任意无理要求的电影小程序。


二、项目原理及架构

2.1 实现原理

1. 要利用上ChatGPT的推荐功能,首先构造好目标明确的问题是成功的关键。
2. 在获取到GPT的推荐数据之后,我们需要将推荐结果中的电影内容获取并展示在小程序端,这里我们需要采用Python爬虫对豆瓣电影网进行爬取!

输入用户的喜好 返回电影数据 构造电影问题 返回推荐列表 爬取推荐电影信息 电影小程序 小程序后台服务 ChatGPT模型服务 豆瓣电影爬虫后台服务

这里我们构造了三类推荐类目: 兴趣标签电影主题电影明星


(1)根据用户的兴趣标签

通过用户输入的兴趣标签进行电影的匹配

整合用户兴趣数据 返回推荐结果 用户选择自己感兴趣的标签 ChatGPT进行分析


(2)根据关联类似主题的题材

发送电影名称 返回推荐结果 用户输入自己的喜欢的电影 ChatGPT进行分析


(3)根据特定的电影明星

发送电影明星姓名 返回推荐结果 用户输入自己的喜欢的电影明星 ChatGPT进行分析


2.2 技术架构


2.3 技术栈

模块语言及框架涉及的技术要点
小程序前端基于VUE 2.0语法+Uni-app跨平台开发框架Http接口通信、Flex布局方式、uView样式库的使用、JSON数据解析、定时器的使用
小程序接口服务端Python + Flask WEB框架rest接口的开发、 ChatGPT API接口的数据对接
小程序数据爬虫服务端Python + Request 库Xpath路径元素解析、Http请求爬虫

三、项目功能的实现

3.1 小程序端设计与实现

首页标签选择
推荐电影列表页电影详情页

3.2 数据后端设计与实现

Flask后端接口服务 用户电影偏好数据交互接口 电影列表及详情获取接口 电影信息爬取接口

微信小程序 | 网易云+ChatGPT实现一个智能音乐推荐小程序

文章目录

* 效果预览

** 分析用户的输入产生推荐


** 分析用户的选择标签进行推荐


一、需求背景

截止到现在,在AI大模型领域,国内外已经从OpenAI一方称霸到现在的群雄崛起之势!

这不前两天4月7日,阿里经过这么多天的蛰伏终于发布了他家自研大模型通义千问

国内外大厂的前赴后继,这足以说明AI大模型的火热。那么这个时候,作为应用开发的我们的机会就来了,我们可以充分借助大模型的能力来赋能我们的应用开发。那么这一次:我们来做一个基于网易云的音乐推荐小程序


网易云音乐大家应该都不陌生了,虽然说他没有QQ音乐家族那样丰富的版权,但是作为一款读乐比听歌更有趣的又去灵魂聚集地来说,这足以成为我们日常听歌的白月光!

  1. 在我们日常的听歌中过程中,经常会遇到一下几个问题:
    • 随着如今乐坛作曲水平的退步,越来越多的口水歌充斥在榜单中,当我们想听一些歌时,这些高流量、低创作水准的歌曲总是会被平台的推荐算法推荐过来,导致我们欣赏音乐的兴趣大打折扣!
    • 我们在使用网易云音乐的过程中,我们只能是以单纯的信息接收者的角色来进行数据交互,很多时候我们只是被动的接收平台给我们打上的用户画像标签!当推荐的内容和我们的兴趣爱好发生较大的偏差时,我们并不能及时地对平台推荐的内容进行修改,甚至不能对推荐规则进行修改!

那么这个时候,基于以上痛点,我们就可以直接使用ChatGPT来帮我们来进行歌曲的推荐,其好处在于:用ChatGPT进行推荐,我们可以及时对其反馈的结果进行修改,以及对他的推荐规则进行修改,从而找到最适合自己口味的歌曲!


二、项目原理及架构

2.1 实现原理

(1) 基于用户的喜欢歌手推荐


(2)基于用户的兴趣标签推荐


(3)改进上一步推荐的结果


2.2 技术架构


2.3 技术栈

模块语言及框架涉及的技术要点
小程序前端基于VUE 2.0语法+Uni-app跨平台开发框架Http接口通信、Flex布局方式、uView样式库的使用、JSON数据解析、定时器的使用
小程序接口服务端javascript + Node WEB服务网易云rest接口的开发、 ChatGPT API接口的数据对接 、 前后端websocket实时通信

2.4 数据交互原理

操作数据 API数据发送 处理用户请求 返回最终推荐歌曲列表 获取歌曲信息 返回歌曲数据 用户 小程序 ChatGPT 数据处理 网易云音乐接口

三、项目功能的实现

3.1 ChatGPT API的接入

要接入ChatGPT API,需要按照以下步骤进行操作:

  1. 注册一个账号并登录到OpenAI的官网:https://openai.com/
  2. 在Dashboard页面上,创建一个API密钥。在“API Keys”选项卡下,点击“Generate New Key”按钮。将生成的密钥保存好,以备后续使用。
  3. 选择所需的API服务,例如“Completion” API,以使用OpenAI的文本生成功能。


使用Python调用ChatGPT API实现代码如下:

  • 方法一:使用request
import requests
import json

# 构建API请求
url = "https://api.openai.com/v1/engines/davinci-codex/completions"
headers = "Content-Type": "application/json",
           "Authorization": "Bearer YOUR_API_KEY"
data = 
    "prompt": "Hello, my name is",
    "max_tokens": 5


# 发送API请求
response = requests.post(url, headers=headers, data=json.dumps(data))

# 解析API响应
response_data = json.loads(response.text)
generated_text = response_data["choices"][0]["text"]

print(generated_text)


  • 方式二:使用openAI库
from flask import Flask, request
import openai

app = Flask(__name__)

openai.api_key = "YOUR_API_KEY_HERE"

@app.route("/")
def home():
    return "Hello, World!"

@app.route("/chat", methods=["POST"])
def chat():
    data = request.json
    response = openai.Completion.create(
        engine="davinci",
        prompt=data["message"],
        max_tokens=60
    )
    return response.choices[0].text

if __name__ == "__main__":
    app.run()


3.2 小程序端设计与实现

ChatGPT推荐悬浮功能用户标签选择功能用户问题实时交互功能

3.3 数据后端设计与实现

小程序后端服务 ChatGPT数据交互功能 网易云音乐数据交互功能 前端数据交互功能

对于整个后端服务的三大模块,其中对网易云音乐的数据调用与获取是整个项目的数据来源与核心,为实现高效地歌曲数据获取效果,借助了GiHub中网易云Node接口服务项目:网易云音乐 Node.js API service

  • 环境要求:需要 NodeJS 12+ 环境

  • 将项目拉去到本地

$ git clone git@github.com:Binaryify/NeteaseCloudMusicApi.git
$ cd NeteaseCloudMusicApi
$ npm install

或者


$ git clone https://github.com/Binaryify/NeteaseCloudMusicApi.git
$ cd NeteaseCloudMusicApi
$ npm install

  • 在本地进行打包运行(找到package.json文件,查看scripts中的启动命令)
# 运行之前进行依赖的安装
npm install 


# 根据 pacage.json 中的脚本指令运行项目
npm run start

  • 项目出现运行的服务地址之后说明项目启动成功

四、推荐阅读

🥇入门和进阶小程序开发,不可错误的精彩内容🥇 :

以上是关于微信小程序 | 基于ChatGPT实现电影推荐小程序的主要内容,如果未能解决你的问题,请参考以下文章

微信小程序豆瓣电影项目的改造过程经验分享

自己做一个ChatGPT微信小程序(代码开源)

微信小程序 |基于Flask框架实现智能菜谱小程序

基于微信小程序的电影订票系统设计与实现(代码+数据库+论文)

微信小程序怎么设计 微信小程序设计指南

微信小程序开发之电影预告

(c)2006-2024 SYSTEM All Rights Reserved IT常识