用ChatGPT+Copilot一小时开发一套监控系统

套娃:我把下面的内容全部复制给了ChatGPT,让它帮我总结本文内容,它的回答如下:

本文介绍了人工智能ChatGPT在快速生成代码方面的应用,以及当前AI从专业客户走向大众、从特定领域走向通用领域、从后台走向前台和人的直接交互等趋势。文中展示了一些场景下AI助手的应用案例,包括辅助查找视频资料、整理出视频摘要、使用微软的new Bing快速获取高精度内容等。随后,介绍了通过ChatGPT生成程序的方法,包括编写截屏程序和编写fastapi服务。最后,文中针对问题进行了详细的解答。

背景

从去年ChatGPT上线开始就时不时的把玩,不经感叹划时代的通用AI真的就这么诞生了!它的功能实在是太强大了,配合一些工具、准确恰当的提问,真的可以帮你巨大的提升效率。

  • 这次通过ChatGPT,快速生成了适用于三个程序,虽然功能很简单,但是通过对话,它能很好的帮你生成需要的功能的代码
  • 有了代码,接着就是检查错误,修改参数
  • 配合Copilot,原本100行代码假设需要100分钟,现在一半以上的场景可能只需要按一下Tab键,效率简直炸裂!

介于下面都是问题和代码,先草草来两句总结:

  • 目前AI正在从专业客户走向大众,从特定领域走向通用领域,从后台走向前台和人的直接交互
  • 最近市面上涌现出了多个可用的、效果惊人的AI应用,举个例子:AI向我介绍了一些咨询,我根据咨询查找了一些视频资料,但是视频太长我没时间看,所以将链接发给了AI,AI帮我整理出了summary,summary太长,AI帮我精简出了要点,然后如果有问题的话,AI会根据里面的内容回答我。
  • 微软的new Bing是搜索进化后的新形态
  • 原本人们沉浸在海量内容中,但是有人会困惑于如何快速获取高精度内容,现在有了答案
  • 现在的场景是:顶级AI助手

效果图:

绿色的按钮是设备名称,点击按钮可以弹窗显示缩略图对应的原图

在这里插入图片描述

话不多说,先来看一下需求和设计的功能:

事前准备

在这里插入图片描述

问ChatGPT的问题

①写终端的截屏程序

问题:

帮我用python写一个程序。该程序可以每隔5分钟截取windows桌面的图片,并通过post方法传输出去。

补充问题:

  1. 根据这个生产截屏的python程序,再重写一下fastapi的服务
  2. 帮我根据上面的upload_image接口改造对应的一开始截屏程序的请求参数
import time
import requests
from PIL import ImageGrab
import socket
from datetime import datetimehostname = socket.gethostname()while True:# 截屏img = ImageGrab.grab()  # 截取屏幕截图img.save('screenshot.png')  # 将截图保存到本地data = {'name': hostname,'updateTime': datetime.now().strftime('-%m%d-%H%M')}files = {'image': (open('screenshot.png', 'rb'))}# 发送 POST 请求url = 'http://localhost:8000/upload_image'response = requests.post(url, data=data, files=files)# 处理响应if response.status_code == 200:print('Image uploaded successfully!')else:print('Failed to upload image.')# 休眠 5 分钟time.sleep(300)
②写服务端

问题:

然后再用fastapi写一个服务。首先我有一个配置文件,用来管理几十台设备,这个配置文件里含有每台设备的name。然后构建一个post接口,用来接收post请求,接收的内容是一张图片,接收成功后将图片保存到本地的capture文件夹中,并将图片再生成一张宽度为400的缩略图,保持宽高比不变。再构建一个get接口,当接收到get请求后,将capture文件夹下所有的缩略图返回。最后再构建一个get接口,请求参数是name,capture下图片文件名是name的原始图片返回。

补充问题:

  1. /get_images这个接口是返回所有的缩略图文件,帮忙改一下
  2. 请将/get_image/{name} 路由改为使用base64.b64encode将图片文件转换成Base64编码的字符串
  3. /get_images这个接口改为返回图片,而不是图片名称
  4. 帮我再补一段python代码,判断capture目录下是否有相同name的图片,如果有的话删除
