当前位置: 首页 > news >正文

AI开发 - 用GPT写一个GPT应用的真实案例

就在昨天,我的同事推荐给我了一个第三方的公共大模型API,这个API集合了国际上上几乎所有知名的大模型,只需要很少的费用,就可以接入到这些大模型中并使用它们。成本之低,令人乍舌!包括我们现在无法试用的 GPT-4o也在其中。

考虑到平台规则,在这里我就不说这个公共API平台的名字了,简称A平台吧。

之前我写过一篇文章:大模型:把GPT搬回家 - chatGPT的本地化API -Node.js调用

在文章中,我介绍了如何实现GPT的本地化,但是前提是需要一台美国服务器,需要有openai的付费账号。

而现在,上面的这个公共API平台A平台,无需科学上网,也无需注册任何大模型的账号,直接就可以调用。所以,这让一切变得简单了很多。

所以我忽然突发奇想,能否让GTP ,用这个API 来设计一个GPT本地应用呢?

于是我我就开始尝试了,(需要说明的是,A平台也提供web版,我在这次测试中还是用了GTP的web对话来完整我上面的设想,主要是比较习惯)

于是我就问了GPT三轮 ,第一轮如图

 然后第二轮和第三轮,我加了一些其他的条件,比如增加了loading效果之类的、增加新话题按钮等等。GTP全部妥妥地完成了,包括 html、css、js 全部都妥妥的完成了!(注意:GPT 官方web对话框目前已经升级了,会自动切换画面,并且会在原答案上迭代答案,不再是不管三七二十一的输出,非常实用。)

然后我就又用Node.js 做了个webServer, 这样 可以放静态HTML ,也可以用来做我本地地API接入A平台的API,模型设置为GPT-4o,(如何用Node.js 来做一个webserver,这个非常简单 不会的同学请看我之前地web开发文章主要是 node.js 的路由如何实现的文章。)

以下是本地API接入A平台API的代码

async gptPost(req, response) {try {const data = req.body;const options = {url: `${baseUrl}/chat/completions`,method: "POST",headers: {"Authorization": `Bearer ${apiKey}`,"Content-Type": "application/json",},data: {model: "gpt-4o",messages: data,},};const res = await axios(options);return res.data.choices;} catch (err) {console.error('Error creating Kalurecord:', err);return null;}}

这样不到10分钟时间,我就把一个GTP本地应用做好了,而且是手机PC自适应。效果如下:

这是一个基于GPT-4o的本地化应用,我自己有个服务器和域名,于是丢上去就可以直接用了,在这个上面稍微增加一些功能,就可以完全成为一个商业化的产品,可以给很多企业提供服务。比如说 在单API的基础上,开设多个分帐号,这样企业内每个用户都又自己单独的'GPT', 相互间不干扰,上面我的存储只用了本地localStorage,如果企业用,可以用一个数据库来代替。这样信息也本地化了。这个后面我们可以继续讨论这个话题,让这个case变得更丰富和充实。

这个案例也说明,在未来,程序员的核心竞争力,不再是编写代码,不再是编程思维,不再是算法,也不再是经验,而是在提问题的结构化能力在对业务逻辑的理解和描述,这样才能让gpt充分理解你的需求,并且将需求细化、模块化,程序员最终进行组合,生成一个完整的产品。

可怕吗? 但这也是机会!

好吧,你学会了吗,赶紧动手吧! 

相关文章:

AI开发 - 用GPT写一个GPT应用的真实案例

就在昨天,我的同事推荐给我了一个第三方的公共大模型API,这个API集合了国际上上几乎所有知名的大模型,只需要很少的费用,就可以接入到这些大模型中并使用它们。成本之低,令人乍舌!包括我们现在无法试用的 G…...

C#—索引器

C#—索引器 索引器(Indexer)是类中的一个特殊成员,它能够让对象以类似数组的形式来操作,使程序看起来更为直观,更容易编写。索引器与属性类似,在定义索引器时同样会用到 get 和 set 访问器,不同…...

杨振宁大学物理视频中黄色的字去掉(稳定简洁版本,四)

杨振宁大学物理1214 色带矩形带来很大麻烦! 今天想到一个方法,整个色带矩形拉通,做个通铺处理,不计算,代码做最小化,最稳定追求。 因为黄色字稳定,我们找到他的中心,而这个色带矩形…...

排序算法(5):归并排序

问题 排序 [30, 24, 5, 58, 18, 36, 12, 42, 39] 归并排序 归并排序采用分治法,将序列分成若干子序列,每个子序列有序后再合并成有序的完整序列。 在数组排序中,如果只有一个数,那么它本身就是有序的。如果有两个数&#xff0…...

Gate学习(7)引入体素源

一、从GitHub下载体素源模型源码 下载地址:BenAuer2021/Phantoms-for-Nuclear-Medicine-Imaging-Simulation:用于核医学成像应用的模型(闪烁显像、SPECT 和 PET) --- BenAuer2021/Phantoms-For-Nuclear-Medicine-Imaging-Simulat…...

