OpenAI GPT3.5/GPT3 + Flask 制作自己的交互网页教程 | 附源码 和 Github链接

1. OpenAI GPT API

1.1 GPT 3.5 API (更新)

真正的 ChatGPT API, gpt-3.5-turbo,终于来了!不同于之前的 GPT3 text-davinci-003 的 api 版本。 GPT 3.5 版本生成的回答将十分的智能。

下图是现在OpenAI提供的模型。其中 gpt-3.5-turbo 是效果最好的模型。

在这里插入图片描述

1.1 OpenAI GPT3 text-davinci-003 API

最近ChatGPT很火,使用与InstructGPT相同的方法,使用来自人类反馈的强化学习 Reinforcement Learning from Human Feedback (RLHF) 来训练该模型,但数据收集设置略有不同。ChatGPT是在 GPT-3.5 系列中的一个模型进行微调的,该模型于 2022 年初完成训练。

现在因为官网 https://chat.openai.com/ 一直是满载状态,我决定使用GPT-3的公开API做一个基于python flask的网站。GPT-3的模型虽然比不上GPT-3.5的,但其功能仍然是十分强大。

GPT-3 一共有4个模型,其中davinci是最有能力的模型,而ada是最快的模型。Davinci 最大请求量是4000个tokens,这其中包含了问题和回答。

在这里插入图片描述

本文代码使用的是GPT3.5 + Flask,如果想用GPT3的同学可以在下面找到 GPT 3 + Flask 的 Github 链接。

2. 环境介绍

  1. OpenAI API Key
  2. Python 3
  3. python库:openai flask

GPT 3 和 GPT3.5 用的是同一个 API, 所以已经有 API key 的兄弟不用再重新生成了。
在这里插入图片描述
电脑要有python 3 的环境。
确认用pip安装 openai 和 flask 两个库。

pip install openai
pip install flask

如果说你之前在玩GPT3的时候已经装了openai,这时需要用 pip 更新一下openai库,把openai更新到 0.27.0 版本即可

pip install --upgrade openai

3. GPT 3.5 API + Flask 代码

3.1 Python Flask 代码

python 文件为 main.py。

from flask import Flask, request, render_template, redirect
import openaiopenai.api_key = 'your API key'server = Flask(__name__)def send_gpt(prompt):try:response = openai.ChatCompletion.create(model='gpt-3.5-turbo',messages=[{"role": "user", "content": prompt}])return response["choices"][0]['message']['content']except Exception as e:return e@server.route('/', methods=['GET', 'POST'])
def get_request_json():if request.method == 'POST':if len(request.form['question']) < 1:return render_template('chat3.5.html', question="NULL", res="Question can't be empty!")question = request.form['question']print("======================================")print("Receive the question:", question)res = send_gpt(question)print("Q:\n", question)print("A:\n", res)return render_template('chat3.5.html', question=question, res=str(res))return render_template('chat3.5.html', question=0)if __name__ == '__main__':server.run(debug=True, host='0.0.0.0', port=80)

3.2 网页代码 HTML

html网页(chat3.5.html)放在templates文件夹里,templates文件夹和python文件(main.py)放在同一目录下。

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1"><title>ChatGPT</title><link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/5.0.0-alpha2/css/bootstrap.min.css"><link rel="stylesheet" href="static/style.css">
</head><body><header><h1>ChatGPT API</h1><h2>Artificial Intelligence at Your Fingertips</h2></header><main><div class="content"><form method="post" onsubmit="submit.disabled=true"><br><center><textarea name="question" placeholder="Type your question here." rows="4"></textarea></center><br><input type="submit" value="Submit" id="submit"></form><div id="loading"><b>Waiting for response...</b></div></div><div class="dia">                {% if question %}<div class="result"><div class="question"><b>Alittlebean:</b><pre>{{ question }}</pre></div><hr><div class="response"><b>ChatGPT:</b><pre>{{ res }}</pre></div></div>{% endif %}</div></main><script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script><script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.9.3/dist/umd/popper.min.js"></script><script src="https://stackpath.bootstrapcdn.com/bootstrap/5.0.0-alpha2/js/bootstrap.min.js"></script><script src="static/script.js"></script>
</body></html>

