MATLAB课程:AI工具辅助编程——MATLAB+LLMs

给出一些可能有用的方法辅助大家写代码。


方法一:MATLAB软件+LLM (不太懂配置的同学们为了省事可以主要用这个方法)

  方法一特别针对本门MATLAB教学课程,给出一种辅助ai工具的操作指南。MATLAB中可以安装MatGPT插件,该插件通过调用ChatGPT的API,实现在MATLAB中与Chat GPT对话的功能。但是由于调用API需要收费,因此使用MatGPT这类插件的成本还是略显高昂。下面提出一种免费的替代方案:在本地配置免费的大模型,实现MATLAB(R2024a及以上版本)内与LLM进行免费对话。
  首先去github上找到该项目:llms-with-matlab,如图1所示(有同学不会科学上网登不上Github没关系,后面所有涉及到下载的东西都有安装包,可以问我要)

在这里插入图片描述

图1 Github项目界面

  打开你的powershell (或者cmd:键盘上按下win键+R键,再输入“cmd”)<看一下我附上的超链接,知道一下什么是powershell>。切换到你想到达的,指定目标文件位置,切换命令如下(我在D盘下新建了一个“matlab_project”文件夹,然后现在切换到了这个位置):

cd D:/matlab_project

  然后输入:

git clone https://github.com/matlab-deep-learning/llms-with-matlab.git

  等待克隆成功即可。有些同学可能没有git,那就直接在github项目页面,点击下载zip文件,把它下载到指定位置再解压。

在这里插入图片描述

图2 Github项目下载ZIP

  接下来打开你的 MATLAB 2024 并导航到克隆存储库的目录,如图3所示:

在这里插入图片描述

图3 MATLAB界面

  然后在MATLAB的命令行窗口中,使用addpath将目录添加到 MATLAB 路径:

addpath("D:/matlab_project\llms-with-matlab")

  好,到这里可以先不管MATLAB的事情了,我们需要回到github的llms-with-matlab项目,如图4所示,我们点击Ollama的链接。

在这里插入图片描述

图4 Ollama界面1

在这里插入图片描述

图5 Ollama界面2

  现在跳转到了Ollama的说明文档界面。框住那段话意思大概是说,我们要用大语言模型的话,需要先下载一个Ollama软件,然后“pull”一个大语言模型。那我们现在点击说明文档上标蓝色的“Ollama”,跳转到其软件下载界面,直接Download(同上,有需要的同学可以直接问我要安装包)。下载完以后,你会发现一个羊驼模样的快捷程序。

在这里插入图片描述

  第一次下载好以后,我印象他是会直接跳出来一个powershell。我们现在只是下载好了软件,并没有pull可以用的大语言模型。所以现在直接在powershell中输入“ollama pull llama3.2”,会有如下运行结果。

在这里插入图片描述

图6 Ollama终端pull大模型

  拉取成功后,你可以直接在这个powershell里输入“ollama run llama3.2”,就可以和大语言模型交流了。
  很好,现在就可以直接往里面输入你想问的信息了。当然我们是要在MATLAB中使用大模型。现在可以把这个powershell关掉了。我们回到我们的MATLAB窗口。刚才我们已经进行了“addpath(‘D:\matlab_project\llms-with-matlab’);”这一步,接下来,继续在MATLAB的命令行窗口中输入命令,如图7所示。
在这里插入图片描述

在这里插入图片描述

图7 MATLAB命令行窗口使用效果

  由此,我们成功在MATLAB软件中的命令行窗口能与LLM对话了。But当你今天关掉电脑以后,第二天你直接打开MATLAB发现又没办法和LLM交流了?怎么办呢?
  其实每次启动,大致有两种方法:

  1. 直接点击羊驼模样的ollama应用程序图标,接着打开MATLAB,然后一顿操作猛如虎:addpath(“…”); chat=ollamaChat(“llama3.2”); chat.generate(“…”)。诶,发现我又行了!
  2. 我们也可以powershell中启动ollama:
    • ollama serve命令能启动ollama服务器。
    • 如果需要,可以直接再运行ollama run llama3.2命令,在powershell中与大模型交互;或者忽略此步,直接进入下一步。注意你的这个powershell不要关掉,关掉的话就和ollama服务器断连了。
    • 打开MATLAB,继续一顿操作猛如虎:addpath(“…”); chat=ollamaChat(“llama3.2”); chat.generate(“…”)。诶,发现我又又行了!

  最后给大家附上一些有用的参考资料:

  • https://blog.csdn.net/laughzjh/article/details/140285488
  • https://github.com/matlab-deep-learning/llms-with-matlab

