ChatGPT写Flask-Demo——有体验地址

ChatGPT中API的试用


最近ChatGPT智能AI很火,可以写代码,DEBUG,写简历等等
上去查看了一下,是可以调用API的,本着学习的态度就是用这个款AI辅助我写了一个demo(本人原来对flask只懂一点点)

目录

    • 0x01主页
    • 0x02图片API
    • 0x03上传图片
    • 0x04调用的API自动保存
    • 0x05上传视频
    • 0x06日志功能
    • 0x07目录结构
    • 0x08APP.py
    • 0x09Key.py
    • 0x0A结语


先看效果:

0x01主页

主要功能是验证API,可以用默认的(考虑到多人使用,所以用自己的更好)
在这里插入图片描述

0x02图片API

主要功能就是自带的API,创建图片、变体图片、编辑图片
在这里插入图片描述

0x03上传图片

作为一个网站怎么能没有上传口 =。= 在这里插入图片描述

0x04调用的API自动保存

主要是第二部调用的api创建的图片等进行自动保存
在这里插入图片描述

0x05上传视频

上传视频,AI写的,真牛啊
在这里插入图片描述

0x06日志功能

AI还写了自动后台记录日志功能
在这里插入图片描述

0x07目录结构

在这里插入图片描述

0x08APP.py


