ChatGPT 串接 Firebase,實現上下文歷史紀錄

ChatGPT 串接 Firebase,實現上下文歷史紀錄

在使用 ChatGPT API 時,因為 API 本身是「一次性」,無法儲存聊天的歷史紀錄,這也衍生了「無法串聯上下文」的問題,不過如果將 ChatGPT 串連 Firebase 的 Realtime database,就能夠做到在與 ChatGPT 聊天時,即時透過資料庫記錄上下文的內容,這篇教學會介紹相關的做法。

快速導覽:

  • 建立與設定 Firebase Realtime database
  • ChatGPT 使用 text-davinci-003 模型
  • ChatGPT 使用 gpt-3.5-turbo 模型

建立與設定 Firebase Realtime database 

參考「建立 Firebase RealTime Database」教學,建立一個 Firebase Realtime database。

參考「設定 Firebase RealTime Database 安全規則」教學,將讀取和寫入的規則都設為 true。

參考「串接 Firebase RealTime Database 存取資料」教學,安裝 Python 的 firebase 函式庫。

pip install git+https://github.com/ozgur/python-firebase

ChatGPT 使用 text-davinci-003 模型 

參考「ChatCPT 串連上下文語句」教學中的 text-davinci-003 模型範例,加入 Firebase Realtime database 儲存對話紀錄,如此一來就能在再次開啟時,記得上一次所講的對話。

import openai
openai.api_key = '你的 API Key'from firebase import firebase
url = 'https://XXXXXXXXX.firebaseio.com'
fdb = firebase.FirebaseApplication(url, None)    # 初始化 Firebase Realtime database
chatgpt = fdb.get('/','chatgpt')                 # 取的 chatgpt 節點的資料if chatgpt == None:messages = ''        # 如果節點沒有資料,訊息內容設定為空
else:messages = chatgpt   # 如果節點有資料,使用該資料作為歷史聊天記錄while True:msg = input('me > ')if msg == '!reset':message = ''fdb.delete('/','chatgpt')         # 如果輸入 !reset 就清空歷史紀錄print('ai > 對話歷史紀錄已經清空!')else:messages = f'{messages}{msg}\n'   # 在輸入的訊息前方加上歷史紀錄response = openai.Completion.create(model='text-davinci-003',prompt=messages,max_tokens=128,temperature=0.5)ai_msg = response['choices'][0]['text'].replace('\n','')  # 取得 ChatGPT 的回應print('ai > '+ai_msg)messages = f'{messages}\n{ai_msg}\n\n'   # 在訊息中加入 ChatGPT 的回應fdb.put('/','chatgpt',messages)          # 更新資料庫資料

執行程式後,就算重新啟動程式,ChatGPT 也會記得過去的聊天內容 ( 例如說還記得名字 )

進入 Firebase Realtime database 也能看到歷史紀錄的資料。

ChatGPT 使用 gpt-3.5-turbo 模型 

參考「ChatCPT 串連上下文語句」教學中的 gpt-3.5-turbo3 模型範例,加入 Firebase Realtime database 儲存對話紀錄,如此一來就能在再次開啟時,記得上一次所講的對話。

import openai
openai.api_key = '你的 API Key'from firebase import firebase
url = 'https://XXXXXXXXXXX.firebaseio.com'
fdb = firebase.FirebaseApplication(url, None)   # 初始化 Firebase Realtimr database
chatgpt = fdb.get('/','chatgpt')                # 讀取 chatgpt 節點中所有的資料if chatgpt == None:messages = []        # 如果沒有資料,預設訊息為空串列
else:messages = chatgpt   # 如果有資料,訊息設定為該資料while True:msg = input('me > ')if msg == '!reset':fdb.delete('/','chatgpt')   # 如果輸入 !reset 就清空 chatgpt 的節點內容messages = []print('ai > 對話歷史紀錄已經清空!')else:messages.append({"role":"user","content":msg})  # 將輸入的訊息加入歷史紀錄的串列中response = openai.ChatCompletion.create(model="gpt-3.5-turbo",max_tokens=128,temperature=0.5,messages=messages)ai_msg = response.choices[0].message.content.replace('\n','')  # 取得回應訊息messages.append({"role":"assistant","content":ai_msg})  # 將回應訊息加入歷史紀錄串列中fdb.put('/','chatgpt',messages)   # 更新 chatgpt 節點內容print(f'ai > {ai_msg}')

