在Matlab上用API调用chatgpt模型

article/2024/9/19 9:36:18

在这个快节奏的数字时代

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

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

那么你一定听说过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://chatgpt.dhexx.cn/article/u32uH9nU.shtml

相关文章

国产开源ChatGPT模型对比

国产开源ChatGPT模型对比(大雾) 概述 为什么要做国产开源ChatGPT模型对比呢(大雾),答案显而易见嘛。最近尤其是这阵子ChatGPT爆火, 2月3日在ChatGPT推出仅两个月后,它在2023年1月末的月活用户已经突破了1亿,成为史上用户增长速度最快的消费…

举例说明Chatgpt模型训练的过程

Chatbot GPT模型训练过程详解 在人工智能领域,聊天机器人是一种模拟人类对话行为的计算机程序。近年来,随着深度学习和自然语言处理技术的飞速发展,聊天机器人越来越流行。本文将详细阐述GPT(Generative Pre-trained Transformer&…

ChatGPT模型采样算法详解

ChatGPT模型采样算法详解 ChatGPT所使用的模型——GPT(Generative Pre-trained Transformer)模型有几个参数,理解它们对文本生成任务至关重要。其中最重要的一组参数是temperature和top_p。二者控制两种不同的采样技术,用于因果…

ChatGPT探索系列之二:学习GPT模型系列的发展历程和原理

文章目录 前言一、GPT的起源GPT系列 二、GPT的原理1. GPT原理:自注意2. GPT原理:位置编码3. GPT原理:Masked Language Modeling4. GPT原理:预训练5. GPT原理:微调6. GPT原理:多任务学习 三、GPT模型的风险与…

一文读懂chatGPT模型原理(无公式)

每天给你送来NLP技术干货! 来自:JioNLP 点击这里进群—>加入NLP交流群 (本文是chatGPT原理介绍,但没有任何数学公式,可以放心食用) 前言 这两天,chatGPT模型真可谓称得上是狂拽酷炫D炸天的存…

chatgpt的历史问答记录消失的解决之道

刚刚使用发现我的历史会话记录都没有了,我旁边的一个朋友也没有了。 网上查了一下,很多网友,居然也没有历史记录了。 这是故意而为之,还是误操作删除记录,更有可能是不是装了插件引起的。无意当中发现了一个方法&…

ChatGPT报错解决

背景:登录后无法正常交流,报错内容为: Something went wrong. If this issue persists please contact us through our help center at help.openai.com 如图所示: 解决方法: 1. 不关闭代理的情况下Log out再Log in&a…

chatGPT Access denied访问被拒绝(已解决)

这个网站可以直接进入ai聊天,但是功能只有语言模块,我试用了一下作为文字训练可以使用。ChatGPT Online - AI Chat GPThttps://chatgpt.org/chat 然后是网站尚Access denied 解决办法 首先要使用海外的原生IP进行全局代理,不要使用各大云平…

突破ChatGPT4.0文件无法上传的局限,提升学习效率

大家好!作为一名大学生,我最近在学习过程中遇到了一个非常棘手的问题,但是我终于找到了一个非常有效的解决方法,我想和大家分享一下。如果你也在使用ChatGPT时遇到了无法读取PDF和图片文件的困扰,那么这篇文章将会对你…

这20种职业ChatGPT无法取代!

李开发在《AI未来进行式》一书中分析了AI存在明显不足的三大短板,即便到了2042年,AI可能仍然无法完全掌握这些能力。 第一、创造力。AI不具备进行创造、构思以及战略性规划的能力。尽管AI非常擅长针对单一领域的任务进行优化,使目标函数达到最…

聊聊ChatGPT无法取代的7个工作

ChatGPT——全世界都在谈论的非常流行的人工智能工具。自从 2022 年 11 月 30 日推出以来,ChatGPT 就被证明是执行复杂任务并简化它们的一体式工具。无论是通过 UPenn 的沃顿商学院 MBA 考试,撰写常春藤盟校入学论文,还是完成简单的任务&…

OpenAI 宣布部分解除 ChatGPT 无法联网限制,引入插件策略,会带来什么变化?

OpenAI 发布 ChatGPT Plugins (ChatGPT 插件集) 昨天凌晨,OpenAI 发布 ChatGPT Plugins (ChatGPT 插件集),它能将 ChatGPT 连接到第三方应用程序) 这是 AI 的 App Store 时刻,AI 经历了「iPhone」时刻后,如今也有了应用商店。 这…

我破除了 ChatGPT 无法联网的魔咒!

公众号关注 “GitHubDaily” 设为 “星标”,每天带你逛 GitHub! 前阵子我写过一篇文章,介绍了几种无需安装 ChatGPT Plugin,即可让其轻松破除无法联网的魔咒。 最近看到不少同学对此感兴趣,因此我把这几个方案汇总完善…

解决ChatGPT 总是打不开,显示不可用,网站崩溃,聊几句话就报错,plus会员无法升级始终不成功的问题

为什么你的chat gpt总是打不开,显示不可用,网站崩溃,聊几句话就报错,plus会员无法升级始终不成功? 首先第一个问题open ai服务不可用 那么这个问题很显然,你所在的位置不提供chat gpT的服务,解…

ChatGpt结合Google文档完成自动化写作流程--1

GPT机器人可以通过API连接谷歌文档,让我们进行文字创作和编辑。可以通过它,提供写作思路,创建标题,起草文章介绍和大纲,编写段落,最后总结全文。同时,在一篇文章里,还能帮我们插入图…

每日一个 ChatGPT 使用小技巧系列之1 - 给出提纲,让 ChatGPT 帮你写作

我以前写过一篇文章,介绍了我日常工作和学习中使用 ChatGPT 的一些技巧: 与其整天担心 AI 会取代程序员,不如先让 AI 帮助自己变得更强大 为代码生成对应的单元测试代码 利用 ChatGPT 帮助自己研读经典框架的源代码 代码重构和性能优化 阅读…

使用ChatGPT最新版实现批量写作,打造丰富多彩的聚合文章

随着人工智能的迅猛发展,ChatGPT最新版作为一种自然语言处理模型,可以为我们提供强大的文本生成能力。在这篇文章中,我们将探讨如何利用ChatGPT最新版来实现批量写作,从而打造丰富多彩的聚合文章。 一、ChatGPT最新版简介 Chat…

玩转ChatGPT:论文辅助写作(附Claude测评)

一、写在前面 嘿!嘿!嘿!大家好,今天我们来聊一下使用GPT们进行论文辅助写作。不过,我要先交代一下,GPT的使用门槛比较高,不少童鞋都用不上。所以,我极力推荐一个平替产品——Claude…

ChatGPT写程序如何?

前言 ChatGPT最近挺火的,据说还能写程序,感到有些惊讶。于是在使用ChatGPT有一周左右后,分享一下用它写程序的效果如何。 1、对于矩阵,把减法操作转换加法? 感觉不错的,能清晰介绍原理,然后写示…