Ollama+DeepSeek R1+AnythingLLM训练自己的AI智能助手
1.下载Ollama安装
1.1.安装Ollama
Ollama官网:Ollama
下载Ollama,点击“Download”按钮。
根据电脑操作系统,下载合适的版本即可。
下载完成后点击安装,完成后安装窗口会自动关闭,你的系统托盘图标会出现一个Ollama图标。
1.2.Ollama配置环境变量
下载Ollama后点击安装即可,Ollama会默认将下载的模型安装到C盘,一般我们需要将其改到其他盘,避免下载模型过多过大,将C盘占满。
找到“编辑系统环境变量”。
点击后,选择“环境变量”。
在“系统环境变量”选择新增;
1.2.1.配置Ollama的模型存储路径
默认是C盘,这里我们更改ollama的模型存储为E盘,先打开电脑的E盘创建一个名为“Ollama”的文件夹。然后接上面弹出来的对话框中输入变量名和变量值:
变量名:OLLAMA_MODELS
变量值:E:\Ollama
2.2.配置可被远程访问
监听地址,默认为127.0.0.1(仅限本机访问)。如需远程访问,可设置为0.0.0.0,我们在学习的情况下一般仅限本机访问即可。
变量名:OLLAMA_HOST
变量值:0.0.0.0
修改环境变量后,重启一下Ollama。
1.2.3.重启Ollama
右键这个羊驼图标,选择“Quit Ollama”。
然后找到Ollama应用启动即可。
2.本地化DeepSeek R1 模型
可以在Ollama官网,点击Models找打DeepSeek-R1模型。
点击deepseek-r1模型后,可以查看deepseek-r1模型的详细信息,也有对应的安装脚本。
deepseek-r1有很多版本,我们可以选择其中一个下载。
复制这个命令,在我们的电脑命令窗口里面执行即可。
windows电脑搜索cmd,即可打开命令窗口。
然后复制ollama下载模型命令,在窗口中执行即可开始下载:
ollama run deepseek-r1:7b
等待模型下载完毕。
到此我们的deepseek-r1:7b模型本地化安装完毕,我们可以通过命令行和它简单进行几句对话。
3.下载AnythingLLM与安装
官网地址:Windows Installation ~ AnythingLLM
注意:操作系统需要Windows10+
下载完毕后,我们双击开始安装。
等待其安装完毕即可。
主界面效果如下:
接下来我们开始使用AnythingLLM。
4.AnythingLLM使用
因为我们已经下载Ollama和DeepSeek-R1,所以可以从开始后直接跳到创建工作区。
因为我们需要使用的是本地的模型,所以这里可以选择Ollama。
然后会提示我们选择本地模型,然后我们选择前面下载的:deepseek-r1:7b
注意后面的Max Token,我们尽可能改大些,让其输出内容可以更多。但是也要根据自己的电脑配置进行合理的配置。
注意:只有理解其对性能和资源使用的影响时才更改此设置。
基本设置:Ollama 自动将上下文限制在 2048 个令牌,减少了 VRAM 的使用。适合大多数用户。
最大值:使用整个上下文窗口(最高 令牌数)。可能会显著增加 VRAM 使用量。
意思是如果配置 Base(Default),会使用 Ollama 默认的 2048 token,主要处于性能考虑。整体效果与 Maximum 对比有差距。
然后保存配置即可。
接下来我们看看效果
其实我的本意问它是谁,结果回答和不满意,而且思索过程居然是英文的。我们只需要将聊天设置里面的聊天提示用中文增加一下提示即可。
然后我们再看效果:
整体效果很不错,效果也令人满意,接下来我们可以上传一些自定义的知识让其回答。
5.导入本地化知识
点击这个上传按钮可以开始添加些自定义的知识库。
首先我们在上传之前先测试一下是否能回答我们专有知识。
接下来我们上传知识文档
最后注意一定要标记,否则不会被引用。
这里插入一个细节,如果我们想要模型输出的结果更加偏向于我们上传的文档,可以调整一下LLM温度和向量数据库中文档相似性阈值
然后我们再试试。
显然已经知道了些东西,虽然准确性还有待提升。
后续我会持续更新,介绍一下如何接入外部向量数据库、提供远程访问、Linux部署、以及我们怎么慢慢将助手训练的更专业等等。
相关文章:

Ollama+DeepSeek R1+AnythingLLM训练自己的AI智能助手
1.下载Ollama安装 1.1.安装Ollama Ollama官网:Ollama 下载Ollama,点击“Download”按钮。 根据电脑操作系统,下载合适的版本即可。 下载完成后点击安装,完成后安装窗口会自动关闭,你的系统托盘图标会出现一个Ollama图标。 1.2.…...