@app.route('/')
def index():key = {"api":-1}if k != "":key["key"]=1else:key["key"]=0logger.info(f"[{request.remote_addr}]::[{request.method}]::{request.url}::{request.args}::<{key}>")return render_template('index.html', key=key)@app.route('/submit', methods=['POST'])
def submit():key = {"api":-1}if k != "":key["key"] = 1else:key["key"] = 0logger.info(f"[{request.remote_addr}]::[{request.method}]::{request.url}::{request.args}::<{key}>")return render_template('index.html', key=key)@app.route('/image')
def image1():key = {"key":0}logger.info(f"[{request.remote_addr}]::[{request.method}]::{request.url}::{request.args}::<{key}>")return render_template('image.html',key=key,key2=key,key3=key)@app.route('/text')
def text():key = -1filenames = os.listdir("static\\text\\")# 打印文件名items_gx = []for filename in filenames:items_gx.append(f"text/{filename}")logger.info(f"[{request.remote_addr}]::[{request.method}]::{request.url}::{request.args}::<{key}>")return render_template('text.html',key=key,items_gx=items_gx)@app.route('/test_api',methods=['POST'])
def test_api():key = {"key":1}timestamp = time.time()try:org = request.form['org']api = request.form['api_key']f = open("temp", "w", encoding="utf-8")f.write(api)f.close()openai.organization = orgopenai.api_key_path = "temp"api_dict[org] = apitry:k = openai.Model.list()key["api"]=1f = open("share-api/org", "a+", encoding="utf-8")f.write(f"[{timestamp}]{org}\n")f.close()f = open("share-api/api", "a+", encoding="utf-8")f.write(f"[{timestamp}]{api}\n")f.close()except:key["api"]=0openai.organization = "org-tuPuSBX5NRzKaE06CVvU2dHD"openai.api_key_path = "api_key.txt"logger.debug(f"[{request.remote_addr}]::[{request.method}]::{request.url}::{request.args}::<[{api_dict}>")return render_template('index.html', key=key)except Exception as e:logger.debug(f"[{request.remote_addr}]::[{request.method}]::{request.url}::{request.args}::<[{e}>")return e@app.route('/img_sub1',methods=['POST'])
def img_sub1():key ={"key":1}keyn = {"key": 0}items = []try:prompt = request.form['prompt']size = request.form['size']num = int(request.form['num'])if int(num) >10:for i in range(0,num,10):sleep(31)ret = openai.Image.create(prompt=prompt, n=10, size=size)for i in ret['data']:items.append(i['url'])else:ret = openai.Image.create(prompt=prompt, n=num, size=size)for i in ret['data']:items.append(i['url'])for i in items:md5_name = md5(i)response = requests.get(i)# 打开图片img = Image.open(BytesIO(response.content))img.save(f"{save_cimg}{md5_name}.png", optimize=True, quality=50)# urllib.request.urlretrieve(i, f"{save_cimg}{md5_name}.png")logger.info(f"[{request.remote_addr}]::[{request.method}]::{request.url}::{request.args}::<{key}>::<{keyn}>::<{items}>")return render_template('image.html', key=key,key2=keyn,key3=keyn, items=items)except openai.error.OpenAIError as e:stat = f"[{e.http_status}]{e.error}"logger.debug(f"[{request.remote_addr}]::[{request.method}]::{request.url}::{request.args}::<[{e.http_status}]{e.error}>")return stat@app.route('/img_sub2',methods=['POST'])
def img_sub2():key ={"key":1}keyn = {"key": 0}items = []file_src1 = ""file_src2 =""try:image = request.form['main']mask = request.form['mask']if image=="" or mask =="":image = file_src1mask = file_src2prompt = request.form['prompt']size = request.form['size']num = int(request.form['num'])if int(num) > 10:for i in range(0, num, 10):sleep(31)ret = openai.Image.create_edit(image=image,mask=mask,prompt=prompt, n=int(num), size=size)for i in ret['data']:items.append(i['url'])else:ret = openai.Image.create_edit(image=image,mask=mask,prompt=prompt, n=int(num), size=size)for i in ret['data']:items.append(i['url'])for i in items:md5_name = md5(i)response = requests.get(i)# 打开图片img = Image.open(BytesIO(response.content))img.save(f"{save_cimg}{md5_name}.png", optimize=True, quality=50)# urllib.request.urlretrieve(i, f"{save_cimg}{md5_name}.png")logger.info(f"[{request.remote_addr}]::[{request.method}]::{request.url}::{request.args}::<{key}>::<{keyn}>::<{items}>")return render_template('image.html',key=keyn, key2=key,key3=keyn,items2=items)except openai.error.OpenAIError as e:stat = f"[{e.http_status}]{e.error}"logger.debug(f"[{request.remote_addr}]::[{request.method}]::{request.url}::{request.args}::<[{e.http_status}]{e.error}>")return stat@app.route('/img_sub3',methods=['POST'])
def img_sub3():key ={"key":1}keyn = {"key": 0}items = []file_src3 = ""try:image = request.form['main']if image=="":image = file_src3size = request.form['size']num = int(request.form['num'])if int(num) > 10:for i in range(0, num, 10):sleep(31)ret = openai.Image.create_variation(image=image, n=int(num), size=size)for i in ret['data']:items.append(i['url'])else:ret = openai.Image.create_variation(image=image, n=int(num), size=size)for i in ret['data']:items.append(i['url'])for i in items:md5_name = md5(i)response = requests.get(i)# 打开图片img = Image.open(BytesIO(response.content))img.save(f"{save_cimg}{md5_name}.png", optimize=True, quality=50)# urllib.request.urlretrieve(i, f"{save_cimg}{md5_name}.png")logger.info(f"[{request.remote_addr}]::[{request.method}]::{request.url}::{request.args}::<{key}>::<{keyn}>::<{items}>")return render_template('image.html',key=keyn, key2=keyn, key3=key, items3=items)except openai.error.OpenAIError as e:stat = f"[{e.http_status}]{e.error}"logger.debug(f"[{request.remote_addr}]::[{request.method}]::{request.url}::{request.args}::<[{e.http_status}]{e.error}>")return stat@app.route('/upload_edit1', methods=['POST'])
def upload1():# 获取客户端上传的图片image = request.files['image']# 获取图片的名称image_name = image.filenamedirok= mkdir_date("img\\")if dirok != 0:# 保存图片到本地file_src1 = f"img\\{dirok}\\{image_name}"image.save(file_src1)logger.info(f"[{request.remote_addr}]::[{request.method}]::{request.url}::{request.args}::<{file_src1}>")return "上传成功!"return "上传失败!"@app.route('/upload_edit2', methods=['POST'])
def upload2():# 获取客户端上传的图片image = request.files['image']# 获取图片的名称image_name = image.filenamedirok= mkdir_date("img\\")if dirok != 0:# 保存图片到本地file_src2 = f"img\\{dirok}\\{image_name}"image.save(file_src2)logger.info(f"[{request.remote_addr}]::[{request.method}]::{request.url}::{request.args}::<{file_src2}>")return "上传成功!"return "上传失败!"@app.route('/upload_edit3', methods=['POST'])
def upload3():# 获取客户端上传的图片image = request.files['image']# 获取图片的名称image_name = image.filenamedirok= mkdir_date("img\\")if dirok != 0:# 保存图片到本地file_src3 = f"img\\{dirok}\\{image_name}"image.save(file_src3)logger.info(f"[{request.remote_addr}]::[{request.method}]::{request.url}::{request.args}::<{file_src3}>")return "上传成功!"return "上传失败!"@app.route('/gx_upload', methods=['POST'])
def gx_upload():key = 1filenames = os.listdir("static\\text\\")# 打印文件名items_gx = []for filename in filenames:items_gx.append(f"text/{filename}")try:# 获取客户端上传的图片image = request.files['image']# 获取图片的名称image_name = image.filenamefilename = md5(str(image_name))file_src_gx = f"static\\text\\{filename}.{image_name.split('.')[-1]}"image.save(file_src_gx)logger.info(f"[{request.remote_addr}]::[{request.method}]::{request.url}::{request.args}::<{key}::{file_src_gx}>")return render_template('text.html', key=key, items_gx=items_gx)except Exception as e:print(e)return render_template('text.html',key=0,items_gx=items_gx)if __name__ == '__main__':app.run(host="0.0.0.0", port=5001)