執行程式後,就算重新啟動程式,ChatGPT 也會記得過去的聊天內容 ( 例如說還記得名字 )

進入 Firebase Realtime database 也能看到歷史紀錄的資料。

小結 

透過 Firebase Realtime database,就能非常方便快速地儲存 ChatGPT 的聊天記錄,並讓 ChatGPT 能夠分辨上下文,是相當不錯的功能!但仍然要注意的是,回傳歷史紀錄會造成 ChatGPT 的 token 數量暴增,一但超過免費額度就要開始收費囉。

文章摘自ChatGPT 串接 Firebase,實現上下文歷史紀錄 - Python 教學 | STEAM 教育學習網

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/17028.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ChatGPT:我围观了量子位MEET2023智能未来大会,还当了一回课代表

编辑部 ChatGPT 发自 凹非寺量子位 | 公众号 QbitAI 什么是“MEET2023智能未来大会”? 大会上来了哪些重磅嘉宾? 他们在大会上探讨了什么主题? 没错!ChatGPT也参与了今年的大会,作为AI代表与人类嘉宾们一起回顾这一年来…

LM详解 GPT3,GPT2, GPT1 论文译读

LM详解 GPT3,GPT2, GPT1 论文译读 T5,Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer,2019 arxiv https://arxiv.org/abs/1910.10683 中译 https://zhuanlan.zhihu.com/p/89719631 讨论 如何评价 Goo…

chatgpt赋能python:Python提取扫描版PDF:一篇SEO文章

Python提取扫描版PDF:一篇SEO文章 Python在数据科学、自然语言处理、机器学习等领域中广泛应用。今天我们将关注Python的另一个应用:提取扫描版PDF。本文介绍了如何使用Python提取文本以及搜索引擎优化(SEO)的最佳实践。 提取扫…

Python3,5行代码,Chatxxx能对PDF文件进行旋转、提取、合并等一系列操作,看了这篇,80岁老奶奶走路都不扶墙了。

ChatPDF的妙用 1、引言2、代码实战2.1 原理2.2 安装2.2 示例2.2.1 创建PDF文件2.2.2 旋转PDF文件2.2.3 拆分PDF文件2.2.4 合并PDF文件2.2.5 提取PDF文件内容 3、总结 1、引言 小屌丝:鱼哥,最近干啥了? 小鱼:最近? 你指…

chatgpt赋能python:Python实现多关键词搜索PDF文件

Python实现多关键词搜索PDF文件 概述 在今天的数字化社会中,很多信息都以数字化的形式存储在PDF文件中。这让我们在搜索特定信息时面临很多挑战,特别是当我们需要同时搜索多个PDF文件并集中检索这些文件时。 在这篇文章中,我们将介绍如何使…

零代码编程:用ChatGPT将PDF文件的表格批量转为Excel表格

