在这个快节奏的数字时代

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

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

那么你一定听说过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神经网络预测城市公交系统车站客流量

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

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

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

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

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

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

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

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

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

效果很好

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

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

打开Matlab的APP设计

打开后选择空白App

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

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

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

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

添加Buttonpushed回调

会进入到代码视图

在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

将文本的输入和输出

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

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

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

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

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

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

唯一的好处就是

不用和其他人抢

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

也不需要登录

打开后直接提问题

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

Matlab目前的app designer

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

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

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

在Matlab上用API调用chatgpt模型相关推荐

  1. Java / Tensorflow - API 调用 pb 模型使用 GPU 推理

    目录 一.引言 二.Java / Tensorflow 代码配置 1.代码配置 2.Maven 配置 三.环境检测 1.显卡检测 2.显卡监控 四.推理踩坑 1.异常现象 2.异常日志 五.安装 cu ...

  2. Tensorflow C++ API调用Keras模型实现RGB图像语义分割

    我的实验是基于PSPNet模型实现二维图像的语义分割,下面的代码直接从得到的h5文件开始往下做... 也不知道是自己的检索能力出现了问题还是咋回事,搜遍全网都没有可以直接拿来用的语义分割代码,东拼西凑 ...

  3. 【MATLAB App Designer】实例:调用simulink模型并打包为独立程序

    [MATLAB App Designer]调用simulink模型并打包为独立程序 本人第一次写文章,如有纰漏还请指出,望海涵. 本人等级不够,标签都加不了qwq,大家点点赞哈. 文章目录 [MATL ...

  4. 在Jupyter Notebook中调用ML模型服务图像标题生成器

    说明:写本文的目的主要是验证如何在Jupyter Notebook中通过API调用机器学习模型服务. 1.环境说明 CentOS7(部署在VMware Workstation Pro中的虚拟机) 需要 ...

  5. ChatGPT模型中的惩罚机制

    ChatGPT模型中的惩罚机制 上一篇文章<ChatGPT模型采样算法详解>为大家详细介绍了对文本生成效果至关重要的2种采样方法,以及他们的控制参数temperature和top_p的作用 ...

  6. 2023-4-2 合规使用CHATGPT以及python如何调用chatgpt api的正确方式

    ChatGPT最近很红火吧,要颠覆很多行业,大家都想试试,但是其开发公司OPENAI早有预见的封锁了中国的IP,大家都上不去体验不了,闹心吧,干着急,于是有些人用微信开了些转接小程序,但这一行为也游走 ...

  7. 四天工作制究竟香不香;复旦发布类ChatGPT模型Moss;苹果上新348元省电保护膜 | EA周报...

    EA周报 2023年2月24日 每个星期1分钟,元宝带你喝一杯IT人的浓缩咖啡,了解天下事.掌握IT核心技术. 周报看点 1.周鸿祎:ChatGPT可能两三年内就会产生自我意识威胁人类 2.余承东:华 ...

  8. 少数派实测报告:AI巨无霸模型GPT-3 | 附送API 调用方法「AI核心算法」

    关注:决策智能与机器学习,深耕AI脱水干货 作者 |   Max Woolf 编译 |  刘淑雯 编译 |  林檎 报道 | 数据实战派 编者按:在今年5月29日,OpenAI 发表了一篇关于 GPT ...

  9. 国内不翻墙调用chatgpt api

    openai开放的api接口调用很简单,只要用post请求就可以了.但是因为地区限制,国内无法直接使用这个方法. curl https://api.openai.com/v1/chat/complet ...

最新文章

  1. 新一代企业内部故障报修软件功能实现
  2. python库迁移到没有网的电脑_关于换机器后python库的迁移-偷懒做法
  3. NFS网络文件系统服务
  4. spring启动加载流程
  5. tmux与python虚拟环境问题
  6. 2018年香港私楼落成量达2.1万个 创14年新高
  7. get\post常用参数使用说明
  8. Opencv——几何空间变换(仿射变换和投影变换)
  9. java 全双工服务器_利用Java实现串口全双工通讯_JAVA实例教程_IT部落
  10. 菜鸟程序员如何提升自己的潜在价值
  11. 好好把握人生的12种财富
  12. CentOS中获取文件的前四个字节的16进制值
  13. 海量图片去重算法-局部分块Hash算法
  14. 在我的世界修改服务器吗 名字,我的世界怎么改名字
  15. 从项目管理角度如何保证质量
  16. Android之Surface 与 SurfaceFlinger关系
  17. 重磅自动驾驶数据集来了!全球首个多传感器虚拟标注数据集免费开放
  18. 做了一个艰难的决定--
  19. android 带手电筒的扫一扫(1 可以自动打开手电筒,2 可以自动对焦,增加识别率)
  20. ZTree的选择性展开树节点

热门文章

  1. JS控制GIF图片的停止与显示(掷骰子实现)
  2. VxWorks任务挂死实战分析
  3. net应用程序如何批上XP的外衣?
  4. 《引爆核能-销售演讲与呈现技巧》司铭宇
  5. android 蓝牙 bluetooth OPP文件传输
  6. Java—计算长方形的周长和面积(类和对象)
  7. 中国医科大学本科毕业论文答辩PPT模板
  8. 项目管理相关认证简要介绍(2)- PMP
  9. 鲁大师查验Acer电脑信息
  10. 使用微软Office组件读取Excel文件