Ollama+Msty本地AI搭建

629 阅读4分钟

前言

现在已经是2025年了,再不会本地部署AI就输在起跑线上了。从前两年GPT的横空出世到现在AI的百花齐放,从早些的卷参数,到现在卷AI算法和多模态。可以说AI技术到现在取得了巨大进步。但是在通用人工智能(AGI)的道路上,仍然面临诸多挑战。

今天来实现一下本地AI部署,虽然没用(我们自己电脑性能有限,使用AI模型的参数有限,不如进各大AI官网免费使用),但是不能不会。

正文

Ollama基本使用

简单来说, Ollama 是一个用于在本地运行大型语言模型的工具。 它就像一个桥梁,连接了各种开源的 LLMs 模型和你自己的电脑。 Ollama 的目标是让每个人都能 简单、快捷、安全 地体验和使用最先进的 AI 模型,而无需复杂配置或依赖云服务

安装

登录ollama.com/download 选择适合自己电脑的版本进行下载安装

安装后输入命令,看到版本号输出就安装成功了。

ollama --version

image.png

修改模型保存位置

默认Ollama会把模型下载到C盘下,但是C盘空间是有限的,我们可以新增系统变量来更改模型下载位置

image.png

image.png

基本命令

这是全部的命令,但是常用的命令就几个 image.png

ollama.com/search ,可以查看所有供下载的模型

#查看本地已下载模型
ollama list
#运行本地的模型,没有的话回到远程下载
ollama run xxx
#删除模型
ollama rm xxx

例子

在与模型对话的时候输入/bye就是退出。

image.png

到这里Ollama你就基本会使用了

创建自定义的 AI 模型

创建Modelfile文件,并编写内容,还有别的参数,具体可以上官网看。

#以哪个模型的基础上进行修改?
FROM llama3.2

#控制模型生成文本的随机性 (温度)。 temperature 值越高,模型生成的结果越随机、越发散、越有创造性,但也可能更不可预测; temperature 值越低,模型生成的结果越保守、越确定、越符合常见模式,但也可能缺乏创新性。 通常 temperature 取值范围在 0 到 1 之间
PARAMETER temperature 1

#用于 设置模型的系统提示词。 系统提示词是在对话开始前预先设置的指令,用于 引导模型的行为和风格。 系统提示词会影响模型在所有对话中的表现。 您可以利用系统提示词来 定义模型的角色、性格、知识范围、任务目标 等等
SYSTEM """
  You are an intelligent AI, please answer briefly
"""

使用命令创建模型

ollama create AIName -f ./Modelfile  
使用命令向本地AI提问

Ollama暴露了11434端口给我们使用

#windows
 Invoke-WebRequest -Uri http://localhost:11434/api/generate -Method Post -ContentType "application/json" -Body '{"model":"llama3.2","prompt":"Why is the sky blue","stream":false}'
 

image.png

参考文档 github.com/ollama/olla…

但是正常我们不这么使用,知道有这种方式就行。我们可以安装第三方库,这样就可以在node环境中使用了。

可以自己去试试 www.npmjs.com/package/oll…

npm i ollama

Msty

通过命令行的形式调用本地AI模型还是太麻烦了。我们可以下载Msty,这样就可以通过可视化界面的形式调用本地AI模型。

image.png

安装

官网 msty.app/ 。选择合适的版本下载

进行对话

点击左上角的图标即可进行对话 image.png

切换本地的模型 image.png

RAG

RAG 系统,全称 Retrieval-Augmented Generation,即检索增强生成系统。 将数据的向量嵌入 (vector embeddings) 存入向量数据库中,向量数据库主要存储的是数据的向量表示,而不是原始数据本身。 我们通常会将各种类型的原始数据(例如文本、图像、音频、视频等)通过特定的模型转换成向量,然后将这些向量存储在向量数据库中,以便进行高效的相似性搜索和分析。存储在向量数据库中的是 向量嵌入,而存储的目的是为了能够 高效地进行向量相似度搜索,从而支持各种基于语义的应用,例如语义搜索、相似内容检索、推荐系统、问答系统等。

流程图

whiteboard_exported_image.png

我们要下载一个模型nomic-embed-text。模型的作用: 将文本转换为向量,以便进行语义分析

image.png

image.png

添加额外知识库 image.png

勾选上我们创建的知识库 image.png

这样我们的问题会先去额外添加的知识库中找答案,没有结果的话会根据它自身的知识回答。

结语

感兴趣的可以去试试