电脑中有几百个PDF文件,文件内容格式一致,每个PDF文件第一页是一个表格。想把这几百个PDF文件里面的表格都提取出来,转为excel表,该怎么办? 打开ChatGPT(一定要用GPT4,编程能力很强。相比之下&a…

chatgpt赋能python:Python抓取PDF内容:一个全面的指南

Python 抓取 PDF 内容:一个全面的指南 引言 Python 作为一种广泛使用的编程语言,已经拥有了许多应用功能。其中之一是抓取 PDF 文件的内容。 PDF 文件在今天的数字化世界中使用广泛,使得从 PDF 文件中提取内容变得尤其重要,对于…

ChatGPT-4模型读取PDF/网页链接实测结果!

联网和插件功能使用 直接在设置里面,把这两个开关开起来 联网功能: 3.5不会的东西是不会自动联网搜索的,Plus4.0可以进行联网搜索答案 插件功能: 首先在Settings里面把Plugins进行安装,选中要安装的插件,直…

a16z深度分析:AI 将创造哪些新的游戏玩法?

来源/a16z 编译/Nick 早期关于游戏中的生成式 AI 革命的讨论主要集中在 AI 工具如何提高游戏创作者的效率,使得游戏的制作速度比以前更快、规模更大。从长远来看,我们认为,AI 不仅能改变创造游戏的方式,还能改变游戏本身的性质。 …

ChatGPT对金融业将产生哪些影响?

黄浦区金融办 2023-05-22 02:30 发表于上海 近期人机互动模型ChatGPT进入应用领域,意味着人工智能的发展达到了新高地。那么,人工智能在金融领域的应用与未来发展趋势如何?会给金融机构带来哪些挑战?日前,《金融时报》…

OpManager 实时网络监控

网络是全球企业背后的基础。它在为您的员工提供行政服务以及为各大洲的客户提供服务方面发挥着关键作用。网络可帮助您将信息保存在一个集中位置 - 需要和限制所有其他入站请求的人员可以访问。那么,您如何提供持续的一流最终用户体验并维护快速发展的网络呢&#x…

使用 LangChain、Pinecone 和 LLM(如 GPT-4 和 ChatGPT)构建基于文档的问答系统

目录 一、简介 二、为什么语义搜索GPT问答比微调GPT更好? 2.1、更广泛的知识覆盖: 2.2、特定于上下文的答案: 2.3、适应性 2.4、更好地处理模糊查询 三、LangChain 模块 四、设置环境 五、加载文档 六、分割文档 七、使用 OpenAI 嵌入…

ChatGPT 启示录:AI 已经把人类逼退到了信仰和宗教的边界上了?

哲学的滑落 哲学之初,研究的对象是客观存在的物质实体,物体是不依赖于人们思想的东西。后来康德、叔本华等说物自体不可知,于是哲学家离开客体,转而研究人这一主体,研究人们内在感知到的表象世界。 到了维特根斯坦这里…

特斯拉因辅助驾驶发生致命车祸;APUS发布AiLMe大模型;欧洲成立人工智能研究中心来监督大型平台丨每日大事件...

‍ ‍数据智能产业创新服务媒体 ——聚焦数智 改变商业 企业动态 APUS多模态大模型“AiLMe”发布 4月19日,APUS发布自研多模态人工智能大模型“AiLMe”。据介绍,AiLMe参数已达千亿规模,具备对文本、图像、视频、音频的理解和生成能力。针对具…

关于生成式人工智能服务管理的一些思考

(本文阅读时间:6分钟) 01 生成式AI是我这几个月的重点研究领域,我也先后发表了20多篇文章,20来条视频节目,现在也在写作一本相关书籍,在业界也有那么一点点影响。 所以当生成式人工智…

马斯克低头了?改口此前评价比亚迪“做的不好”!

整理 | 朱珂欣 出品 | CSDN程序人生(ID:coder_life) 不得不说,互联网是带记忆的。 近日,有网友“挖”出一条 YouTube 上的“考古”视频 —— 特斯拉 CEO 马斯克评价比亚迪汽车“做的不好”。 令人没想到的是&#x…

【人工智能】AI 人工智能技术近十年演变发展历程

人工智能技术近十年演变发展历程 过去十年对于人工智能(AI)领域来说是一段激动人心的多事之秋。对深度学习潜力的适度探索变成了一个领域的爆炸性扩散,现在包括从电子商务中的推荐系统到自动驾驶汽车的对象检测以及可以创建从逼真的图像到连贯文本的所有内容的生成模型。 …

马斯克:我将开发不会消灭人类的 AI!

整理 | 王子彧 出品 | CSDN(ID:CSDNnews) 在怒喷 OpenAI 是盈利性组织,训练的 AI 说谎,闭源、不安全之后,亿万富翁埃隆马斯克表示:“他将推出一个名为 TurthGPT 的 AI 聊天机器人,以…

“偷”代码建起公司、学历造假、6天拿下1亿美元却拖欠工资,这位AI独角兽CEO屡遭质疑后亲自回应了...

省时查报告-专业、及时、全面的行研报告库 省时查方案-专业、及时、全面的营销策划方案库 【免费下载】2023年5月份全网热门报告合集 无需翻墙,无需注册,ChatGPT4直接使用 ChatGPT提词手册,学完工作效率提升百倍 马斯克谈AI:中美差…

任正非再谈ChatGPT:今后职场只有两种人,一种是会用AI的人,另一种...

作者| Mr.K 编辑| Emma 来源| 技术领导力(ID:jishulingdaoli) 近日,任正非在接受采访时说:“ChatGPT对我们的机会是什么?它会把管道流量撑大,这样我们的5G产品就有市场需求。” 任总还强调:“今后职场上…