在Matlab上用API调用chatgpt模型

news/2024/5/3 7:07:20/文章来源:https://blog.csdn.net/qq_25837853/article/details/129448600

在这个快节奏的数字时代

深度学习技术正逐渐成为大家的热门话题

如果你也是一名程序员或者科研工作者

那么你一定听说过GPT模型

是一种非常流行的自然语言处理模型

各大平台都已经接入了ChatGpt模型

将其应用各行对应的领域

下面介绍如何在Matlab中使用API调用chtgpt模型

以及用MATLAB的APP程序设计桌面应用

(由于目前Open AI公布生成的API需要访问其模型服务器,所以在整个调用模型过程中需要连接上ta才会有回应)

直接放.m文件的源码(感兴趣的自行试验)

%连接互联网
import matlab.net.*
import matlab.net.http.*
%提问文本输入
umesges  =input('我:','s');
mesges   = [struct('role',"system",'content',"You are a helpful assistant.");
struct('role',"user",'content',umesges)];
apiurl   = "https://api.openai.com/v1/chat/completions"; %API填写进入的网址
apikey   = "***"; %引号中放API码,需要注册open ai账号获取
% 定义请求消息
querymsg = struct('model',"gpt-3.5-turbo",...'messages',mesges, ...'max_tokens',1000,...'temperature',0.75);
% 请求头
headers  = HeaderField('Content-Type', 'application/json',...'Authorization', "Bearer " + apikey);
% 请求消息
request  = RequestMessage('post',headers,querymsg);
response = send(request, URI(apiurl));
% 消息获取处理并显示
if response.StatusCode == "OK" %判断是否获取回答成功responseText = response.Body.Data.choices(1).message; %从响应体中获取第一个选择项的消息内容,并将其赋值给变量 responseTextresponseText = string(responseText.content); %将 responseText 转换为字符串类型responseText = strtrim(responseText); %移除wrapped_s开头和结尾的空格和换行符str=['chatgpt: ',num2str(responseText)];disp(str) %在命令窗口显示回答
elseresponseText = "Error "; %将字符串 "Error " 赋值给变量 responseTextresponseText = responseText + response.StatusCode + newline; %将响应状态码和一个换行符添加到 responseText 的结尾responseText = responseText + response.StatusLine.ReasonPhrase; %将响应状态行的原因短语添加到 responseText 的结尾disp(str) %在命令窗口显示回答
end

以下是测试结果

↓↓↓↓↓↓

问:基于遗传算法优化bp神经网络预测城市公交系统车站客流量 

509862367fc24061a4846554ee8dfda1.png

答:为了优化城市公交系统的车站客流量预测,可以采用遗传算法和BP神经网络相结合的方法。具体步骤如下:

1. 数据采集和处理:收集城市公交系统车站客流量的历史数据,对数据进行预处理,包括数据清洗、缺失值填充、异常值处理等。

2. 特征提取:从收集到的历史数据中提取相关的特征,包括时间特征、天气特征、节假日等特征。

3. 数据划分:将数据划分为训练集和测试集,通常采用70%的数据作为训练集,30%的数据作为测试集。

4. 遗传算法优化:通过遗传算法对BP神经网络进行优化,包括优化网络结构、学习率、动量因子等参数,以提高神经网络的预测性能。

5. BP神经网络训练:使用划分的训练集对BP神经网络进行训练,调整网络权重和偏置,使得网络对车站客流量的预测误差最小化。

6. 模型评估:使用划分的测试集对训练好的模型进行评估,计算预测误差、准确率、召回率等指标,评估模型的预测性能。

7. 模型应用:将训练好的模型应用于实际的城市公交系统中,对车站客流量进行实时预测,并根据预测结果调整公交车的发车时间和行驶路线,优化公交系统的运行效率。

以上是基于遗传算法优化的BP神经网络预测城市公交系统车站客流量的一般流程,具体实现还需要根据实际情况进行调整和优化。

                                                                  

效果很好

和open ai官方网页版的基本相同

接下来,说下Matlab的APP Design设计ChatGPT的桌面应用版

f652ac960cd8418c98b81f1c22f83684.png

 打开Matlab的APP设计

13729f32a15e46f688c19083cded9cf0.png

 打开后选择空白App

(小白可以学习官方学习文档)

aab6bcc904b24c01be96feaa4ea7fe96.png

 拖动左边模块到右边白布上

(点击后可以任意调整大小,右侧可修改其中的文字、背景颜色及大小等)

然后,赋予push按钮执行的命令

f0ce0e9a1cd849b3bf3782d80f0b3e1a.png

 添加Buttonpushed回调

会进入到代码视图

a07a4a0bdf374f94ba16c2c27a697cd0.png

 在Buttonpushed回调函数中写入要执行的命令代码

