LLM本地化部署与管理实用工具实践记录
文章目录
- 前言
- Ollama
- QWen模型部署
- Python调用API
- AnythingLLM
- 本地基础配置
- AI知识库检索
- CherryStudio
- 访问DeepSeek
- 系统内置AI助手
- 嵌入知识库文档
- LLMStudio
- 基础环境安装
- 模型管理应用
- 命令行的管理
- 总结
前言
发现好久没更新 CSDN 个人博客了,更多的是转移到了个人私有化笔记(某雀)。但想了好久,决定还是在此坚持了多年的平台继续零星分享和记录自己的技术学习之路。最近在学习啥?自然是火的一塌糊涂的 AI……
随着 DeepSeek 在 2025 年春节猝不及防地在 AI 科技领域掀起的一股惊涛骇浪,给 AI Agent 的应用带来了无限可能。为了保护个人隐私和数据安全,越来越多的开发者和企业选择本地部署 LLM。
本文来分享、介绍下自己初入 AI 领域学习过程中使用的几款 AI 客户端应用,用于本地模型部署和个人知识库搭建。全文没什么技术含量,但个人认为对于初学 AI 的同学着实会很实用。
Ollama
Ollama 是一个开源的大型语言模型服务工具(https://github.com/ollama/ollama),旨在帮助用户在本地环境中部署和运行大型语言模型,其核心功能是提供一个简单、灵活的方式,将这些复杂的AI模型从云端迁移到本地机器上,简化大型语言模型在本地环境中的运行和管理。
QWen模型部署
Ollma 官网下载地址:https://ollama.com/download。下载 exe 安装包双击运行,安装完以后在 cmd 窗口即可使用:

然后回到官网搜索并选择合适的大模型,以千问为例:


运行上述 ollama 命令,将自动下载对应的预训练数据集:

下载 qwen 的模型,默认保存在 C:\Users\Administrator\.ollama\models,如果想更改默认路径,可以通过设置 OLLAMA_MODELS 进行修改,然后重启终端,重启 ollama 服务。
setx OLLAMA_MODELS "D:\ollama_model"
等待模型下载完就能正常使用了,将电脑的网络断开后,验证了也是能正常使用的:

至此,在 Windows 本地部署 ollama 并运行 qwen 大语言模型就已经完成了。
Python调用API
Ollama 提供了强大的 REST API,使开发者能够方便地与大语言模型进行交互。通过 Ollama API,用户可以发送请求并接收模型生成的响应,应用于自然语言处理、文本生成等任务。详细教程介绍:《Ollama API 使用指南》。
下面通过 Python 脚本直接调用 Ollama 的 API 来访问本地千文大模型:
import requests
import jsondef send_message_to_qwen(message, port=11434):url = f"http://127.0.0.1:{port}/api/chat"payload = {"model": "qwen2.5:3b","messages": [{"role": "user", "content": message}]}response = requests.post(url, json=payload)if response.status_code == 200:response_content = ""for line in response.iter_lines():if line:response_content += json.loads(line)["message"]["content"]return response_contentelse:return f"Error: {response.status_code} - {response.text}"if __name__ == "__main__":user_input = "介绍一下广州美食?"response = send_message_to_qwen(user_input)print("Qwen's response: ")print(response)
其中的服务端口 port 确认(Ollama 服务默认就是 http://127.0.0.1:11434)。脚本执行结果如下:

AnythingLLM
将开源的大语言预训练模型部署到用户设备上进行推理应用,特别是结合用户专业领域知识库构建 AI 应用,让 AI 在回答时更具有专业性,目前已经有很多成熟的应用方案。
下文将基于 Ollama + AnythingLLM + QWen 来搭建一个本地的 AI 大模型 RAG 知识库。
本地基础配置
AnythingLLM 是采用 MIT 许可证的开源框架,支持快速在本地部署基于检索增强生成(RAG)的大模型应用。它在不调用外部接口、不发送本地数据的情况下,确保用户数据的安全。AnythingLLM 能够将任何文档、资源或内容片段转化为大语言模型(LLM)在聊天中可以利用的相关上下文。
AnythingLLM推出了桌面应用,下载地址:https://anythingllm.com/desktop,下载后直接安装即可。
如下安装后首次打开的界面引导用户选择 LLM 提供商,此时应该选择我们已经部署的本地 Ollama,但是我忘记了、直接全部跳过了……不过后面通过“应用设置”进一步配置也是 ok 的,详见下文。

前面已经安装了 Ollama,那么只要选择 Ollama,输入调用的 API 接口 URL,再选择此前已经下载的 QWen 模型即可。
这里注意,我们要用服务器模式启动 Ollama,Ollama 其实有两种模式:聊天模式和服务器模式。所谓服务器模式,可以简单理解为,Ollama 在后端运行大模型,然后开放一个端口给到别的软件,让那些软件可以调用大模型的能力。要开启服务器模式非常简单。在终端里执行ollama serve即可。
用服务器模式启动 Ollama 后进一步配置 AnythingLLM 的 LLM 首选项,我们只当 LLM 提供商为 Ollama,模型采用 qwen2.5:3b,URL 地址为 Ollama 的默认服务地址:

AnythingLLM 可以支持 PDF,TXT,DOCX 等文档的文本信息提取,经过嵌入模型(Embedding Models),保存在向量数据库中,并通过一个简单的 UI 界面管理这些文档。为管理这些文档,AnythingLLM 引入工作区(workspace)的概念,作为文档的容器,可以在一个工作区内共享文档,但是工作区之间隔离。

实际上 AnythingLLM 数据源不仅支持上传本地文档,也可以直接抓取网页信息,甚至指定连接远程 Gihub 等数据源:


用户可以根据项目来创建 Workspace,一个项目建一个。然后,把关于这个项目的所有文档、所有网页都导入 Workspace。
AI知识库检索
此处以在网上随便找的一份在线《人工智能发展白皮书》为例:https://hrssit.cn/Uploads/file/20240506/1714975520255178.pdf。

下载 pdf,上传到工作区,点击 Save and Embed,开始保存并嵌入:

完成文档的嵌入后,回到聊天窗口,开始询问文档的相关知识:


同时 Workspace 还支持两种不同的聊天模式:
- 聊天模式:大模型会根据你给的文档,以及它本来就有的知识储备,综合起来回答;
- 查询模式:大模型只是简单地针对文档进行回答;
本章节通过使用 Ollama 与 AnythingLLM 进行本地大语言模型的部署,并构建个人知识库,本地部署有效避免了数据上传至云端所面临的潜在风险,让我们对个人数据拥有了更直接的掌控权。
CherryStudio
无需复杂编程基础,就能搭建属于自己的 AI 知识库?借助 Cherry Studio 和 DeepSeek,这一切将成为现实。下文将详细介绍如何利用 Cherry Studio 零基础本地访问 DeepSeek,构建个人 AI 知识库,让你的知识管理更加智能、高效。
Cherry Studio 是一款支持多个大语言模型(LLM)服务商的桌面客户端,兼容 Windows、Mac 和 Linux 系统。从 Cherry Studio官方介绍文档 我们可以看到其主要的功能特性亮点所在:

访问DeepSeek
CherryStudio 的安装,直接从官网(https://cherry-ai.com/download )下载 Windows exe 安装程序后,一键安装即可。
安装后可以看到软件支持的大量 LLM 云服务厂商:

我们选择 硅基流动平台 进行体验,注册后登录会免费送体验额度,我们到其管理台申请 APIKey:

复制到 CherryStudio 完成配置:

然后我们就能访问硅基流动提供的模型服务了,比如 DeepSeek-R1:

进一步的,你可以给自己创建的助手或智能体 预设提示词、模型参数、知识库(下文会讲)等:


系统内置AI助手
CherryStudio 自带了大量的智能体助手可以供用户直接引用:

比如我们体验下 “英语单词背诵助手”,可以发现程序自动给它配置了提示词:

试着体验下效果,整体还不错!

其它内置的 AI 助手的能力,就留给读者自己去实践体验了!
嵌入知识库文档
Cherry Studio 强大的一个功能就是还支持我们基于本地的知识文档,构建属于自己的本地 AI 知识库!同时能够结合 LLM 进行快速检索、知识问答。
先创建个人知识库:

支持添加本地文档、文件夹,或者在线网站作为数据源:

添加完嵌入模型,再导入本地文档后,即可轻松搭建个人 AI 知识库,实现基于本地知识的高效智能问答,提升知识管理与利用效率。
LLMStudio
下文来介绍一款实用的 LLM 可视化的部署和管理工具:LM Studio,官方文档地址:https://lmstudio.ai/docs。
工具主要功能如下:
- 用于运行本地 LLM 的桌面应用程序;
- 熟悉的用户聊天界面;
- 搜索和下载功能 (通过 Hugging Face 🤗);
- 可以监听类似 OpenAI 端点的本地服务器;
- 用于管理本地模型和配置的系统;
基础环境安装
在官网下载完安装包一键安装即可,系统语言可在社渚处选简体中文,需在设置处勾选如下选项,才能正常在国内网络下载模型:

选择要下载的模型,系统会根据本地 PC 的配置推荐适合的模型参数大小,选中后开始下载:


耐心等待下载完成:

【More】另外的方法是从国内模型源下载模型:https://modelscope.cn/,下载时可搜索“模型名+参数量+gguf”,比如 deepseek 7b gguf,然后找到合适的模型文件后下载即可(F16、Q2、Q3、Q4 代表的是模型的量化精度,精度越高,模型能力越强,所需的运行条件越高):


模型下载完以后,直接在如下位置加载模型即可开始运行:

然后即可到聊天窗口开始使用模型进行问答,同时支持发送文件进行问答:

可以注意到右侧栏目提供了设置系统体系此、模型温度、相应长度、响应结构化输出等选项。
模型管理应用
除了在聊天窗口使用 LM Studio 部署的 LLM 外,我们也可以通过 API 的方式调用。
回到模型的管理界面,可以看到一个 Server 开关,正是控制 API 服务的,我们可以点击开启:


开启后可以看到默认端口为 127.0.0.1:1234(可以手动修改),同时可以开启局域网访问(会修改为监听 0.0.0.0),完整的 API 接口可以参见官方 API 文档:https://lmstudio.ai/docs/api。

以最主要的 chat API 为例,通过 Python 调用 API 访问 LM Stduio 的 LLM 服务:
def LMStudioAPICall(stream_flag = False):# 配置 OpenAI 客户端client = OpenAI(base_url="http://localhost:1234/v1",api_key="lm-studio" # 默认APIKey,任意值即可,摆设而已,官方不支持鉴权)completion = client.chat.completions.create(model="deepseek-r1-distill-llama-8b", # 替换为你的模型名称messages=[{"role": "user", "content": "史记的作者是谁啊?"}],temperature=0.5,top_p=0.95,max_tokens=2048,stream = stream_flag)if stream_flag: # 流式响应输出for chunk in completion:if chunk.choices:delta = chunk.choices[0].deltaif delta.content:print(delta.content, end="", flush=True) # 逐步输出内容else:print(completion.choices[0].message.content)if __name__ == '__main__':LMStudioAPICall(stream_flag = True)

推理过程可以明显感受到 CPU 占用的上升:

命令行的管理
除了在可视化 UI 上管理 LLM,也支持通过命令行 lms 命令直接管理 LM Studio 的服务(有点像 Ollama):

最后,我们可以在 CherryStudio 中也使用 LM Studio 提供的服务(有必要的话):


本章节主要介绍了如何借助 LM Studio 在本地环境中部署和管理大语言模型服务,包括模型选择与加载、模型服务API 调用以及命令行管理等。LM Studio 丰富的功能和优秀的 UI 设计,使其等于 Ollama + Chatbot 的功能组合,是部署和管理本地大模型服务的绝佳工具选择。
总结
本文介绍了 Ollama、LLMStudio 等本地化 LLM 部署和管理的客户端软件,避免了繁杂的手动部署大模型的过程,而 AnythingLLM、CherryStudio 等软件则让我们十分方便地访问各类 LLM API 并构建本地个人专属知识库。
相关文章:
LLM本地化部署与管理实用工具实践记录
文章目录 前言OllamaQWen模型部署Python调用API AnythingLLM本地基础配置AI知识库检索 CherryStudio访问DeepSeek系统内置AI助手嵌入知识库文档 LLMStudio基础环境安装模型管理应用命令行的管理 总结 前言 发现好久没更新 CSDN 个人博客了,更多的是转移到了个人私有…...
免费高质量贴图(Textures) 网站推荐
以下是一些提供 免费或高质量贴图(Textures) 的网站,包括 PBR 贴图、HDRI 贴图、材质等,适用于 Three.js、Blender、Unity、Unreal Engine 等软件。 🌍 1. Poly Haven(https://polyhaven.com/)⭐…...
第十次CCF-CSP认证(含C++源码)
第十次CCF-CSP认证 分蛋糕满分题解 学生排队满分题解 Markdown语法题目解读满分代码 结语 分蛋糕 题目链接 满分题解 基本思路:我们需要保证除了最后一个小朋友之外的所有人,分得的蛋糕都大于等于给定的K值,为什么是大于等于,是…...
windows 启用linux子系统不必再装双系统
搜索栏搜索:启用或关闭Windows功能,把下面3项勾选上: 若没有Hyper-V,则根据以下步骤添加: 在桌面新建一个txt文件,将下面的程序复制进去,之后修改文件后缀名为.bat 右键管理员运行即可。 pushd "%~dp0" dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.m…...
lanqiaoOJ 1180:斐波那契数列 ← 矩阵快速幂
【题目来源】 https://www.lanqiao.cn/problems/1180/learning/ 【题目描述】 定义斐波那契数列数列为 F11,F21,FnFn-1Fn-2,n>2。 给定一个正整数 n,求 Fn 在模 10^97 的值。 【输入格式】 第1行为一个整数 T&#x…...
go程序运行Spaitalite踩坑记录
Spatialite参考资料:8.1. 开源地理空间数据库 — Python与开源GIS Ubuntu安装SpaitaLite: apt-get install libspatialite7 libsqlite3-mod-spatialite apt-get install spatialite-bin 命令行打开数据库:spatialite xxx.db 执行一个空间函…...
【react】react中的<></>和React Fragment的用法及区别详解
目录 1、<>是什么 2、为什么要使用<>? 3、如何使用<>? 基本用法 需要传递属性时(如key) 使用效果 注意事项 总结 4、React Fragment 与空标签(<>)详解 1. Fragment 的用…...
Everything搜索工具下载使用教程(附安装包),everything搜索工具文件快速查找
文章目录 前言一、Everything搜索工具下载二、Everything搜索工具下载使用教程 前言 Everything搜索工具能凭借文件名实时精准定位文件,接下来的教程,将详细为你呈现 Everything搜索工具的下载及使用方法,助你开启高效文件搜索的便捷之旅 。…...
LeetCode 解题思路 17(Hot 100)
解题思路: 找到链表中点: 使用快慢指针法,快指针每次移动两步,慢指针每次移动一步。当快指针到达末尾时,慢指针指向中点。递归分割与排序: 将链表从中点处分割为左右两个子链表,分别对这两个子…...
Qt程序基于共享内存读写CodeSys的变量
文章目录 1.背景2.结构体从CodeSys导出后导入到C2.1.将结构体从CodeSys中导出2.2.将结构体从m4文件提取翻译成c格式 3.添加RTTR注册信息4.读取PLC变量值5.更改PLC变量值 1.背景 在文章【基于RTTR在C中实现结构体数据的多层级动态读写】中,我们实现了通过字符串读写…...
7-12 关于堆的判断
输入样例: 5 4 46 23 26 24 10 24 is the root 26 and 23 are siblings 46 is the parent of 23 23 is a child of 10输出样例: F T F T 这题是建最小堆,数据结构牛老师讲过这个知识点,但是我给忘了,补题搜了一下才解…...
《SQL编程思想》中的 MySQL 建表语句和测试数据
《SQL编程思想》中的 MySQL 建表语句 建表语句 -- 创建 4 个示例表和索引 CREATE TABLE department( dept_id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT 部门编号,自增主键, dept_name VARCHAR(50) NOT NULL COMMENT 部门名称) ENGINEInnoDB COMM…...
STL标准库
感谢哔哩哔哩UP“开发者LaoJ”,以下是学习记录~ 一、容器 1.1、vector 底层实现是动态数组,向尾部插入数据很方便,但是向中间和头部插入数据需要移动其它元素 可以实现随机访问 如果插入时,当前vector容纳不下,会…...
STM32 HAL库实战:高效整合DMA与ADC开发指南
STM32 HAL库实战:高效整合DMA与ADC开发指南 一、DMA与ADC基础介绍 1. DMA:解放CPU的“数据搬运工” DMA(Direct Memory Access) 是STM32中用于在外设与内存之间直接传输数据的硬件模块。其核心优势在于无需CPU干预,…...
什么是机器学习?从零基础到自动驾驶案例全解析
Langchain系列文章目录 01-玩转LangChain:从模型调用到Prompt模板与输出解析的完整指南 02-玩转 LangChain Memory 模块:四种记忆类型详解及应用场景全覆盖 03-全面掌握 LangChain:从核心链条构建到动态任务分配的实战指南 04-玩转 LangChai…...
正点原子[第三期]Arm(iMX6U)Linux移植学习笔记-4 uboot目录分析
前言: 本文是根据哔哩哔哩网站上“Arm(iMX6U)Linux系统移植和根文件系统构键篇”视频的学习笔记,在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。 引用: …...
Unity开发——点击事件/射线检测
一、IPointerClickHandler接口 通过为 UI 元素添加自定义脚本,实现IPointerClickHandle接口,在点击事件发生时进行处理。 这种方式适用于对特定 UI 元素的点击检测。 using UnityEngine; using UnityEngine.EventSystems;public class UIClickHandler…...
【零基础入门unity游戏开发——unity3D篇】3D物理系统之 —— 3D刚体组件Rigidbody
考虑到每个人基础可能不一样,且并不是所有人都有同时做2D、3D开发的需求,所以我把 【零基础入门unity游戏开发】 分为成了C#篇、unity通用篇、unity3D篇、unity2D篇。 【C#篇】:主要讲解C#的基础语法,包括变量、数据类型、运算符、流程控制、面向对象等,适合没有编程基础的…...
微信小程序接入DeepSeek模型(火山方舟),并在视图中流式输出
引言: DeepSeek,作为一款先进的自然语言处理模型,以其强大的文本理解和生成能力著称。它能够处理复杂的文本信息,进行深度推理,并快速给出准确的回应。DeepSeek模型支持流式处理,这意味着它可以边计算边输…...
55年免费用!RevoUninstaller Pro专业版限时领取
今天,我要给大家介绍一款超给力的卸载工具——RevoUninstaller Pro。这是一款由保加利亚团队精心打造的专业级卸载软件,堪称软件卸载界的“神器”。 RevoUninstaller分为免费版和专业版。专业版功能更为强大,但通常需要付费才能解锁全部功能。…...
Markdig:强大的 .NET Markdown 解析器详解
在现代开发中,Markdown 已经成为了一种广泛使用的轻量级标记语言,特别是在文档、博客和内容管理系统中,Markdown 为开发者提供了快速、简洁的格式化文本方式。而在 .NET 生态中,Markdig 是一款非常强大的 Markdown 解析器…...
基于ensp的IP企业网络规划
基于ensp的IP企业网络规划 前言网络拓扑设计功能设计技术详解一、网络设备基础配置二、虚拟局域网(VLAN)与广播域划分三、冗余协议与链路故障检测四、IP地址自动分配与DHCP相关配置五、动态路由与安全认证六、广域网互联及VPN实现七、网络地址转换&#…...
谷歌Chrome或微软Edge浏览器修改网页任意内容
在谷歌或微软浏览器按F12,打开开发者工具,切换到console选项卡: 在下面的输入行输入下面的命令回车: document.body.contentEditable"true"效果如下:...
初探大模型开发:使用 LangChain 和 DeepSeek 构建简单 Demo
最近,我开始接触大模型开发,并尝试使用 LangChain 和 DeepSeek 构建了一个简单的 Demo。通过这个 Demo,我不仅加深了对大模型的理解,还体验到了 LangChain 和 DeepSeek 的强大功能。下面,我将分享我的开发过程以及一些…...
【Linux】进程(1)进程概念和进程状态
🌟🌟作者主页:ephemerals__ 🌟🌟所属专栏:Linux 目录 前言 一、什么是进程 二、task_struct的内容 三、Linux下进程基本操作 四、父进程和子进程 1. 用fork函数创建子进程 五、进程状态 1. 三种重…...
关闭win11根据内容自动调整屏幕亮度
在win11笔记本上使用编程软件的时候,用的是深色背景,但是屏幕会慢慢变暗;等切换回明亮的桌面时,又会慢慢变亮,带来不适应的感觉。这个博客记录一下解决这个问题的办法 ps:有些人修改的是电源选项ÿ…...
2021-05-23 C++百元百鸡
此是草稿,有值得优化的地方,如从公鸡先循环再母鸡再小鸡这样可以提高效率,且有输出后也可优化为公鸡母鸡小鸡初始化。 void 百元百鸡() {//缘由https://ask.csdn.net/questions/7434093?spm1005.2025.3001.5141int xj 1, mj 1, gj 1, y …...
理解langchain langgraph 官方文档示例代码中的MemorySaver
以下是langchain v0.3官方示例代码 from langgraph.checkpoint.memory import MemorySaver from langgraph.graph import START, MessagesState, StateGraph# 可以理解为:定义一个流程,这个流程中用到的数据类型是Messages。 <---定义一个有向图&…...
C# 建造者模式(Builder Pattern)详细讲解
一、什么是建造者模式? 建造者模式(Builder Pattern)是一种创建型设计模式,它通过将一个复杂对象的构建过程与其表示分离,使得同样的构建过程可以创建不同的表示。这个模式主要应用于那些构建过程复杂且涉及多个步骤的…...
Android自动化测试工具
细解自动化测试工具 Airtest-CSDN博客 以下是几种常见的Android应用自动化测试工具: Appium:支持多种编程语言,如Java、Python、Ruby、JavaScript等。可以用于Web应用程序和原生应用程序的自动化测试,并支持iOS和Android平台。E…...