import base64
from fastapi import FastAPI, File, Form, UploadFile
from fastapi.responses import FileResponse
import os
import time
from fastapi.middleware.cors import CORSMiddleware
from fastapi.responses import JSONResponse
from pathlib import Pathapp = FastAPI()# 2、声明一个 源 列表;重点:要包含跨域的客户端 源
origins = ["*", "./*"]# 3、配置 CORSMiddleware
app.add_middleware(CORSMiddleware,allow_origins=origins,  # 允许访问的源allow_credentials=True,  # 支持 cookieallow_methods=["*"],  # 允许使用的请求方法allow_headers=["*"]  # 允许携带的 Headers
)def delete_if_exist(name):folder_path = "./capture"for file_name in os.listdir(folder_path):if file_name.startswith(name):file_path = os.path.join(folder_path, file_name)os.remove(file_path)@app.post("/upload_image")
async def upload_image(image: UploadFile = File(...), name: str = Form(...), updateTime: str = Form(...)):# save the original image to the capture folderfile_path = f"./capture/{name}{updateTime}.png"delete_if_exist(name)with open(file_path, "wb") as f:f.write(await image.read())# generate thumbnailfrom PIL import Imageimg = Image.open(file_path)width, height = img.sizethumbnail_size = (400, int(height * 400 / width))img.thumbnail(thumbnail_size)thumbnail_path = f"./capture/{name}{updateTime}_thumbnail.png"img.save(thumbnail_path)return {"message": "Image uploaded successfully!"}@app.get("/get_images")
async def get_images():thumbnail_folder = Path("capture")thumbnail_files = thumbnail_folder.glob("*_thumbnail.png")images = []for thumbnail_file in thumbnail_files:with open(thumbnail_file, "rb") as f:thumbnail = base64.b64encode(f.read()).decode("utf-8")image_name = thumbnail_file.stem.replace("_thumbnail", "")images.append({"name": image_name, "thumbnail": thumbnail})return JSONResponse(content=images)@app.get("/get_image/{name}")
def get_image(name: str):# print(f"capture/{name}.png")with open(f"capture/{name}.png", "rb") as f:image_bytes = f.read()base64_bytes = base64.b64encode(image_bytes)base64_string = base64_bytes.decode("utf-8")return {"image": base64_string}
③写用户端

问题:

接着我要用html写一个静态页面,该页面使用Materialize这个样式库。整个页面每隔5分钟请求上面的get_images接口获取所有的缩略图,和每个缩略图的名称,将这些图片放到页面上的grid里,整个grid每行有6格,每个格子里上面有一行标题代表缩略图的名称,下面显示缩略图。如果点击缩略图的话,请求上面的/get_image/{name}接口,获取原图,然后弹窗显示

补充问题:

  1. 再将JavaScript的showImage方法改一下
<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title>j截屏展示窗</title><!-- <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css"> --><link rel="stylesheet" href="materialize/css/materialize.min.css"><style>.modal {width: 95%;height: 100%;}</style>
</head><body><div class="container"><!-- <h3>Image Gallery</h3> --><div class="row" id="grid"></div></div><div id="modal" class="modal"><div class="modal-content" id="modal-content"></div><!-- <div class="modal-footer"><a href="#!" class="modal-close waves-effect waves-green btn-flat">Close</a></div> --></div><script src="https://code.jquery.com/jquery-3.3.1.min.js"></script><script src="materialize/js/materialize.min.js"></script><!-- <script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script> --><script>function showImage(name) {fetch(`http://localhost:8000/get_image/${name}`).then(response => response.json()).then(data => {var image = document.createElement('img');image.src = "data:image/jpeg;base64," + data.image;var modalContent = document.getElementById("modal-content");modalContent.innerHTML = '';modalContent.appendChild(image);var modalInstance = M.Modal.getInstance(document.getElementById("modal"));modalInstance.open();});}function updateGrid() {fetch('http://localhost:8000/get_images').then(response => response.json()).then(data => {var images = data;var grid = document.getElementById('grid');grid.innerHTML = '';for (var i = 0; i < images.length; i++) {var image = images[i];var col = document.createElement('div');col.classList.add('col', 's12', 'm6', 'l3');var card = document.createElement('div');card.classList.add('card', 'hoverable');var cardImage = document.createElement('div');cardImage.classList.add('card-image');var title = document.createElement('span');title.classList.add('card-title');title.innerText = image.name;var thumbnail = document.createElement('img');thumbnail.classList.add('thumbnail');thumbnail.src = "data:image/jpeg;base64," + image.thumbnail;cardImage.appendChild(title);cardImage.appendChild(thumbnail);card.appendChild(cardImage);var cardAction = document.createElement('div');cardAction.classList.add('card-action');cardAction.style.textAlign = 'center';var link = document.createElement('a');link.classList.add('waves-effect', 'waves-light', 'btn');link.innerText = image.name;link.onclick = (function (name) {return function () {showImage(name);};})(image.name);cardAction.appendChild(link);card.appendChild(cardAction);col.appendChild(card);grid.appendChild(col);}});}$(document).ready(function () {$('.modal').modal();setInterval(updateGrid, 5000);updateGrid();});</script>
</body></html>

