
【AI大模型】Ollama+WebUI+ChatWise+Chatbox AI+Cherry Studio+MATLAB+DeepSeek-R1本地可视化运行
随着人工智能技术的不断发展,越来越多的企业和开发者开始重视本地大模型的部署与应用。相比云端服务,本地模型在数据隐私、响应速度以及自定义方面具有独特优势。本文将从理论到实战,详细解析如何利用 MATLAB 这一强大计算工具结合 Ollama 构建和部署本地 AI 大模型,带你走进智能应用新时代。
一、前言
随着人工智能技术的不断发展,越来越多的企业和开发者开始重视本地大模型的部署与应用。相比云端服务,本地模型在数据隐私、响应速度以及自定义方面具有独特优势。本文将从理论到实战,详细解析如何利用 MATLAB 这一强大计算工具结合 Ollama 构建和部署本地 AI 大模型,带你走进智能应用新时代。
二、核心技术概述
1. MATLAB 的优势
MATLAB 作为工程计算和算法开发的利器,具备高效的数据处理、可视化以及丰富的工具箱,特别适用于 AI 算法建模、数据仿真和结果分析。无论是传统的机器学习还是深度学习模型,MATLAB 都能提供一站式的开发环境。
2. AI 大模型的发展趋势
AI 大模型(Large Language Models、视觉模型等)在自然语言处理、图像识别等领域取得了突破性进展。对于需要自定义算法和模型调优的场景,本地部署不仅可以降低延迟,更能确保数据安全。
3. Ollama:本地 AI 模型运行平台
Ollama 是一款致力于本地部署 AI 模型的工具平台,支持多种大模型的快速加载与调用。包括DeepSeekR1等大模型。
三、软件下载与环境配置
1. 软硬件要求
(1)MATLAB:需要 MATLAB R2024a 或更高版本,配置LLMs with MATLAB库。
(2)Ollama:安装 Ollama 平台,确保本地环境中能顺利运行大模型。
(3)硬件配置:建议使用具备较高 GPU 性能的电脑。
2. 软件下载
2.1. Ollama下载
官网链接:https://ollama.com/ 。点击Download下载,点击Models可见所有模型,点击某个模型连接,比如qwen2,可以看到模型详细的介绍。(下载需魔法,百度网盘资源关注公众号回复关键词''MatGPT''可免费领取)。
下载完成后,双击安装文件,点击「Install」开始安装,会默认安装到C盘,路径如下:C:\Users%username%\AppData\Local\Programs\Ollama,并不会让用户自定义选择安装路径。
2.2. 配置环境变量(必须)
默认存放Ollama模型目录为C:/Users//.ollama/models。可通过以下命令更改模型安装时的存放目录,从而减少C盘负担。
# 只设置当前用户(需要先创建D:\ollama_models目录)
setx OLLAMA_MODELS "D:\ollama_models"
# 为所有用户设置(需要先创建D:\ollama_models目录)
setx OLLAMA_MODELS "D:\ollama_models" /M
或者可以本地部署环境变量,通常可选择这个:
变量名(N):OLLAMA_MODELS
变量值(V):D:\Work\ollama\models
2.3. 配置端口(可选)
Ollama API 默认绑定在本机地址 http://localhost:11434,只能在安装了 Ollama 的系统上直接调用;如果需要在网络中提供服务,则必须通过修改系统环境变量来更改 API 的监听地址和端口。
变量名(N):OLLAMA_HOST
变量值(V): :8000
2.4. 允许浏览器跨域请求(可选)
Ollama 默认只允许来自127.0.0.1和0.0.0.0的跨域请求,如果你计划在其它前端面板中调用 Ollama API。
变量名(N):OLLAMA_ORIGINS
变量值(V): *
2.5. LLMs with MATLAB库
在系统命令提示符下,运行下述命令将LLMs with MATLAB库克隆至本地工作路径。(需要魔法,百度网盘资源关注公众号回复关键词可免费领取)。
git clone https://github.com/matlab-deep-learning/llms-with-matlab.git
使用addpath
将目录添加到 MATLAB 路径或者将其添加为matlab toolbox,或者可在matlab内部设置路径。
addpath('路径/llms-with-matlab-main');
四、本地调用Ollama
1. AI 模型管理
以下是模型交互命令,如果本地没有该模型,则会先下载模型再运行,首次运行启动可能略慢。
ollama list:显示模型列表。
ollama show:显示模型的信息
ollama pull:拉取模型
ollama push:推送模型
ollama cp:拷贝一个模型
ollama rm:删除一个模型
ollama run:运行一个模型
可以通过按下 Win+R 快捷键,在弹出的“运行”窗口中输入 cmd,打开命令提示符,从而部署本地AI模型。(此时默认下载到C盘)
或"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe",打开该软件进行模型交互命令。(此时下载到上述环境变量地址)执行命令,
2. ollama终端交互示例
利用下述命令创建本地模型,并进行终端交互。
ollama pull llama3.2
五、WebUI交互界面
1. 拓展下载
交互AI界面,更加方便使用。官网链接:Page Assist - A Web UI for Local AI Models - Chrome Web Store (google.com)
仓库地址:https://github.com/n4ze3m/page-assist
点击获取拓展,或者Get,添加Page Assist - 本地 AI 模型的 Web UI插件。
2. 接入Ollama
安装完成后,记得打开Ollama软件,界面显示Ollama is running说明已连接,点击Select a Model随后提问即可。
在此条件下,可以开启联网以及上传图片分析,方便快捷。
六、ChatWise交互界面
1. 软件下载
官网链接:
ChatWise - The fastest AI chatbot for ChatGPT, DeepSeek, Claude, Gemini and Llama
下载完成后显示通常不会下载...,此时点击右方三个点(更多操作),随后显示详细信息,点击仍然保留即可。
软件界面布局清晰,左边是对话记录,中间是对话窗口,右边是参数设置。可以设置系统指令角色扮演,也可以调整Temperature,Truncate messages,Reasoning effort,Reply language等参数。
2. 接入API Key
点击左下角图标,上方工具栏选择Providers,以OpenAI为例,输入API Key,随后返回主界面选择OpenAI模型即可。除了OpenAI之外,还可以接入Anthropic,DeepSeek,ElevenLabs,Google AI,Groq,Mistrral等知名的大模型平台。点击此链接可获取OpenAI API(API keys - OpenAI API)
3. 接入Github Copilot
同理选择GitHub Copilot,点击Sign in。
随后复制粘贴验证码,点击Continue即可,此时显示Authorized。Copilot是有免费配额的,可以快速体验。
4. 接入Ollama
首先安装启动Ollama,随后点击Ollama,界面Status显示Ready即可。
此时即可调用选择相关模型,其中后边有个图片小标志的表示支持图片输入,在主界面上也可以选择上传附件,同时Ollama中常用的常规问答如qwen2.5:latest、llama3.2:latest,视觉模型如minicpm-v:latest,深度思考模型如deepseek-r1:14b等。另外ChatWise也支持搜索功能和其他实验性功能,不过这两个功能没有免费开放。
七、Chatbox AI交互界面
1.软件下载
官网链接:Chatbox AI官网:办公学习的AI好助手,全平台AI客户端,官方免费下载
可以点击免费下载(for Windows),或者启动网页版。注意必须安装在C盘,否则软件无法启动。
2.接入本地大模型
然后打开Chatbox,点击Chatbox AI Cloud(一个订阅搞熟访问所有主流AI模型),或者使用自己的API KEY或本地模型,然后随便选一个模型,再点击下面的取消就行,因为我们要自己设置一些更多参数。
点击设置,打开模型选项,点击模型提供方,可以选择各种API大模型。
随后选择相应的API域名以及模型,设置相关参数,点击保存即可。注意,在设置时必须保证Ollama软件启动。
以下提供一个Ollama API域名,可以测试 32B DeepSeek R1
https://5287-60-176-129-162.ngrok-free.app/
八、Cherry Studio
1.软件下载
官网下载:Cherry Studio - 全能的AI助手(下载速度慢)(同样必须安装在C盘)
GitHub地址:https://github.com/kangfenmao/cherry-studio
可以点击立即下载或者通过网盘下载。
2.接入API Key
软件默认助手为硅基流动的大模型,其中包括deepseek等。
点击左下角设置,例如选择Open AI大模型,将开关打开,输入相关API密钥(没有密钥的可点击这里获取密钥),最后选择模型,点击添加即可。
3.接入Ollama
同理点击左下角设置,例如选择Ollama大模型(确保Ollama软件打开),将开关打开,输入相关API密钥(没有密钥的可点击这里获取密钥),点击管理添加模型,最后点击添加即可。
其他模型同理,此时可选择已添加对话模型。
九、LobeChat
- github仓库:lobehub/lobe-chat: 🤯 Lobe Chat - an open-source, modern-design AI chat framework. Supports Multi AI Providers( OpenAI / Claude 3 / Gemini / Ollama / Qwen / DeepSeek), Knowledge Base (file upload / knowledge management / RAG ), Multi-Modals (Vision/TTS/Plugins/Artifacts). One-click FREE deployment of your private ChatGPT/ Claude application. (github.com)
- 官网地址:开始使用 LobeChat · LobeChat Docs · LobeHub,点击开始使用。
随后进行登录界面,可以通过Google、Apple、Github分别登录。
登录成功后,可以设置相关领域及智能助理或者跳过。
随后便可以设置相关模型以及开始对话。
同时可添加内置拓展及配置本地知识库。
十、AnythingLLM
1. 下载 AnythingLLM
- 官网地址:Download AnythingLLM for Desktop
- 下载完成后,双击安装包进行安装。
2. 配置 Ollama 模型
- 打开 AnythingLLM,进入设置页面。
- 选择本地 Ollama 模型方式,软件会自动识别你之前下载的模型。
3. 创建工作区
- 回到主界面,起一个名字创建工作区。
- 这样就可以开始提问啦!
十一、matlab+Ollama
1. 简单示例
在下载并配置完成LLMs with MATLAB库后,可以调用ollamaChat
类创建与本地ollama的连接,这里以llama3.2为例:
chat=ollamaChat('llama3.2');
chat.generate('你是谁')
2. 设置循环聊天
官方案例:
%% 设置聊天循环
%%配置模型
%设置每次聊天会话允许的最大字数,并定义关键字,当用户输入该关键字时,该关键字将结束聊天会话。
wordLimit = 2000;
stopWord = "end";
%创建一个实例ollamaChat来执行聊天,创建一个实例messageHistory来存储会话历史记录。
chat = ollamaChat("llama3.2"); % qwen2:7b
messages = messageHistory;
%% 聊天循环
% 开始聊天并保持聊天,直到出现stopWord设置的语句出现
totalWords = 0;
messagesSizes = [];
%%
% 主循环会无限地继续下去,直到输入设置好的stopWord或按下Ctrl+ c
while true
query = input("User: ", "s");
query = string(query);
%dispWrapped("User", query)
%%
% 如果您输入了stopWord,则显示消息并退出循环。
if query == stopWord
disp("AI: Closing the chat. Have a great day!")
break;
end
numWordsQuery = countNumWords(query);
%%
% 如果查询超过字数限制,则显示错误消息并停止执行。
if numWordsQuery>wordLimit
error("Your query should have fewer than " + wordLimit + " words. You query had " + numWordsQuery + " words.")
end
%%
% 跟踪每条消息的大小和到目前为止使用的总字数。
messagesSizes = [messagesSizes; numWordsQuery]; %#ok
totalWords = totalWords + numWordsQuery;
%%
% 如果总字数超过限制,则从会话开始时删除消息,直到不再使用为止。
while totalWords > wordLimit
totalWords = totalWords - messagesSizes(1);
messages = removeMessage(messages, 1);
messagesSizes(1) = [];
end
%%
% 将新消息添加到会话并生成新的响应。
messages = addUserMessage(messages, query);
[text, response] = generate(chat, messages);
dispWrapped("AI", text)
%%
% 计算回复中的字数并更新总字数。
numWordsResponse = countNumWords(text);
messagesSizes = [messagesSizes; numWordsResponse]; %#ok
totalWords = totalWords + numWordsResponse;
%%
% 向会话添加响应。
messages = addResponseMessage(messages, response);
end
%% |Helper Functions|
% 该函数用于计算文本字符串中的单词数
function numWords = countNumWords(text)
numWords = doclength(tokenizedDocument(text));
end
%%
% 该函数显示从前缀挂起缩进的换行文本
function dispWrapped(prefix, text)
indent = [newline, repmat(' ',1,strlength(prefix)+2)];
text = strtrim(text);
disp(prefix + ": " + join(textwrap(text, 70),indent))
end
%%
🔍 代码解析
这段 MATLAB 代码实现了一个与本地大型语言模型(LLM)进行交互的聊天循环。它使用了 ollamaChat
和 messageHistory
类来管理与模型的对话。在聊天过程中,代码会跟踪用户和模型之间交换的单词总数,并确保总数不超过预设的限制。如果超过限制,最早的消息将被移除,以保持在限制范围内。用户可以通过输入特定的停止词(如 "end")来结束聊天会话。此外,代码还包含辅助函数,用于计算文本中的单词数以及格式化输出,以提高聊天体验的可读性。
3. 简易MatGPT APP
【关注我们】
如果您对神经网络、群智能算法及人工智能技术感兴趣,请关注我们的公众号【灵犀拾荒者】,获取更多前沿技术文章、实战案例及技术分享!欢迎点赞、收藏并转发,与更多朋友一起探讨与交流!点赞+收藏+关注,后台留言关键词【免费资料】可获免费资源及相关数据集。
更多推荐
所有评论(0)