方法二:VS Code中安装copilot插件辅助编程

  现在有好多纯免费的大模型插件可供使用:
  IntelliCode,Tabnine,codeium,Bito AI,codegeex,通义灵码,fitten code,comate,Kodezi AI,aiXcoder, iflycode(这些工具下载量由高到低排列)
  但是上述这些工具,准确率和速度都不如copilot。Copilot使用的话需要学生认证,配置略微繁琐一点,且需要10天左右的认证。认证成功后可享受学生优惠免费使用.
  如何上手使用详见:Github Copilot 全方位上手通关指南 - 知乎。
  其实我更推荐这个方法,对大家以后各种语言编程用处更大一点。这才是真正的程序员辅助工具(虽然我还没空弄起来这个hhh)。

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

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

相关文章

2.索引:SQL 性能分析详解

SQL性能分析是数据库优化中重要的一环。通过分析SQL的执行频率、慢查询日志、PROFILE工具以及EXPLAIN命令&#xff0c;能够帮助我们识别出数据库性能的瓶颈&#xff0c;并做出有效的优化措施。以下将详细讲解这几种常见的SQL性能分析工具和方法。 一、SQL 执行频率 SQL执行频率…

使用Go语言编写一个简单的NTP服务器

NTP服务介绍 NTP服务器【Network Time Protocol&#xff08;NTP&#xff09;】是用来使计算机时间同步化的一种协议。 应用场景说明 为了确保封闭局域网内多个服务器的时间同步&#xff0c;我们计划部署一个网络时间同步服务器&#xff08;NTP服务器&#xff09;。这一角色将…

深度学习经典模型之VGGNet

1 VGGNet 1.1 模型介绍 ​ VGGNet是由牛津大学视觉几何小组&#xff08;Visual Geometry Group, VGG&#xff09;提出的一种深层卷积网络结构&#xff0c;他们以7.32%的错误率赢得了2014年ILSVRC分类任务的亚军&#xff08;冠军由GoogLeNet以6.65%的错误率夺得&#xff09;和…

Android的BroadcastReceiver

1.基本概念&#xff1a;BroadCast用于进程间或者线程间通信 本质上是用Binder方法&#xff0c;以AMS为订阅中心&#xff0c;完成注册&#xff0c;发布&#xff0c;监听的操作。 2.简单实现的例子 package com.android.car.myapplication;import android.content.BroadcastRe…

分布式数据库中间件mycat

MyCat MyCat是一个开源的分布式数据库系统&#xff0c;它实现了MySQL协议&#xff0c;可以作为数据库代理使用。 MyCat(中间件)的核心功能是分库分表&#xff0c;即将一个大表水平分割为多个小表&#xff0c;存储在后端的MySQL服务器或其他数据库中。 它不仅支持MySQL&#xff…

Java多线程编程(四)- 阻塞队列,生产者消费者模型,线程池

目录&#xff1a; 一.阻塞队列 二.线程池 一.阻塞队列 1.阻塞队列是⼀种特殊的队列. 也遵守 "先进先出" 的原则 阻塞队列能是⼀种线程安全的数据结构, 并且具有以下特性&#xff1a; 1.1.当队列满的时候, 继续入队列就会阻塞, 直到有其他线程从队列中取走元素 1.…

深度剖析JUC中LongAdder类源码

文章目录 1.诞生背景2.LongAdder核心思想3.底层实现&#xff1a;4.额外补充 1.诞生背景 LongAdder是JDK8新增的一个原子操作类&#xff0c;和AtomicLong扮演者同样的角色&#xff0c;由于采用AtomicLong 保证多线程数据同步&#xff0c;高并发场景下会导致大量线程同时竞争更新…