2024.12.14 TCP/IP 网络模型有哪几层?

2024.12.14 TCP/IP 网络模型有哪几层? 2024.12.14 今天周六 看到大伙都在考六级,我来复盘小林coding的计算机网络的知识点: TCP/IP 网络模型有哪几层? 问大家,为什么要有 TCP/IP 网络模型? 对于同一台设备上的进程间通信,有…...

item2 for macos

安装Item2 brew install iterm2 查看终端类型 cat /etc/shells Mac OS X 10.15 已经将默认的shell从Bash换成了zsh,所以不用安装,10.15以前的可以使用下面的命令进行安装 brew install zsh 安装Oh My ZSH # curl sh -c "$(curl -fsSL https://ra…...

二维三维空间上两点之间的距离

二维三维路径上,路径总距离以及途径点与障碍物之间的距离等都需要计算两点之间的距离。两点之间的距离有多种计算方法,这些计算方法主要取决于所考虑的空间维度、点的属性以及具体的应用场景。以下是一些常见的距离计算方法: 1. 曼哈顿距离(Manhattan distance) 定义:也…...

相机测距原理

基础概念的回顾 焦距的定义 焦距是指透镜或镜头的光学中心(通常是透镜的几何中心)到其焦点的距离。 焦点是光线的交点,它指的是透镜或镜头聚焦所有入射光线后汇聚的位置。焦点的位置与透镜的曲率和光线的入射角度相关。就是说所有光线经过…...

Debezium SchemaNameAdjuster 分析

Debezium SchemaNameAdjuster 分析 目录 1. 概述2. 核心功能3. 实现原理4. 应用场景5. 扩展示例6. 总结1. 概述 SchemaNameAdjuster 是 Debezium 中的一个工具类,主要用于确保 Schema 名称符合 Avro 命名规范。在数据库变更事件被转换为 Kafka 消息时,需要为每个表和字段创…...

Stable Diffusion绘画 | SDXL模型使用注意事项

注意事项 SDXL模型的使用,对电脑配置要求更高,需要 8GB 以上显存的显卡SDXL模型兼容性不太好,容易出现错误,对 Mac 电脑不友好只能选择 SDXL模型 训练的 LoRA 使用不能使用旧的 VAE文件 SDXL 专用 VAE 文件:sdxl_vae.…...

(五)机器学习 - 数据分布

数据分布(Data Distribution)是指数据在不同值或值区间内的分布情况,它描述了数据点在整个数据集中是如何分散或集中的。数据分布可以通过多种方式来分析和表示,包括图形和数值方法。 常见的数据分布特征和描述数据分布的方法&…...

Flink State面试题和参考答案-(上)

什么是 Flink 中的状态(State)? Flink 中的状态是指在 Flink 流处理程序中,操作符或函数用于存储和访问数据的机制。状态可以看作是在事件流处理过程中,随着时间推移而累积或变更的数据集合。在 Flink 的有状态流处理…...

利用开源Stable Diffusion模型实现图像压缩比竞争方法用更低的比特率生成更逼真的图像

概述 论文地址:https://studios.disneyresearch.com/app/uploads/2024/09/Lossy-Image-Compression-with-Foundation-Diffusion-Models-Paper.pdf 迪士尼的研究部门正在提供一种新的图像压缩方法,利用开源Stable Diffusion V1.2 模型,以比竞…...

QT信号与槽机制详解

当信号发出后,被连接的槽函数会自动被回调,类似观察者模式,当发生了感兴趣的事件,某一个操作就会被自动触发。信号是由于用户对窗口或控件进行了某些操作,导致窗口或控件产生了某个特定事件,这时Qt对应的窗…...

openGauss开源数据库实战二十二

文章目录 任务二十二 使用JDBC访问openGauss数据库任务目标实施步骤一、查看和设置隔离级别1.查看系统默认的隔离级别2.设置系统默认的隔离级别3.查看当前会话的隔离级别4.设置当前会话的隔离级别5.设置当前事务的隔离级别 二、读提交隔离级别测试三、可重复读隔离级别测试 任务…...

BurpSuite解决暴力破解时需要验证码问题

学习视频来自B站UP主泷羽sec,如涉及侵权马上删除文章。 笔记只是方便学习,以下内容只涉及学习内容,切莫逾越法律红线。 安全见闻,包含了各种网络安全,网络技术,旨在明白自己的渺小,知识的广博&a…...

WPF Combox使用 Text无法选择正确获取CHange后的Text

使用固定ComboxItem 无法通过 selectitem as object 来进行回去到 Content内的对香数据。那我只能这个样干&#xff1a; private void CBPaiweiLeixingSelect_Change(object sender, SelectionChangedEventArgs e){ ComboBox ThisBox sender as ComboBox;List<EDaxiaosuixi…...