0x09Key.py


import os
from datetime import datetime
import hashlib
import openai
openai.organization = "org-xxxx"
openai.api_key_path = "api_key.txt"def mkdir_date(dir):nows = datetime.now()date_str = nows.strftime('%Y-%m-%d')try:# 创建文件夹os.mkdir(dir+date_str)return date_strexcept Exception as e:return date_strdef md5(str1):m = hashlib.md5()m.update(str1.encode('utf-8'))return str(m.hexdigest())

0x0A结语

对于一个只会一点点代码水平的人来说,这个AI也是够了,解决能力大于某度,过于强大

源码整合包:传送门

Demo地址:传送门(请勿攻击)

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

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

相关文章

ChatGPT 火爆“出圈”,谷歌员工慌了!CEO 回应:我们也有,担心声誉才没上

整理 | 郑丽媛 出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09; 最近&#xff0c;ChatGPT 真的很火&#xff0c;连马斯克都感叹道&#xff1a;“很多人疯狂地陷入了 ChatGPT 循环中。” 由于 ChatGPT 高质量且几乎“无所不知”的输出能力&#xff0c;有网友尝试就同…

来了,ChatGPT开始在金融圈抢活

梦晨 金磊 发自 凹非寺量子位 | 公众号 QbitAI ChatGPT如此火爆&#xff0c;OpenAI自己也没想到。 根据《纽约时报》最新披露&#xff0c;原本下一代GPT-4在OpenAI内部几乎准备就绪&#xff0c;只待发布。 11月中旬&#xff0c;高层突然宣布新任务&#xff1a;两周后发布免费聊…

ChatGPT商业前景如何?人工智能未来会如何发展?

ChatGPT不仅在互联网和多个行业引发人们的关注&#xff0c;在投资界还掀起了机构对人工智能领域的投资热潮。人工智能聊天程序ChatGPT在去年11月亮相之后&#xff0c;在推出仅两个月后&#xff0c;今年1月份的月活用户已达到了1亿&#xff0c;成为史上增长最快的消费者应用程序…