大数据面试题--kafka夺命连环问

1、kafka消息发送的流程&#xff1f; 在消息发送过程中涉及到两个线程&#xff1a;一个是 main 线程和一个 sender 线程。在 main 线程中创建了一个双端队列 RecordAccumulator。main 线程将消息发送给双端队列&#xff0c;sender 线程不断从双端队列 RecordAccumulator 中拉取…

树形结构数据

树形结构数据 树形结构数据是一种基础且强大的数据结构&#xff0c;广泛应用于计算机科学和软件开发的各个领域。它模拟了自然界中树的层级关系&#xff0c;通过节点和它们之间的连接来组织数据。在本文中&#xff0c;我们将深入探讨树形结构数据的概念、特点、类型以及它们在…

dell服务器安装ESXI8

1.下载镜像在官网 2.打开ipmi&#xff08;idrac&#xff09;&#xff0c;将esxi镜像挂载&#xff0c;然后服务器开机 3.进入bios设置cpu虚拟化开启&#xff0c;进入boot设置启动选项为映像方式 4..进入安装引导界面3.加载完配置进入安装 系统提示点击继 5.选择安装磁盘进行…

信息安全数学基础(46)域和Galois理论

域详述 定义&#xff1a; 域是一个包含加法、减法、乘法和除法&#xff08;除数不为零&#xff09;的代数结构&#xff0c;其中加法和乘法满足交换律、结合律&#xff0c;并且乘法对加法满足分配律。同时&#xff0c;域中的元素&#xff08;通常称为数&#xff09;在加法和乘法…

Windows端口占用/Java程序启动失败-进程占用的问题解决

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…

Python酷库之旅-第三方库Pandas(204)

目录 一、用法精讲 951、pandas.IntervalIndex.values属性 951-1、语法 951-2、参数 951-3、功能 951-4、返回值 951-5、说明 951-6、用法 951-6-1、数据准备 951-6-2、代码示例 951-6-3、结果输出 952、pandas.IntervalIndex.from_arrays类方法 952-1、语法 952…

AndroidStudio-文本显示

一、设置文本的内容 1.方式&#xff1a; &#xff08;1&#xff09;在XML文件中通过属性&#xff1a;android:text设置文本 例如&#xff1a; <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.andr…

微星爆破弹ddr4wifi接线梳理研究

主板(微星爆破弹ddr4 wifi) mac用久了&#xff0c;windows的键盘都有点不习惯了。 理清了这些接口都是干啥的&#xff0c;接线就非常简单了。

机器视觉基础—双目相机

机器视觉基础—双目相机与立体视觉 双目相机概念与测量原理 我们多视几何的基础就在于是需要不同的相机拍摄的同一个物体的视场是由重合的区域的。通过下面的这种几何模型的目的是要得到估计物体的长度&#xff0c;或者说是离这个相机的距离。&#xff08;深度信息&#xff09…

【GPTs】EmojiAI:轻松生成趣味表情翻译

博客主页&#xff1a; [小ᶻZ࿆] 本文专栏: AIGC | GPTs应用实例 文章目录 &#x1f4af;GPTs指令&#x1f4af;前言&#x1f4af;EmojiAI主要功能适用场景优点缺点 &#x1f4af;小结 &#x1f4af;GPTs指令 中文翻译&#xff1a; 此 GPT 的主要角色是为英文文本提供幽默…

「C/C++」C/C++STL 之 push_back 和 emplace_back 的区别

✨博客主页何曾参静谧的博客📌文章专栏「C/C++」C/C++程序设计📚全部专栏「VS」Visual Studio「C/C++」C/C++程序设计「UG/NX」BlockUI集合「Win」Windows程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「PK」Parasolid函数说明目…

【Golang】Go语言教程

Go语言教程 文章目录 Go语言教程一、Go语言教程二、Go语言特色三、Go语言用途四、第一个Go程序六、运行代码的两种方式七、go run和go buil的区别7.1、go run7.2、Go build 一、Go语言教程 Go全称Golang Go是一个开源的编程语言&#xff0c;它能让构造简单、可靠且高效的软件变…