Done!

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

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

相关文章

90%的程序员还不知道ChatGPT能这么用

本内容来自公众号“布博士”------&#xff08;擎创科技资深产品专家&#xff09; 当下&#xff0c;越来越多的企业已经开始应用机器学习和自然语言处理等技术来辅助告警故障分析。在这个领域中&#xff0c;CHATGPT这样的人工智能模型可以扮演非常重要的角色&#xff0c;通过对…

ChatGPT发展与技术基础

一、ChatGPT发展 【ChatGPT——GPT3.5】 诞生于&#xff1a;2022 年 11 月 类型&#xff1a;对话场景的大语言模型 特点&#xff1a;更贴近人的方式与使用者互动&#xff1b;在理解人类意图、精准回答问题、流畅生成结果方面远超人类预期。 功能&#xff1a;可以回答问题、…

chatGPT为什么短时间内获得超1亿用户

最近&#xff0c;一款名为ChatGPT的聊天机器人彻底火出圈了。它以对话方式进行交互&#xff0c;以更贴近人的对话方式与使用者互动&#xff0c;可以回答问题、承认错误、挑战不正确的前提、拒绝不适当的请求。 程序员用它写代码修Bug&#xff1b;学生用它写论文、交作业&#…

使用chatGPT实现数字自增动画

num-auto-add&#xff1a;数字自增动画 序言 我们经常在一些好的网站上遇到数字自增的动画效果&#xff0c;为用户提供了更加丰富的交互体验&#xff0c;看起来非常酷。 我之前也有写过&#xff0c;为了方便以后使用&#xff0c;打算将它优化&#xff0c;并上传到npm中。 首…

上市即销售一空,紧急加印 | ChatGPT之父 Sam Altmam强烈推荐的神书!

解密ChatGPT&#xff0c;第一本诠释ChatGPT运作方式的大师级著作来了❗Wolfram Research软件公司创始人兼首席执行官斯蒂芬沃尔弗拉姆著作OpenAI CEO、ChatGPT之父 Sam Altman强烈推 《这就是ChatGPT》系列专场直播 点击预约

ChatGPT之父撰文:《万物摩尔定律》出现,这场革命将创造惊人的财富

来源&#xff1a;机器之能 参考链接https://moores.samaltman.com/ 近日&#xff0c;「ChatGPT之父」Sam Altman在社交媒体称&#xff0c; 一个全新的摩尔定律可能很快就会出现&#xff0c;即宇宙中的智能数量每18个月翻一番。 值得一的是的Sam Altman在担任OpenAI CEO之后&…

李开复亲自带队,打造AI 2.0时代的平台,不仅仅是中文版ChatGPT!

来源&#xff1a;量子位 李开复突然宣布筹办新公司&#xff0c;目标大模型领域。 新公司Project AI 2.0&#xff0c;正式开启团队组建。 要做啥&#xff1f; 新公司希望打造一个平台&#xff0c;一个生产力应用的生态。 Project AI 2.0不仅仅要做中文版ChatGPT。AI 2.0不仅仅是…

商业版ChatGPT单价骤减9成;支付宝启动“支付芯计划”;有专家认为,到 2035 年人类可能会与AI争夺控制权丨每日大事件...

‍ ‍数据智能产业创新服务媒体 ——聚焦数智 改变商业 企业动态 支付宝启动“支付芯计划” 3月2日&#xff0c;阿里巴巴平头哥对外公布了生态计划&#xff1a;面向芯片开放社区的15万名开发者&#xff0c;平头哥首度推出在线学习台“RISC-V学院计划”&#xff0c;鼓励伙伴参与…

为什么程序员需要ChatGPT,为什么这很朋克!?

作为一名CSDN大博主&#xff0c;今天我来分享一下我的观点。 为什么程序员需要ChatGPT&#xff0c;为什么这很朋克&#xff1f; 让我们来一起探讨一下。 首先&#xff0c;程序员需要ChatGPT的原因有很多。 在技术领域里&#xff0c;新技术和新概念层出不穷&#xff0c;人们需要…

CV界的chatgpt出现——Segment Anything能分割万物

目录 一、前言&#xff08;1&#xff09;弱人工智能&#xff08;Weak AI&#xff09;&#xff08;2&#xff09;强人工智能&#xff08;General AI&#xff09;&#xff08;3&#xff09;超人工智能&#xff08;Super AI&#xff09; 二、SAM的一些介绍2.1 模型的结构是什么&am…