基于java手机销售网站设计和实现(LW+源码+讲解)
专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。 技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:…...

5-R循环
R 循环 有的时候,我们可能需要多次执行同一块代码。一般情况下,语句是按顺序执行的:函数中的第一个语句先执行,接着是第二个语句,依此类推。 编程语言提供了更为复杂执行路径的多种控制结构。 循环语句允许我们多…...

Qlabel 每五个一换行 并、号分割
学习点 Qlabel 每五个一换行 并、号分割 QString MainWindow::formatHobbies(const std::set<QString>& hobbies) {QString formattedHobbies;int count 0;for (const QString& hobby : hobbies) {if (count > 0 && count % 5 0)formattedHobbies…...

加速PyTorch模型训练:自动混合精度(AMP)
在深度学习领域,模型训练的速度和效率尤为重要。为了提升训练速度并减少显存占用(较复杂的模型中),PyTorch自1.6版本起引入了自动混合精度(Automatic Mixed Precision, AMP)功能。 AMP简单介绍 是一种训练…...

【py】python安装教程(Windows系统,python3.13.2版本为例)
1.下载地址 官网:https://www.python.org/ 官网下载地址:https://www.python.org/downloads/ 2.64版本或者32位选择 【Stable Releases】:稳定发布版本,指的是已经测试过的版本,相对稳定。 【Pre-releases】&#…...
Django REST Framework:如何获取序列化后的ID
Django REST Framework:如何获取序列化后的ID 😄 嗨,小伙伴们!今天我们来聊一聊Django REST Framework(简称DRF)中一个非常常见的操作:如何获取序列化后的ID。对于那些刚入门的朋友们ÿ…...

QT修仙笔记 事件大圆满 闹钟大成
学习笔记 牛客刷题 闹钟 时钟显示 通过 QTimer 每秒更新一次 QLCDNumber 显示的当前时间,格式为 hh:mm:ss,实现实时时钟显示。 闹钟设置 使用 QDateTimeEdit 让用户设置闹钟时间,可通过日历选择日期,设置范围为当前时间到未来 …...

Leetcode - 149双周赛
目录 一、3438. 找到字符串中合法的相邻数字二、3439. 重新安排会议得到最多空余时间 I三、3440. 重新安排会议得到最多空余时间 II四、3441. 变成好标题的最少代价 一、3438. 找到字符串中合法的相邻数字 题目链接 本题有两个条件: 相邻数字互不相同两个数字的的…...

解决 ComfyUI-Impact-Pack 中缺少 UltralyticsDetectorProvider 节点的问题
解决 ComfyUI-Impact-Pack 中缺少 UltralyticsDetectorProvider 节点的问题 1. 安装ComfyUI-Impact-Pack 首先确保ComfyUI-Impact-Pack 已经下载 地址: https://github.com/ltdrdata/ComfyUI-Impact-Pack 2. 安装ComfyUI-Impact-Subpack 由于新版本的Impact Pack 不再提供这…...
使用Kickstart配置文件封装操作系统实现Linux的自动化安装
使用Kickstart配置文件封装操作系统实现Linux的自动化安装 创建ks.cfg配置文件 可以使用已经安装完成的Linux操作系统中的/root目录下的anaconda.cfg配置文件 注意,配置文件会因为kickstart的版本兼容性的问题导致无法安装报错需要在实际使用过程中删除某些参数 …...
Android笔记【snippet】
一、 6、Card及ConstraintLayout线性布局 //定义单独的机器人单独一行的卡片 Composable fun RobotCard(robot: Robot,navController:NavController){Card(modifier Modifier.fillMaxWidth().wrapContentHeight().padding(5.dp),colors CardDefaults.elevatedCardColors(co…...
zsh: command not found: conda
场景描述 在 Linux 服务器上使用 zsh 时,如果出现 zsh: command not found: conda 错误,说明你的系统未正确配置 conda 命令,或者你尚未安装 Anaconda/Miniconda。 解决方案 确保已安装 Anaconda 或 Miniconda conda 是 Anaconda 或 Minico…...
【知识科普】CPU,GPN,NPU知识普及
CPU,GPU,NPU CPU、GPU、NPU 详解1. CPU(中央处理器)2. GPU(图形处理器)3. NPU(神经网络处理器) **三者的核心区别****协同工作示例****总结** CPU、GPU、NPU 详解 1. CPU(中央处理器࿰…...

【C++八股】struct和Class的区别
1. 默认访问控制 struct:结构体中的成员默认是 public,即外部代码可以直接访问结构体的成员。class:类中的成员默认是 private,即外部代码不能直接访问类的成员,必须通过公有接口(通常是成员函数ÿ…...

鹧鸪云光伏仓储、物料管理软件详细功能
采购中心 :作为核心枢纽,能集中管理多品牌设备,企业可灵活按需采购。采购与退货流程高效便捷,审核通过后物资快速补充、问题货物及时退回,保障资金与物资顺畅周转,避免积压浪费。付款与退款环节 ࿱…...
bazel 小白理解
Bazel命令是用于构建和测试软件项目的一个强大工具,尤其适用于大规模和多语言的软件项目。对于小白来说,可以这样理解Bazel及其命令: Bazel的基本概念 构建系统:Bazel是一个构建系统,它的主要任务是自动化地编译和链…...

MVC(Model-View-Controller)framework using Python ,Tkinter and SQLite
1.项目结构 sql: CREATE TABLE IF NOT EXISTS School (SchoolId TEXT not null, SchoolName TEXT NOT NULL,SchoolTelNo TEXT NOT NULL) 整体思路 Model:负责与 SQLite 数据库进行交互,包括创建表、插入、删除、更新和查询数据等操作。View࿱…...

WPF 设置宽度为 父容器 宽度的一半
方法1:使用 绑定和转换器 实现 创建类文件 HalfWidthConverter public class HalfWidthConverter : IValueConverter{public object Convert(object value, Type targetType, object parameter, CultureInfo culture){if (value is double width){return width / 4…...

java项目之在线心理评测与咨询管理系统(源码+文档)
项目简介 在线心理评测与咨询管理系统实现了以下功能: 在线心理评测与咨询管理系统的主要使用者分为: (1)在个人中心,管理员可以修改自己的用户名和登录密码。 (2)在系统前台可以查看首页&…...

19c补丁后oracle属主变化,导致不能识别磁盘组
补丁后服务器重启,数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后,存在与用户组权限相关的问题。具体表现为,Oracle 实例的运行用户(oracle)和集…...

【大模型RAG】Docker 一键部署 Milvus 完整攻略
本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装;只需暴露 19530(gRPC)与 9091(HTTP/WebUI)两个端口,即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...

【配置 YOLOX 用于按目录分类的图片数据集】
现在的图标点选越来越多,如何一步解决,采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集(每个目录代表一个类别,目录下是该类别的所有图片),你需要进行以下配置步骤&#x…...
3403. 从盒子中找出字典序最大的字符串 I
3403. 从盒子中找出字典序最大的字符串 I 题目链接:3403. 从盒子中找出字典序最大的字符串 I 代码如下: class Solution { public:string answerString(string word, int numFriends) {if (numFriends 1) {return word;}string res;for (int i 0;i &…...

有限自动机到正规文法转换器v1.0
1 项目简介 这是一个功能强大的有限自动机(Finite Automaton, FA)到正规文法(Regular Grammar)转换器,它配备了一个直观且完整的图形用户界面,使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...
动态 Web 开发技术入门篇
一、HTTP 协议核心 1.1 HTTP 基础 协议全称 :HyperText Transfer Protocol(超文本传输协议) 默认端口 :HTTP 使用 80 端口,HTTPS 使用 443 端口。 请求方法 : GET :用于获取资源,…...
Kafka主题运维全指南:从基础配置到故障处理
#作者:张桐瑞 文章目录 主题日常管理1. 修改主题分区。2. 修改主题级别参数。3. 变更副本数。4. 修改主题限速。5.主题分区迁移。6. 常见主题错误处理常见错误1:主题删除失败。常见错误2:__consumer_offsets占用太多的磁盘。 主题日常管理 …...

GraphQL 实战篇:Apollo Client 配置与缓存
GraphQL 实战篇:Apollo Client 配置与缓存 上一篇:GraphQL 入门篇:基础查询语法 依旧和上一篇的笔记一样,主实操,没啥过多的细节讲解,代码具体在: https://github.com/GoldenaArcher/graphql…...

C# winform教程(二)----checkbox
一、作用 提供一个用户选择或者不选的状态,这是一个可以多选的控件。 二、属性 其实功能大差不差,除了特殊的几个外,与button基本相同,所有说几个独有的 checkbox属性 名称内容含义appearance控件外观可以变成按钮形状checkali…...

【iOS】 Block再学习
iOS Block再学习 文章目录 iOS Block再学习前言Block的三种类型__ NSGlobalBlock____ NSMallocBlock____ NSStackBlock__小结 Block底层分析Block的结构捕获自由变量捕获全局(静态)变量捕获静态变量__block修饰符forwarding指针 Block的copy时机block作为函数返回值将block赋给…...