ChatGPT 将成“天选打工人”?OpenAI CEO:对发明“有点害怕”

整理 | 朱珂欣 出品 | CSDN程序人生&#xff08;ID&#xff1a;coder_life&#xff09; 自 ChatGPT 横空出世以来&#xff0c;可谓是“香饽饽”一样的存在&#xff0c;但也让其陷入“取代人类、导致失业”的舆论风波中。 毕竟&#xff0c;这位“新天选打工人”似乎可以拿捏住…

提问的艺术:如何通过提示词让 ChatGPT 更准确地理解你的问题?

在当今的信息时代&#xff0c;人工智能语言模型如 ChatGPT 为我们提供了一个强大的知识库和解决问题的工具。为了更好地使用 ChatGPT&#xff0c;非常有必要学习提示词工程。通过熟练地使用提示词&#xff0c;我们能够让AI更加准确地理解我们想要表达的意思&#xff0c;从而更高…

ChatGPT发明「史莱姆语」,词汇语法规则全都有,还配了「史翻英」Python代码

羿阁 鱼羊 发自 凹非寺量子位 | 公众号 QbitAI 好家伙&#xff0c;ChatGPT都能发明语言了&#xff1f;&#xff1f;&#xff1f; 还不仅仅是对英文词汇搞些简单替换&#xff0c;什么从句、语法格之类的语法规则&#xff0c;也都弄得明明白白。 没错&#xff0c;现在&#xff0c…

ChatGPT Plus最新订阅教程,现在开通Plus超简单!国卡也能开通!

ChatGPT Plus于2023年2月由OpenAI推出&#xff0c;订阅价格为$20/月。Plus版本更新、更快、更安全、更高效&#xff0c;所以企业级、工作室或需要商用的个人一般需要升级成Plus版本。 在那时&#xff0c;中文互联网上很多在讨论如何开通ChatGPT Plus&#xff0c;因为订阅ChatG…

【Python】如何高效查询ChatGPT使用剩余额度和过往使用历史(详细代码)

文章目录 前言一、遇到的问题二、实操代码1.引入库 总结 前言 关于chatgpt目前的火爆程度不言而喻 但是很多开发朋友&#xff0c;或者用来学习的朋友并不知道自己的key还剩多少额度 一、遇到的问题 官方禁用了之前的获取方式&#xff0c;链接如下&#xff1a; https://api…

chatGPT响应慢?使用openAI的api_key

前置条件 1、你需要有openAI账号 2、你需要有魔法工具 这两个就不教了&#xff0c;第一个网上有教程&#xff0c;第二个我怕进去。。。 流程 进入openAI主页&#xff0c;找到个人信息&#xff0c;点击View API keys 点击API Keys&#xff0c;create 一个key&#xff0c;记住…

论如何免费使用gpt4

最近openai推出了Gpt4&#xff0c;其能力已经比其初次推出的gpt强了很多。在plus们愉快使用的同时&#xff0c;普通人只能苦逼通过候补名单申请 &#xff0c;那么&#xff0c;如何快速免费白嫖ChatGPT的GPT-4功能呢&#xff1f; 目前能够免费的奇技淫巧就是使用OpenAI关联的合…

突发!ChatGPT Plus停售

来源&#xff1a;量子位 现在&#xff0c;ChatGPT已不支持Plus付费了。 △ChatGPT截图 原因很简单&#xff1a;High demand。需求量太大&#xff0c;以至于OpenAI不得不暂停Plus的销售。 之后何时开放也没有明说。 前几天ChatGPT就因出现大规模封号引发热议&#xff0c;现在竟正…

ChatGPT?听说Biying把它下架了