function ButtonPushed(app, event)
import matlab.net.*
import matlab.net.http.*
str1=['我:',app.EditField.Value];
umesges  =str1;
app.TextArea.Value=[app.TextArea.Value;umesges];
mesges   = [struct('role',"system", ...'content',"You are a helpful assistant."); struct('role',"user",'content',umesges)];
apiurl   = "https://api.openai.com/v1/chat/completions";
apikey   = "***"; %引号中输入你的API
% 定义请求消息
querymsg = struct('model',"gpt-3.5-turbo",...'messages',mesges, ...'max_tokens',1000,...'temperature',0.75);
% 请求头
headers  = HeaderField('Content-Type', 'application/json',...'Authorization', "Bearer " + apikey);
% 请求消息
request  = RequestMessage('post',headers,querymsg);
response = send(request, URI(apiurl));
% 消息获取处理并显示
if response.StatusCode == "OK"responseText = response.Body.Data.choices(1).message; %从响应体中获取第一个选择项的消息内容,并将其赋值给变量 responseTextresponseText = string(responseText.content); %将 responseText 转换为字符串类型responseText = strtrim(responseText); %移除wrapped_s开头和结尾的空格和换行符str=['chatgpt: ',num2str(responseText)];% 获取UITextArea组件的句柄textAreaHandle = app.TextArea;% 获取当前已经显示的文本currentText = textAreaHandle.Value;% 追加新文本newText = str;tit=[currentText;newText];updatedText = tit;% 将新文本设置为UITextArea组件的值textAreaHandle.Value = updatedText;
elseresponseText = "Error "; %将字符串 "Error " 赋值给变量 responseTextresponseText = responseText + response.StatusCode + newline; %将响应状态码和一个换行符添加到 responseText 的结尾responseText = responseText + response.StatusLine.ReasonPhrase; %将响应状态行的原因短语添加到 responseText 的结尾app.TextArea.Value=responseText;
end
end

3c61872dd68040e2a3aab5522545372e.png

将文本的输入和输出

分别赋予到提问文本框和显示回答的文本框中

完成好后可以点击运行测试下

测试没问题后对设计好的APP进行封包处理

cb58558ce6f54837a61e703f9bf49765.png

 选择自己想要的封包结果形式

有MATLAB内部APP版、网页版、桌面应用程序版

7fa04042e4ba48bd90f23ab72d67b7c6.png

 该图为封包为桌面应用程序版的效果

唯一的好处就是

不用和其他人抢

用API调用的ChatGPT模型不会卡顿

也不需要登录

打开后直接提问题

当然熟练程序设计的还可以进行更多的优化

Matlab目前的app designer

可能在做的就是将算法仿真代码程序工具化

功能没有专业的程序设计软件齐全

但对于非计算机专业的工科人来说足矣

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

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

相关文章

ChatGPT|一文读懂GPT-4!

前言 大家好,我是小满同学,感谢各位的点赞、收藏、评论 今天早上一早醒来,发现各大科技圈公众号平台开始刷屏OpenAI发布的新模型GPT4.0,看这个版本号就已经知道又是一大波特性的更新 于是立马起来开始学习! GPT-4 发…

ChatGPT为什么可以取代那么多职位?

最近的ChatGPT段子满天飞,以至于,不聊ChatGPT咱都不好意思在社交媒体上发言了。 这种力度的出圈,各种长期离线好友,甚至我妈都来问我,这是啥玩意啊? “十年老友,不请自来”?这架势&…

ChatGPT快速开始 (Node版本)

近期公司大佬让我调研一下ChatGPT,虽然网络上已经热火朝天了,感觉很多人都在应用它,但是ChatGPT 对大多数人来说依旧是一个很陌生的东西,对我来说也是。只能一点点的去了解去学习,浅显的先从账号注册、接口调用来看一看…

抱抱脸:ChatGPT背后的算法——RLHF | 附12篇RLHF必刷论文

文 | 卖萌酱大家好,我是卖萌酱。前几天,抱抱脸公司(HuggingFace)发表了一篇博客[1],详细讲解了ChatGPT背后的技术原理——RLHF。笔者读过之后,觉得讲解的还是蛮清晰的,因此提炼了一下核心脉络&a…

工具 | VSCode+ChatGPT 编程利器

本文首发微信公众号:全副武装的大师兄(一个分享前沿技术,生活感受的公众号,关注我,率先了解好玩的工具) 托了GPT同学的福,最近编程时,常会在ChatGPT中说明自己的需求以生成代码&…

Java调用ChatGPT(基于SpringBoot),实现可连续对话和流式输出的ChatGPT API(可自定义实现AI助手)

目录1. 配置阶段1.1 依赖引入1.2 配置application.yml文件1.3 注解添加2 使用2.1 生成回答2.1.1 测试2.2 生成图片2.2.1 测试2.3 下载图片2.3.1 测试2.4 生成流式回答2.4.1 流式回答输出到IDEA控制台2.4.2 流式回答输出到浏览器页面3 AI助手展示本文Demo地址:https:…

奇舞周刊第486期:ChatGPT 的狂飙之路

记得点击文章末尾的“ 阅读原文 ”查看哟~下面先一起看下本期周刊 摘要 吧~奇舞推荐■ ■ ■ChatGPT 的狂飙之路最近随着 ChatGPT 爆火出圈,网络上各种关于 ChatGPT 的争论声也不断;有些人把它当成一个更高级的聊天机器人,有人兴奋地看到了创…