3.3 样式代码 CSS

样式代码 style.css 放在 static 文件夹下。

/* import Bootstrap */
@import url('https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css');/* add custom styles */
body {font-family: sans-serif;
}header {padding: 1rem;background-color: #fff;box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}h1 {margin: 0;font-size: 2rem;
}main {padding: 1rem;
}h2 {margin-top: 1rem;font-size: 1.5rem;
}form {margin-top: 1rem;
}textarea {align-items: center;width: 90%;border: 1px solid #ccc;border-radius: 0.5rem;resize: vertical;font-size: 1.2rem;
}input[type="range"] {width: 60%;margin: 0 1rem;
}input[type="text"] {border: none;background: none;width: 30px;
}input[type="submit"] {display: block;margin: 1rem auto;width: 150px;height: 50px;background-color: lightpink;border: 1px solid #ccc;border-radius: 0.25rem;font-size: 1.5rem;cursor: pointer;
}#loading {display: none;color: gray;margin-top: 1rem;
}pre {margin-top: 1rem;font-size: 1.5rem;white-space: pre-wrap;word-break: break-word;text-align: justify;line-height: 1.5;
}.dia{margin-left: 15px;margin-right: 15px;
}

3.4 脚本代码 JS

脚本代码 script.js 放在static 文件夹下。

const loading = document.getElementById('loading');
const form = document.querySelector('form');form.addEventListener('submit', () => {loading.style.display = 'block';
});

4. Github 链接

GPT 3 + Flask (text-davinci-003 API):
https://github.com/redemptionwxy/GPT3-API-Flask-Python_Chat_Website

GPT 3.5 + Flask (gpt-3.5-turbo API ):
https://github.com/redemptionwxy/ChatGPT-API-Flask-Website

5. 网站效果展示以及美化

5.1 原网页

成功运行python代码将如下图显示,打开浏览器输入 127.0.0.1:80 或者 localhost 进行访问。

在这里插入图片描述

这个Flask网站可以自定义 Temperature 即GPT-3的回答随机度。网站上也给出了温度设置的建议,下面为效果图。
网站效果一般,主要是实现功能。如果还想加除Temperature之外的变量,可以照葫芦画瓢。

原网页用的是chat.html

Github 链接:https://github.com/redemptionwxy/GPT3-API-Flask-Python_Chat_Website

在这里插入图片描述

5.2 美化后(更新)

大家可以看到原来我自己写的网页十分简单。于是我把html代码发给chatgpt希望它能给我做一下优化和美观。我向它提了几个功能:

  1. 将html,css,js 文件分开,保留原有功能
  2. 实用bootstrap样式模板进行设计
  3. Temperature Guide放在网站右侧,点击可以隐藏

经过了一番调试,最终我得到了一下网页:

注:由于代码太长且有重复,我只将美化后的代码在github中更新。

在github中是chat_2.html

在这里插入图片描述
GPT 3.5 + Flask Gitgub 链接:
https://github.com/redemptionwxy/ChatGPT-API-Flask-Website

以上。

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

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

相关文章

ChatGLM实战 - 文本信息抽取

1. ChatGLM介绍 ChatGLM-6B 是一个开源的、支持中英双语的对话语言模型&#xff0c;基于 General Language Model (GLM) 架构&#xff0c;具有 62 亿参数。结合模型量化技术&#xff0c;用户可以在消费级的显卡上进行本地部署&#xff08;INT4 量化级别下最低只需 6GB 显存&…

【ChatGLM】本地版ChatGPT ?6G显存即可轻松使用 !ChatGLM-6B 清华开源模型本地部署教程