ChatGPT被玩疯了&#xff0c;开始放飞自我 ChatGPT版微软必应上线不到10天…就被网友玩坏了 先说这个词&#xff0c;放飞自我&#xff0c;什么东西才会放飞自我&#xff1f; 人放飞自我&#xff0c;人&#xff1f;你确定是人&#xff1f; 所以让我们来把上面的句子改写一下。…

ChatGPT爆火,LeCun心态崩了!称大语言模型是邪路,Meta模型3天惨遭下线

源&#xff5c;新智元 最近&#xff0c;LeCun连续发推&#xff0c;舌战各位推友&#xff0c;疯狂diss大语言模型是邪路&#xff0c;也为自家匆忙下线的Galactica酸了一把ChatGPT。而LeCun态度的大反转&#xff0c;也让曾经的对头马库斯喜出望外。不仅频频转发LeCun推文&#xf…

chatGPT 背后的技术 之 GPT3

chatGPT是由openAI 公司发布的大型语言对话机器学习模型&#xff0c;因为其强大的功能&#xff0c;可以帮助编程&#xff0c;可以咨询问题&#xff0c;可以检查语法错误等等&#xff0c;而在最近半年火爆全网。 chatGPT 背后的技术是 GPT3.5&#xff0c;其本质是 大型预训练语…

火爆全网的ChatGPT 和AI 可以为项目经理做什么?

作为一款人工智能聊天机器人&#xff0c;ChatGPT因其逼真和人性化的特性而风靡全球&#xff0c;无疑是当今技术的新流行。人工智能 (AI) 有可能彻底改变许多行业&#xff0c;包括项目管理&#xff0c;及时了解最新技术以及它如何影响你的工作至关重要。于是&#xff0c;我们与C…

ChatGPT火爆全网,3-5年人工智能将颠覆人类的生活和工作

chatGPT火出圈了&#xff0c;最近小伙伴们有没有刷到关于chatGPT的新闻&#xff1f;一定有看到对吗。 那不少小伙伴发出了黑人问号&#xff1a; 到底什么是chatGPT? 它给我们的生活和工作究竟会带来什么影响呢&#xff1f; 今天九九就给大家科普一下chatGPT&#xff0c;赶…

如今ChatGPT火爆全网,那么AI最终会不会替代人类。

如今AI已经走进了千家万户&#xff0c;比如说扫地机器人、智能音箱等。最近又出来了一个新词:聊天机器人。它就是ChatGPT。 从最初只有十来个人的小团队&#xff0c;到如今的 300 人&#xff1b;从起步拿到 10 亿美元启动资金&#xff0c;到创造了估值约为 300 亿美元的 AI 独角…

chatGPT能让你成为高级前端开发人员助您轻松解决 JavaScript 常见问题,提升开发效率!

您是否曾经在 JavaScript 开发过程中遇到各种疑难问题&#xff1f;是否希望能够快速解决这些问题并提升开发效率&#xff1f;现在&#xff0c;您可以依靠我们的顶级工具 ChantGPT&#xff0c;成为解决 JavaScript 常见问题的超级英雄&#xff01; ChantGPT 是一款基于先进人工…

前端程序员的职业发展规划与路线——ChatGPT的回答

文章目录 一、前端程序员的职业规划是&#xff1f;回答1&#xff1a; 作为一个前端开发程序员&#xff0c;您的职业发展路线可能如下&#xff1a;回答2&#xff1a;作为前端开发程序员&#xff0c;您的职业发展路线可能如下&#xff1a;回答3&#xff1a; 你的职业发展路线可能…

【chatgpt谈前端三大主流框架】React、Vue和Angular的优缺点及如何选择

文章目录 React优点缺点 Vue优点缺点 Angular优点缺点 总结写在最后 chatgpt号称无所不能&#xff0c;今天我们就来考考他&#xff0c;让他来对比下React、Vue和Angular。 下面是chatgpt全部回答&#xff0c;大家觉得他分析得对吗&#xff1f; React、Vue和Angular都是目前最…