阿里巴巴达摩院通义千问【附申请链接】阿里版ChatGPT

🥑 Welcome to Aedream同学 s blog! 🥑 文章目录报名测试实际体验效果阿里云作为数一数二的全球云平台,阿里的大语言模型通义千问还是值得期待的,凭借强大的算力支持还是有机会赶上人工智能发展浪潮。 早前阿里巴巴达摩院关于人工…

如何在QQ群中接入ChatGPT机器人

最近ChatGPT很火,但是每次要在浏览器上输入显得很麻烦。那么能不能在我们日常使用的软件中接入它让我们能方便的使用它呢?下面为你介绍如何在QQ群中接入chatgpt。环境介绍今天我们的分享主要围绕着大部分用户Windows电脑。基于nodejs。所需工具nodejs(版…

InstructGPT论文详解(学习ChatGPT必看论文)

InstructGPT论文详解(Training language models to follow instructions with human feedback,学习ChatGPT必看论文)返回论文和资料目录 1.导读 继ChatGPT大火后,越来越多人想了解ChatGPT相关技术。OpenAI官网虽然没有给出ChatG…

解放生产力!chatGPT接入Excel与Word教程(需要魔法上网,不用的都是骗人的)

解放生产力!chatGPT接入Excel与Word教程(需要魔法上网,不用的都是骗人的)!!!默认你注册过openAI账号了并使用过chatGPT了,本文就不教如何注册GPT啦,网上全是教程&#xf…

已获得百度文心一言内测资格,和ChatGPT3.5简单对比测评

今日获得了百度刚发布的文心一言的内测资格。整体感觉还不错哟。 闲来无事,使用同样的问题,用文心一言和我们基于ChatGPT的GPT-3.5-Turbo接口开发的免费镜像网站作了一下对比。给各位同学提前做一下参考。 传送门:https://ai.bo-e.com/ 接口…

ChatGPT技术与市场动态

ChatGPT服务器,深度拆解(2023)ChatGPT发布之后,引发了全球范围的关注和讨论,国内各大厂商相继宣布GPT模型开发计划。据各公司官网,2023年2月7日,百度宣布将推出ChatGPT类似产品“文心一言”&…

PHP - ChatGpt 学习 仅供参考

由于最近ChatGpt 大火,但是门槛来说是对于大家最头疼的环节, 由此ChatGpt 有一个API 可以仅供大伙对接 让我来说下资质: 1:首先要搞得到一个 ChatGpt 的账户, 会获得一个KEY,该key为访问API核心&#xff0…

ChatGPT王炸更新!能联网获取新知识,可与5000+个应用交互,网友:太疯狂了

梦晨 杨净 发自 凹非寺量子位 | 公众号 QbitAI都说ChatGPT是AI的“iPhone时刻”,现在属于它的“应用商店”来了。OpenAI刚刚又甩出一个王炸——宣布推出插件功能,赋予ChatGPT使用工具、联网、运行计算的能力。例如在官方演示中,ChatGPT一旦接…

chatgpt的多种免费使用方式

很多朋友因为各种限制无法开通#ChatGPT Plus,而申请OpenAI的GPT-4 API也要慢慢排队(我的也还没下来)。于是在这里我搜集了X个可以免费使用的方法。 注:哪有什么真正免费,只不过有人在替你付钱。因此下述的方法都有限制…

ChatGPT带你轻松入门嵌入式,实现51、STM32、Arduino、树莓派、Linux各种点灯程序...

关注星标公众号,不错过精彩内容作者 | strongerHuang微信公众号 | strongerHuang最近两个月什么最火?我想 ChatGPT 必定算其中一个。这东西能有多火?我之前一直以为只有在互联网等技术领域比较火,直到前不久,我们当地政…

搭建个人专属ChatGPT(零成本且不需要XX)

本篇文章假定读者已经拥有OpenAPI帐号,并且已经获取了API访问的secret key。 本文部分内容由ChatGPT生成 ChatGPT网页版开发 本章节描述了如何从零开发一个私有化版本的 ChatGPT 网站,主要使用技术栈为 NextJS TailwindCSS chatgpt ,其中 …

6 个令人惊艳的 ChatGPT 项目,开源了!

公众号关注 “GitHubDaily”设为 “星标”,每天带你逛 GitHub!过去一周,技术圈的各个爆炸新闻,可以说是让我真正见证到了什么叫人间一日,AI 一年。首先是 New Bing 对所有用户放开,注册即可用,然…

关于 ChatGPT 必看的 10 篇论文

目录1 Transformer2 GPT-33 InstructGPT4 Sparrow5 RLHF6 TAMER7 PPO8 In-Context Learning8.1 Why Can GPT Learn In-Context8.2 What learning algorithm is in-context learning9 Prompt参考团队博客: CSDN AI小组 相关阅读 ChatGPT 简介从 ELMo 到 ChatGPT:历数…