位置: IT常识 - 正文

微信小程序 | 基于ChatGPT实现电影推荐小程序(微信小程序基于什么框架)

编辑:rootadmin
原力计划微信小程序 | 基于ChatGPT实现电影推荐小程序 文章目录** 效果预览 **1、根据电影明星推荐2、根据兴趣标签推荐3、根据电影名推荐一、需求背景二、项目原理及架构2.1 实现原理(1)根据用户的兴趣标签(2)根据关联类似主题的题材(3)根据特定的电影明星2.2 技术架构2.3 技术栈三、项目功能的实现3.1 小程序端设计与实现3.2 数据后端设计与实现3.3 数据智能获取功能设计与实现四、推荐阅读

推荐整理分享微信小程序 | 基于ChatGPT实现电影推荐小程序(微信小程序基于什么框架),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:微信小程序基于什么技术,微信小程序基础,微信小程序基于什么技术,微信小程序基础,微信小程序基础,微信小程序基于什么技术,微信小程序基础库版本和什么有关,微信小程序基于什么技术,内容如对您有帮助,希望把文章链接给更多的朋友!

** 效果预览 **1、根据电影明星推荐

2、根据兴趣标签推荐

3、根据电影名推荐

一、需求背景

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

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

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

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

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

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

微信小程序 | 基于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数据交互接口注重介绍后端服务接入 ChatGPT API,需要按照以下步骤进行操作:注册一个账号并登录到OpenAI的官网:https://openai.com/在Dashboard页面上,创建一个API密钥。在“API Keys”选项卡下,点击“Generate New Key”按钮。将生成的密钥保存好,以备后续使用。选择所需的API服务,例如“Completion” API,以使用OpenAI的文本生成功能。

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

方法一:使用request库import requestsimport 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, requestimport openaiapp = 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].textif __name__ == "__main__": app.run()3.3 数据智能获取功能设计与实现

定义一个函数来实现电影信息的爬取,该函数的输入参数为电影名,输出为该电影的名称、导演、主演、类型、上映时间、评分等信息。具体实现步骤如下:

构造请求 URL,其中电影名需要进行 URL 编码。

发送 HTTP 请求,获取豆瓣电影页面的 HTML 内容。

使用 lxml 库解析 HTML 文档,提取电影信息。

import requestsfrom lxml import etreedef crawl_movie_info(movie_name): # 1. 构造请求 URL url = f'https://www.douban.com/search?q={movie_name}' # 2. 发送 HTTP 请求,获取 HTML 内容 response = requests.get(url) html = response.content.decode() # 3. 解析 HTML 文档,提取电影信息 tree = etree.HTML(html) # 获取搜索结果列表中的第一个电影条目 movie_link = tree.xpath('//div[@class="result"]/div[@class="content"]/h3/a/@href')[0] response = requests.get(movie_link) html = response.content.decode() # 解析电影页面 HTML 文档,提取电影信息 tree = etree.HTML(html) # 电影名称 movie_title = tree.xpath('//span[@property="v:itemreviewed"]/text()')[0] # 导演 directors = tree.xpath('//a[@rel="v:directedBy"]/text()') director = ' / '.join(directors) # 主演 actors = tree.xpath('//span[@class="actor"]/span[@class="attrs"]/a/text()') actor = ' / '.join(actors) # 类型 genres = tree.xpath('//span[@property="v:genre"]/text()') genre = ' / '.join(genres) # 上映日期 release_date = tree.xpath('//span[@property="v:initialReleaseDate"]/text()')[0] # 评分 rating = tree.xpath('//strong[@class="ll rating_num"]/text()')[0] # 返回电影信息 return { '电影名称': movie_title, '导演': director, '主演': actor, '类型': genre, '上映时间': release_date, '评分': rating, }我们可以通过调用该函数,传入电影名参数来获取电影信息。例如:Copy codemovie_name = '大赢家'movie_info = crawl_movie_info(movie_name)print(movie_info)输出结果如下:{'电影名称': '大赢家', '导演': '李伟 / 黄伟明', '主演': '赵本山 / 贾玲 / 小沈阳 / 张子枫 / 李春四、推荐阅读

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