【速览】设计模式(更新中)

目录 模式的历史设计模式是什么设计原则 SOLID1. 单一职责原则&#xff08;Single Responsibility Principle, SRP&#xff09;2. 开闭原则&#xff08;Open/Closed Principle, OCP&#xff09;3. 里氏替换原则&#xff08;Liskov Substitution Principle, LSP&#xff09;4. 接…...

【stable diffusion部署】Stable Diffusion开源本地化的文生图图生图AI

前言 主要功能 文生图、图生图、图像修复、处理、合成 所有的AI设计工具&#xff0c;安装包、模型和插件&#xff0c;都已经整理好了&#xff0c;&#x1f447;获取~ 系统要求 windows 10、11系统&#xff0c;建议6G显存&#xff0c;NVIDIA显卡推荐12G显存&#xff0c;内存建…...

mysql备份工具选择_mysqldump对InnoDB与MyISAM支持

mysqldump默认对MyISAM用表级锁、InnoDB不启用事务快照&#xff0c;混合引擎必须用--lock-all-tables保证一致性&#xff0c;且需确保REPEATABLE READ隔离级别和ROW/MIXED binlog格式。mysqldump 默认行为对 InnoDB 和 MyISAM 完全不同默认不加任何参数时&#xff0c;mysqldump…...

电商 SEO 优化与社交媒体营销的关系是什么_电商 SEO 优化效果如何评估

电商 SEO 优化与社交媒体营销的关系 在当今互联网时代&#xff0c;电子商务&#xff08;电商&#xff09;已成为全球经济的重要组成部分。电商 SEO 优化和社交媒体营销是两种互补的推广手段&#xff0c;它们之间的关系不仅丰富了电商平台的推广策略&#xff0c;也为企业带来了…...

3大阶段解决TrollInstallerX安装失败问题

3大阶段解决TrollInstallerX安装失败问题 【免费下载链接】TrollInstallerX A TrollStore installer for iOS 14.0 - 16.6.1 项目地址: https://gitcode.com/gh_mirrors/tr/TrollInstallerX TrollInstallerX作为一款专为iOS 14.0至16.6.1设备设计的TrollStore安装器&…...

hadoop3.3.6上搭建Hbase2.5.13集群

一、什么是Hbase hadoop的局限性 hadoop主要是实现批处理的处理,并且通过顺序方式访问数据 要查找数据必须搜索整个数据集,如果要进行随机读写数据,效率低下 Hbase是Bigtable的开源java版本,是建立在HDFS之上,提供高可靠性、高性能、列存储、可伸缩、实时读写的NoSQL数据…...

HTTP 基础

文章目录1、认识 HTTP1.1 超文本2、与 HTTP 有关的组件2.1 Web 服务器3、与 HTTP 有关的协议3.1 TCP3.2 DNS3.3 URI / URL3.4 HTTPS4、HTTP 请求响应过程5、HTTP 请求特征6、详解 HTTP 报文6.1 HTTP 请求 方法6.2 HTTP 请求 URL6.2.1 http6.2.2 主机6.2.3 端口6.2.4 路径6.2.5 …...

终极指南:如何深度调试AMD Ryzen处理器实现性能最大化

终极指南&#xff1a;如何深度调试AMD Ryzen处理器实现性能最大化 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https://gi…...

基于redis实现限流逻辑

固定窗口计数器 在固定时间窗口内&#xff0c;记录请求次数&#xff0c;如果超过阈值就拒绝&#xff0c;否则放行。 优点&#xff1a;实现简单&#xff0c;性能极高实现方式&#xff1a;incr命令和expire命令缺点&#xff1a;临界突发问题&#xff0c;时间窗口固定&#xff0c;…...

哈尔滨工业大学学位论文latex模板下载及编译方法

1、下载文件夹chinese&#xff1a;https://download.csdn.net/download/wzz110011/92774930?spm1011.2124.3001.6210 2、安装TexStudio 3、设置TexStuidio编译器为XeLaTex&#xff0c;具体设置方法可百度...

如何用League-Toolkit智能助手解决英雄联盟5大核心痛点?效率提升指南

如何用League-Toolkit智能助手解决英雄联盟5大核心痛点&#xff1f;效率提升指南 【免费下载链接】League-Toolkit An all-in-one toolkit for LeagueClient. Gathering power &#x1f680;. 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit 在快节奏的英…...

基于工件高度检测的机电传动与控制:factory建模博图v16plc程序的设计任务

机电传动与控制&#xff0c;基于工件高度检测的分拣(A)控制系统设计任务 内容&#xff1a;factory 建模博图 v16plc 程序&#xff08;v16 版本以上均可使用&#xff09;传送带上的金属工件哐当哐当地滑过&#xff0c;突然被机械臂稳稳抓取——这看似简单的动作背后藏着精密的高…...