目录 感谢B站秋葉aaaki大佬 前言 部署资源 部署流程 实机演示 ChatGML微调&#xff08;人格炼成&#xff09;&#xff08;个人感觉蛮有趣的地方&#xff09; 分享有趣の微调人格 实机演示&#xff08;潘金莲人格&#xff09; 感谢B站秋葉aaaki大佬 秋葉aaaki的个人空间…

清华版Chatgpt:chatglm-6B教程——如何从训练中确定最合适的学习率

我们在使用chatglm-6B的时候&#xff0c;总会遇到一个问题。即学习率如何确定。我们首先先看chatglm的两个训练用sh文件的学习率是如何确定的。 一、如何第一时间确定学习率 我们可以看到在chatglm给的标准中&#xff0c;对于聊天的训练所默认的学习率是要小于训练广告词的&…

来自清华的ChatGPT?GLM-130B详解

原文&#xff1a;来自清华的ChatGPT&#xff1f;GLM-130B详解 - 知乎 本文会分析一下来自清华的ChatGPT&#xff0c;这篇论文的价值很大&#xff0c;为什么这么将&#xff1f;因为他开源了所有代码&#xff0c;包括模型&#xff0c;baseline。确实是一个不错的里程碑。 GLM-1…

一种平价的chatgpt实现方案,基于清华的 ChatGLM-6B + LoRA 进行finetune.(aigc大模型风口,校招找工作必备)

** 清华大学的chatglm-6b开源模型对话能力虽然能基本满足对话需求&#xff0c;但是针对专业领域和垂直领域回答显得智商捉急&#xff0c;这个时候就需要进行微调来提升效果&#xff0c;但是但是同学们显卡的显存更捉急&#xff0c;这时候一种新的微调方式诞生了&#xff0c;现在…

chatgpt相关关键字

听了一堂chatgpt的课程&#xff0c;真假参半&#xff0c;但积累了一些关键词。不知道这些关键字会在什么时候起到作用&#xff0c;先记录下来作为灵感积累 1 自然进化的过程&#xff0c;是人选择工具&#xff0c;也是工具选择人 2 Copliot-自动编程&#xff0c;感觉适用于独立新…

你会接受3.5万,但很讨厌的工作吗?网友评论亮了

大家好&#xff0c;我是快乐打工人小饴 周四周四&#xff0c;无所事事 不如来“八卦”一些轻松的话题 看看程序员们近期都在关注什么吧 你心目中Top3的公司有哪些&#xff1f; 网友神回复&#xff1a;强盛集团&#xff01; 对于职场人来说&#xff0c;选择一家适合自己的公…

“我的人生可以分成两部分:有电脑之前和有电脑之后。”

最近&#xff0c;ChatGPT的出现让AI成为当下乃至未来的强大风口 而这个传奇的缔造者——山姆奥特曼&#xff08;Sam Altman&#xff09; 也在一夜之间成为全球最火爆的“顶流”。 “我的人生可以分成两部分&#xff1a;有电脑之前和有电脑之后。” 从8岁起&#xff0c;他就迷…

解放生产力,社媒运营人还能这样玩转ChatGPT?

相信大家这段时间都被ChatGPT刷屏了吧&#xff0c;东哥我也不例外&#xff01;基本上一打开社媒平台都是在讨论ChatGPT,那社媒运营人应该如何使用ChatGPT呢&#xff1f;东哥今天就跟大家唠唠。 利用ChatGPT写广告标语、广告文案 运营人常常为广告标语、广告文案等想到头秃&…

中创AI|政治、工作、娱乐,ChatGPT正逐步影响我们的社会生产生活!

“作为政策官员&#xff0c;我们所做的一切&#xff0c;无论是编写会议记录还是批准预算文件&#xff0c;只是为了调动资源来解决一个常见问题。一旦我们从这个角度看待自己&#xff0c;ChatGPT就会成为推动者&#xff0c;而不是破坏者。” ——新加坡政府官员 ChatGPT可被广…

AI,正在疯狂污染中文互联网