《小程序开发必备功能的吐血整理【个人中心界面样式大全】》《微信小程序 | 借ChatGPT之手重构社交聊天小程序》《微信小程序 | 人脸识别的最终解决方案》《微信小程序 |基于百度AI从零实现人脸识别小程序》《吐血整理的几十款小程序登陆界面【附完整代码】》
本文链接地址:https://www.jiuchutong.com/zhishi/300586.html 转载请保留说明!

上一篇:【前端进阶】-TypeScript高级类型 | 泛型约束、泛型接口、泛型工具类型(前端进阶路线)

下一篇:jquery怎么给元素设置属性(jquery 元素)

  • 网页界面设计站内内容的规划是一项相当繁琐的工作

    网页界面设计站内内容的规划是一项相当繁琐的工作

  • 魅族 18 Pro的快充是多少W的(魅族18 pro操作)

    魅族 18 Pro的快充是多少W的(魅族18 pro操作)

  • 荣耀v20可以用华为云电脑吗(荣耀v20可以用华为账号吗?)

    荣耀v20可以用华为云电脑吗(荣耀v20可以用华为账号吗?)

  • sa和nsa的区别(sa跟nsa区别)

    sa和nsa的区别(sa跟nsa区别)

  • 剪辑音乐的手机软件(剪辑音乐的手机推荐)

    剪辑音乐的手机软件(剪辑音乐的手机推荐)

  • iphone蜂窝网络错误怎么办(iphone蜂窝网络错误无服务)

    iphone蜂窝网络错误怎么办(iphone蜂窝网络错误无服务)

  • 手机主板坏了充电反应(手机主板坏了充电会爆炸吗)

    手机主板坏了充电反应(手机主板坏了充电会爆炸吗)

  • 打电话显示未在手机上注册(打电话显示未在手机上注册是什么意思)

    打电话显示未在手机上注册(打电话显示未在手机上注册是什么意思)

  • 还原位置与隐私是什么意思(还原位置与隐私会删除软件吗)

    还原位置与隐私是什么意思(还原位置与隐私会删除软件吗)

  • gpt分区系统可做ghost备份吗(gpt分区操作)

    gpt分区系统可做ghost备份吗(gpt分区操作)

  • tpguest为什么没密码(tpguest能用吗)

    tpguest为什么没密码(tpguest能用吗)

  • pdg文件用什么软件打开(pdg文件)

    pdg文件用什么软件打开(pdg文件)

  • 电脑下载拼多多步骤(电脑下载拼多多教程)

    电脑下载拼多多步骤(电脑下载拼多多教程)

  • 洋淘买家秀是什么意思(淘宝店铺洋淘买家秀)

    洋淘买家秀是什么意思(淘宝店铺洋淘买家秀)

  • word文档背景颜色设置(Word文档背景颜色为什么不显示)

    word文档背景颜色设置(Word文档背景颜色为什么不显示)

  • 为什么qq取消特别关心还是会响(为什么qq取消特别关心发消息还是有显示)

    为什么qq取消特别关心还是会响(为什么qq取消特别关心发消息还是有显示)

  • 小米6X何时更新MIUI11(小米6x目前有更新到什么系统)

    小米6X何时更新MIUI11(小米6x目前有更新到什么系统)

  • 淘宝几天会自动收货(淘宝几天会自动付款)

    淘宝几天会自动收货(淘宝几天会自动付款)

  • 抖音有没有已读功能(抖音有没有读弹幕的人)

    抖音有没有已读功能(抖音有没有读弹幕的人)

  • vue录视频怎么加音乐(vue添加视频)

    vue录视频怎么加音乐(vue添加视频)

  • 固定电话怎么充值(固定电话怎么充Q币)

    固定电话怎么充值(固定电话怎么充Q币)

  • 优酷本地视频在哪找(优酷本地视频在哪个位置iPhone)

    优酷本地视频在哪找(优酷本地视频在哪个位置iPhone)

  • 安居客发布的信息怎么取消(安居客发布的信息在哪里能够看到)

    安居客发布的信息怎么取消(安居客发布的信息在哪里能够看到)

  • iphonexs支持闪充吗(苹果xs能闪充吗)

    iphonexs支持闪充吗(苹果xs能闪充吗)

  • 退出微信群别人知道吗(退出微信群别人还能看到我之前发的消息吗)

    退出微信群别人知道吗(退出微信群别人还能看到我之前发的消息吗)

  • 苹果11定价多少(苹果定价多少欧元)

    苹果11定价多少(苹果定价多少欧元)

  • 微信下面有个对号怎么去掉(微信下边有一个对号是什么意思)

    微信下面有个对号怎么去掉(微信下边有一个对号是什么意思)

  • m1852是什么手机(m1882是什么手机)

    m1852是什么手机(m1882是什么手机)

  • 屏幕亮度时间在哪里设置(屏幕亮度时间在哪调)

    屏幕亮度时间在哪里设置(屏幕亮度时间在哪调)

  • win10闹钟如何休眠仍然响(win10闹钟设置方法)

    win10闹钟如何休眠仍然响(win10闹钟设置方法)

  • python TKinter的消息传递机制(python tkinter详解)

    python TKinter的消息传递机制(python tkinter详解)

  • phpcms中怎么判断是否为首页(php判断useragent)

    phpcms中怎么判断是否为首页(php判断useragent)

  • 小规模纳税人结转
  • 折旧费属于什么科目
  • 一般纳税人支付给小规模纳税人的税率
  • 个税属于会计中的什么科目
  • 转租不动产需要预缴增值税吗
  • 资产减值准备怎么转回
  • 手撕发票怎么区分地区开具
  • 钉钉报销费用明细怎么写
  • 代理进出口公司营销方式
  • 企业所得说季报是季报填还是年底填?
  • 纳税人提供植物养护服务按照什么服务缴纳增值税
  • 三万以下免税如何开票
  • 伙食费没有发票可以税前扣除吗
  • 银行流水账单怎么查
  • 从对公账户转账到个人账号需要多久?
  • 净资产和净资本和营业收入
  • 进项是普票销项是专票,怎么交税
  • 公司用库存商品怎么做账
  • 免税企业进项怎么处理
  • 微软发布新windows
  • 怎么进入登录
  • 电脑无损音乐播放软件哪个最好
  • 鸿蒙系统小艺怎么改声音
  • phpcookie
  • win11不能用u盘
  • 原材料和固定资产入账价值的计算
  • 所得税和应交所得税
  • 谷歌网页小恐龙
  • 尿急尿频尿不尽吃什么药效果好
  • 马尼亚岛的降水特点
  • 跨年的材料票可以抵扣吗
  • 行政事业单位 银行
  • 增值税发票认证在哪里
  • 一维卷积padding
  • php ajax请求
  • 本月增加的无形资产数量
  • vue.$el
  • js let用法
  • 开具增值税专用发票的规定
  • 开增值税专票要交税吗
  • 税收分类编码是什么意思啊
  • 综合评价怎么改
  • 删除mysql数据库用户
  • 计入存货成本的税费
  • 购入的设备用于研发怎样记账
  • 小规模纳税人专票税率是多少
  • 仓库盘点后的数据怎么处理
  • 新公司第一次报税需要准备什么
  • 汇算清缴补交所得税的分录
  • 分包管理费取费标准
  • 一家新成立的贸易企业
  • 确认递延所得税资产账务处理
  • 费用发票的种类
  • sqlite迁移到mysql脚本的方法
  • win2003 安装iis
  • win7还能用几年
  • 远程桌面 登录
  • win8 开机启动
  • win10重装系统后无线网卡不能用了
  • linux ldt
  • xp系统下载文件没有出现下载对话框让你选择保存的位置
  • npscheck.exe - npscheck是什么进程 有什么用
  • win8显示屏亮度调节
  • win8系统安装的软件在哪里
  • 深入剖析典型案例
  • css 之 background-position-x
  • python下三角
  • 路径可分为
  • js操作dom节点的方法
  • 一个android项目一般包含哪些目录?各有什么用途?
  • 神奇宝贝
  • vue3目录解析
  • android四大组件的作用
  • pulls toward
  • 在python中的用法
  • 修改应用程序图标
  • 上海地区附加税税率
  • 税务ukey版商品编码怎么添加
  • 广州代理记账公司注册
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设