十个角度带你读懂百度财报:ChatGPT真是全村人希望吗?

北京时间2月22日&#xff0c;百度发布了截至2022年12月31日的第四季度及全年未经审计的财务报告。2022年&#xff0c;百度实现营收1236.75亿元&#xff0c;归属百度的净利润&#xff08;非美国通用会计准则&#xff09;206.8亿元&#xff0c;同比增长10%。 第四季度&#xff0c…

全面接入:ChatGPT杀进15个商业应用,让AI替你打工

智东西. 智能产业新媒体&#xff01;智东西专注报道人工智能主导的前沿技术发展&#xff0c;和技术应用带来的千行百业产业升级。聚焦智能变革&#xff0c;服务产业升级。 ChatGPT狂飙160天&#xff0c;世界已经不是两个月前的样子。 文&#xff5c;李水青 编辑&#xff5c;心…

ChatGPT访问量或现负增长 市场担忧“人工智能泡沫”

中国青年网|2023-07-03 14:05:02网站流量监测服务商Similarweb的数据显示&#xff0c;今年以来&#xff0c;ChatGPT访问量1月份的环比增长率为131.6%&#xff0c;此后逐月下降。5月时&#xff0c;这个数字已经跌至2.8%&#xff0c;预计6月将会出现环比负增长的情况。 ​ 不仅是…

AIGC和ChatGPT推进百度、阿里、腾讯、华为大模型技术创新

AIGC | PC集群 | PC Farm | GPU服务器 生成式AI | Stable Diffusion | ChatGPT 2022 年 12 月&#xff0c;OpenAI 推出了 ChatGPT&#xff0c;这是一种高性能计算的大型语言生成模型。它的出现推动了人机对话技术的发展&#xff0c;并在网络上引起了极大的关注。目前&#xff…

《花雕学AI》解锁ChatGPT潜力!183个最佳提示语,助您充分利用人工智能技术

随着机器学习和自然语言处理技术的不断进步&#xff0c;人工智能在各个领域的应用越来越广泛。ChatGPT&#xff08;Generative Pre-trained Transformer&#xff09;是一个强大的自然语言生成模型&#xff0c;它可以帮助我们生成高质量的文本内容。本文为你列举了 183 种可能的…

属于 PingCAP 用户和开发者的 2022 年度记忆

2022 年&#xff0c;我们一起穿越了许多荆棘时刻&#xff0c;面对着前所未有的不确定性。在这些挑战面前&#xff0c;我们发现技术和开发者扮演了重要角色。 技术为我们提供了穿越周期的桥梁&#xff0c;开发者帮助我们更好地应对挑战&#xff0c;解决问题并赋予这个世界更多创…

FPGA学习笔记-1 FPGA原理与开发流程

1 初识FPGA 文章目录 1 初识FPGA1.1 基本认知1.1.1 什么是FPGA&#xff1f;1.1.2 什么是HDL&#xff1f;什么是Verilog&#xff1f;1.1.3 硬件开发与软件开发1.1.4 FPGA与其他硬件的对比1.1.5 FPGA优势与局限性1.1.6 FPGA的应用1.1.7 FPGA的学习之路 1.2 FPGA开发流程1.2.1 一般…

腾讯、字节跳动“后退”,XR“没熟透”?

配图来自Canva可画 2023&#xff0c;XR进入寒冬期并不是空穴来风。 就在年初&#xff0c;国内外的各路玩家纷纷对XR赛道进行密集调整或裁撤。先有微软砍掉整个AltSpaceVR和MRTK开发团队、Meta裁员并关停Echo VR运营&#xff1b;再有字节跳动旗下PICO进行“组织优化”、快手暂…

从零教你写专利之开宗明义篇

大家好&#xff0c;我是英子老师。作为一名知识产权专家&#xff0c;深耕于专利行业十余年&#xff0c;具有丰富的专利工作经验&#xff1a;曾在大型专利代理机构从事专利代理工作、专利质检工作&#xff08;抽查代理机构的专利代理人的撰写质量并评分&#xff09;&#xff1b;…

上海亚商投顾:沪指震荡反弹涨1.2% 中国移动创历史新高

上海亚商投顾前言&#xff1a;无惧大盘涨跌&#xff0c;解密龙虎榜资金&#xff0c;跟踪一线游资和机构资金动向&#xff0c;识别短期热点和强势个股。 市场情绪 大小指数今日走势分化&#xff0c;沪指午后涨超1%&#xff0c;长阳反包上周五阴线&#xff0c;创业板指盘中则跌逾…