污染中文互联网&#xff0c;AI成了“罪魁祸首”之一。 事情是这样的。 最近大家不是都热衷于向AI咨询嘛&#xff0c;有位网友就问了Bing这么一个问题&#xff1a; 象鼻山是否有缆车&#xff1f; Bing也是有问必答&#xff0c;给出了看似挺靠谱的答案&#xff1a; 在给出肯定的答…

基于Android的二维码识别系统的研究 与实现

XXXX 本科生毕业设计(论文) 学院(系)&#xff1a; XX 专 业&#xff1a; XX 学 生&#xff1a; XX 指导教师&#xff1a; XX XX 完成日期 年 月 XXX本科生毕业设计&#xff08;论文&#xff09; 基于Android的二维码识别系统的研究 与实现 Research and Implementation of QRco…

开源布道师适兕访谈录

「 没有人会理解一个中年男人为什么会在四十岁这个压力最大的年纪&#xff0c;放弃稳定的技术主管生活&#xff0c;去坚持做“开源布道”这件看起来没有名&#xff0c;也没有利&#xff0c;甚至前路漫漫的事情。」 李建盛&#xff0c;1982年生&#xff0c;在临近35岁危机做出了…

LitCTF 2023 WriteUp(部分)

Index 前言题目Web我Flag呢&#xff1f; Pwn只需要nc一下~口算题卡题目分析EXP: 狠狠的溢出涅~题目分析EXP: ezlogin题目分析EXP: Reverse世界上最棒的程序员 ez_XOREXP: CryptoHex&#xff1f;Hex&#xff01;(初级)梦想是红色的原来你也玩原神 Misc签到&#xff01;(初级)Wha…

云计算、大数据、人工智能、物联网、虚拟现实技术、区块链技术(新一代信息技术)学习这一篇够了!

目录 云计算 一、云计算的基本概念 二、云计算的分类 (一) IaaS (二) SaaS (三) PaaS 三、云环境的分类、云计算的四种部署模式 (一)公有云 (二)私有云 (三)社区云 (四)混合云 四、云计算的特点 (一)虚拟化技术 (二)动态可扩展 (三)按需部署 (四)灵活性高 (五…

ChatGPT3.5使用体验

MySQL 中的索引 前言 上篇文章聊完了 MySQL 中的锁&#xff0c;这里接着来看下 MySQL 中的索引。 一般当我们数据库中的某些查询比较慢的时候&#xff0c;正常情况下&#xff0c;一顿分析下来&#xff0c;大多数我们会考虑对这个查询加个索引&#xff0c;那么索引是如何工作…

使用腾讯云直播开发直播功能

前言&#xff1a; 最近公司开发app直播功能&#xff0c;我是后端&#xff0c;使用java开发&#xff0c;经过考虑选择使用腾讯的云直播功能&#xff0c;主要是考虑到腾讯在这方面可以说是很有实力的了。然后就是选择产品的问题&#xff0c;腾讯提供了几种直播的解决方案&#x…

破案了,c知道就是套壳chatgpt

不过也是好事儿&#xff0c;国内不用魔法也可以用gpt了&#xff0c;比一些公司硬要自己开发二流产品强多了

【报告】Chatgpt合集报告(8篇):引领AI新浪潮,开启AI新纪元(24H限时下载)

ChatGPT 注册用户突破1亿&#xff0c;成为史上成长最快的消费者应用。2022年11月底&#xff0c;由OpenAI 开发的人工智能对话聊天机器人ChatGPT推出&#xff0c;并迅速在社交媒体上走红&#xff0c;5 天注册用户数就超过100万&#xff0c;两个月后&#xff0c;注册用户突破1亿。…

卧槽,ChatGPT 太强了吧!

机器之心报道 机器之心编辑部 关于 AI 的问题&#xff0c;可以直接问 AI。 OpenAI 新上线的 ChatGPT 可谓是火爆出圈&#xff0c;这个对话模型可以回答后续问题&#xff0c;承认错误&#xff0c;挑战不正确的前提&#xff0c;还能帮你修改代码中的 bug…… 只要和它聊上几句&am…