当前位置: 首页 > news >正文

本地部署Anything LLM+Ollama+DeepSeek R1打造AI智能知识库教程

文章目录

    • 前言
    • 1. 本地部署Ollama+DeepSeek
    • 2. 本地安装Anything LLM
    • 3. 配置与使用演示
    • 4. 远程调用大模型
    • 5. 安装内网穿透
    • 6. 配置固定公网地址

前言

本文主要介绍如何在Windows电脑上本地部署Ollama并接入DeepSeek R1大模型,然后使用强大的开源AI工具Anything LLM结合cpolar内网穿透工具轻松实现随时随地使用与上传内容来训练本地部署的大模型,无需公网IP,也不用准备云服务器那么麻烦!

之前和大家分享过如何在Windows电脑上快速搭建DeepSeek R1大模型,并通过open webui实现在浏览器端远程访问与使用大模型,但是如果除了想要一个美观的聊天界面外还想要训练AI,让他更懂你所从事的专业问题的话,如果有一个可以将任何文档、资源(如网址链接、音频、视频)或内容片段转换为上下文,以便任何大语言模型(LLM)在聊天期间作为参考使用的软件就非常有必要了。

AnythingLLM就是这样一个全栈应用程序,您可以使用现成的商业大语言模型或流行的开源大语言模型,再结合向量数据库解决方案构建一个私有DeepSeek,不再受制于人:您可以本地运行,也可以远程托管,并能够与您提供的任何文档智能聊天。AnythingLLM将您的文档划分为称为workspaces (工作区)的对象,工作区的功能类似于线程,同时增加了文档的容器化。工作区可以共享文档,但工作区之间的内容不会互相干扰或污染,因此您可以保持每个工作区的上下文清晰。

Anything LLM支持多种部署方法,本例中我们将在Windows系统进行演示,下面就来详细进行介绍!

1. 本地部署Ollama+DeepSeek

如果没有安装Ollama与DeepSeek,可以查看这篇教程进行安装:《Windows本地部署deepseek-r1大模型并使用web界面远程交互》

简单来说就是访问Ollama的官网,下载适配你的操作系统的客户端,安装好之后用cmd打开Windows系统自带的终端界面:

image-20250205154055584

然后回到Ollama的官网,找到你想要下载的各种量级的模型对应的模型下载命令:

image-20250205154929276

比如我这里下载1.5b的轻量级deepseek模型,就在cmd终端中执行这个命令就能安装了:

ollama run deepseek-r1:1.5b

image-20250205155421941

现在我们就已经能够在本地Windows电脑上通过ollama正常使用deepseek-r1模型与AI进行聊天了!

2. 本地安装Anything LLM

下面我们访问Anything LLM的官网下载Windows客户端:

image-20250214175025469

下载后,双击应用程序进行安装:

07f5c4ee765ad2a6c71c509a63a3865

安装完毕后打开软件后,点击get started按钮进入使用界面:

0e95032c8c74b063f257acda4e8aefd

3. 配置与使用演示

第一步选择Ollama:

18e81eb80c92523130f3835a00d81a6

选择好之后,点击右侧的箭头,下方会出现选择使用哪个大模型的下拉框,我们可以在这里看到之前本地部署的deepseek-r1:1.5b模型,如果你本地还有其他模型,也会出现在这里。

e9c8598ef1d90254a2a796f9c3a3c12

下一步确认信息后,点击右侧箭头继续:

68bc9f5ab2f59a7a139b84ab8ce9839

现在我们需要创建一个工作区,并给它取个名字,输入后继续点击右侧箭头:

b064f9709aa4cf5a16c264bda22012a

在Anything LLM中配置好了大模型,并创建了一个工作区后就可以看到欢迎界面了:

8f4fbde1afe4bb0e32fc56c50c6d8ee

点击左下角的扳手(设置),我们可以对界面语言进行修改:

bd30b2c0a9b0cbfdce7c67ccb3120ce

设置好之后,点击同一位置的返回按钮,即可回到工作区,在下方的输入框中,就可以和大模型聊天了!

image-20250214180238948

如果我们需要上传文件或是图片等资料,点击工作区名称标签后的上传按钮即可打开上传界面:

image-20250214180343298

image-20250214180356490

除了支持多种文档类型(PDF、TXT、DOCX等),在上传按钮下方还可以直接粘贴网址,真的是非常方便又全面。勾选你要上传的文件,

image-20250214180627784

点击右下角的保存和嵌入按钮即可上传你的资料。通过Anything LLM管理超大文档时高效、低耗。只需要一次就可以嵌入(Embedding)一个庞大的文档或文字记录,比其他文档聊天机器人解决方案节省超多成本。

4. 远程调用大模型

在设置界面的LLM首选项中,我们能看到刚才选择的LLM提供商是ollama,下方是模型信息,最底部有ollama运行的地址和端口:

image-20250214181418643

如果我们想要在局域网内让其他的小伙伴也能远程使用Anything LLM调用ollama使用大模型进行聊天,那么我们需要进行对ollama进行一下环境变量设置!

打开cmd终端,执行下面两个命令:

setx OLLAMA_HOST "0.0.0.0"
setx OLLAMA_ORIGINS "*"

然后点击电脑桌面右下角的ollama图标退出并重启服务:

image-20250214181632755

重新开启ollama服务后,同一局域网下的小伙伴在Anything LLM中将ollama的地址改为你的电脑IP加上端口号11434后,就能使用你在本地部署的大模型进行聊天或者上传文件训练了。

image-20250214181812873

5. 安装内网穿透

不过我们目前只能在本地局域网内多人使用Anything LLM远程访问大模型,如果想让异地好友、让更多人也能使用你在部署的deepseek大模型应该怎么办呢?很简单,只要安装一个cpolar内网穿透工具就能轻松实现远程访问内网主机中部署的服务了,接下来介绍一下如何安装cpolar内网穿透。

首先进入cpolar官网:

cpolar官网地址: https://www.cpolar.com

点击免费使用注册一个账号,并下载最新版本的cpolar:

img

登录成功后,点击下载cpolar到本地并安装(一路默认安装即可)本教程选择下载Windows版本。

image-20240319175308664

cpolar安装成功后,在浏览器上访问http://localhost:9200,使用cpolar账号登录,登录后即可看到配置界面,结下来在WebUI管理界面配置即可。

img

接下来配置一下 Ollama 的公网地址,

登录后,点击左侧仪表盘的隧道管理——创建隧道,

  • 隧道名称:ollamads(可自定义命名,注意不要与已有的隧道名称重复)
  • 协议:选择 http
  • 本地地址:11434
  • 域名类型:选择随机域名
  • 地区:选择China Top

image-20250214182337230

隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网访问地址,有两种访问方式,一种是http 和https:

image-20250214182427726

在Anything LLM的设置界面中使用上面的任意一个公网地址替换刚才IP加端口号的地址,点击右上角的保存按钮后,就可以实现异地远程访问本地部署的deepseek大模型聊天了!使用了cpolar的公网域名,无需自己购买云服务器,轻松搞定远程访问。

PS:如果替换地址后无法使用,退出重新启动一下Anything LLM即可

image-20250214182833710

image-20250214182913449

总结

为了方便演示,我们在上边的操作过程中使用cpolar生成的HTTP公网地址隧道,其公网地址是随机生成的。这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址是随机生成,这个地址在24小时内会发生随机变化,更适合于临时使用。

如果有长期使用Anything LLM远程访问本地部署的DeepSeek等大模型,或者异地访问与使用其他本地部署的服务的需求,但又不想每天重新配置公网地址,还想让公网地址好看又好记并体验更多功能与更快的带宽,那我推荐大家选择使用固定的二级子域名方式来配置公网地址。

6. 配置固定公网地址

接下来演示如何为ollama服务配置固定的HTTP公网地址,该地址不会变化,方便分享给别人长期访问你部署的大模型,而无需每天重复修改服务器地址。

登录cpolar官网,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称:

image-20250214183203609

保留成功后复制保留成功的二级子域名的名称:myolds,大家也可以设置自己喜欢的名称。

image-20250214183235128

返回Cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道:ollamads,点击右侧的编辑:

image-20250214183303391

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名:myolds

点击更新(注意,点击一次更新即可,不需要重复提交)

image-20250214183334129

更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址名称也变成了固定的二级子域名名称的域名:

image-20250214183411738

最后,我们在Anything LLM的设置界面中使用上面的任意一个固定的二级子域名公网地址替换刚才的随机公网地址,现在开始就不用每天都更换公网地址来远程访问本地部署的大模型了。

image-20250214183726909
以上就是如何在Windows系统本地安装Ollama大模型工具与deepseek r1模型,使用Anything LLM结合cpolar内网穿透工具实现随时随地远程访问本地部署的大模型,并配置固定不变的二级子域名公网地址与AI聊天并搭建智能知识库的全部流程,感谢您的观看,有任何问题欢迎留言交流。

相关文章:

本地部署Anything LLM+Ollama+DeepSeek R1打造AI智能知识库教程

文章目录 前言1. 本地部署OllamaDeepSeek2. 本地安装Anything LLM3. 配置与使用演示4. 远程调用大模型5. 安装内网穿透6. 配置固定公网地址 前言 本文主要介绍如何在Windows电脑上本地部署Ollama并接入DeepSeek R1大模型,然后使用强大的开源AI工具Anything LLM结合…...

zyNo.25

SSRF漏洞 在了解ssrf漏洞前先了解curl命令的使用 1.curl命令的使用 基本格式&#xff1a;curl<参数值>请求地址 get请求&#xff1a;curl http://127.0.0.1 post请求&#xff1a;curl -X POST -d "a1&b2" http://127.0.0.1/(其中&#xff0c;使用-X参…...

Spring框架基本使用(Maven详解)

前言&#xff1a; 当我们创建项目的时候&#xff0c;第一步少不了搭建环境的相关准备工作。 那么如果想让我们的项目做起来方便快捷&#xff0c;应该引入更多的管理工具&#xff0c;帮我们管理。 Maven的出现帮我们大大解决了管理的难题&#xff01;&#xff01; Maven&#xf…...

关于前后端分离跨域问题——使用DeepSeek分析查错

我前端使用ant design vue pro框架&#xff0c;后端使用kratos框架开发。因为之前也解决过跨域问题&#xff0c;正常是在后端的http请求中加入中间件&#xff0c;设置跨域需要通过的字段即可&#xff0c;代码如下所示&#xff1a; func NewHTTPServer(c *conf.Server, s *conf…...

三层渗透测试-DMZ区域 二三层设备区域

DMZ区域渗透 信息收集 首先先进行信息收集&#xff0c;这里我们可以选择多种的信息收集方式&#xff0c;例如nmap如此之类的&#xff0c;我的建议是&#xff0c;可以通过自己现有的手里小工具&#xff0c;例如无影&#xff0c;密探这种工具&#xff0c;进行一个信息收集。以免…...

领航Linux UDP:构建高效网络新纪元

欢迎来到 破晓的历程的 博客 ⛺️不负时光&#xff0c;不负己✈️ 文章目录 引言Udp和Tcp的异同相同点不同点总结 1.1、socket1.2、bind1.3、recvfrom1.4、sendto2.1、代码2.1、说明3.1、代码3.2、说明 引言 在前几篇博客中&#xff0c;我们学习了Linux网络编程中的一些概念。…...

基于MATLAB的均匀面阵MUSIC算法DOA估计仿真

基于MATLAB的均匀面阵MUSIC算法DOA估计仿真 文章目录 前言一、二维MUSIC算法原理二、二维MUSIC算法MATLAB仿真三、MATLAB源代码总结 前言 \;\;\;\;\; 在波达角估计算法中&#xff0c;MUSIC 算法与ESPRIT算法属于特征结构子空间算法&#xff0c;是波达角估计算法中的基石。在前面…...

HTML/CSS中后代选择器

1.作用:选中指定元素中,符合要求的后代元素. 2.语法:选择器1 选择器2 选择器3 ...... 选择器n(使用空格隔开) 3.举例: /* 选中ul中的所有li */ul li{color: red;}/* 选中类名为subject元素中的所有li */.subject li{color: blue;}/* 选中类名为subject元素中的所有类名为f…...

深入解析「卡顿帧堆栈」 | UWA GPM 2.0 技术细节与常见问题

在游戏开发过程中&#xff0c;卡顿问题一直是影响玩家体验的关键因素。UWA GPM 2.0全新推出的「卡顿帧堆栈」功能&#xff0c;专为研发团队提供精准、高效的卡顿分析方案&#xff0c;能够直观呈现游戏运行时的堆栈信息&#xff0c;助力团队迅速找到性能瓶颈。该功能一经上线&am…...

推荐几款较好的开源成熟框架

一. 若依&#xff1a; 1. 官方网站&#xff1a;https://doc.ruoyi.vip/ruoyi/ 2. 若依SpringBootVueElement 的后台管理系统&#xff1a;https://gitee.com/y_project/RuoYi-Vue 3. 若依SpringBootVueElement 的后台管理系统&#xff1a;https://gitee.com/y_project/RuoYi-Cl…...

Mysql全文索引

引言 在MySQL 5.7.6之前&#xff0c;全文索引只支持英文全文索引&#xff0c;不支持中文全文索引&#xff0c;需要利用分词器把中文段落预处理拆分成单词&#xff0c;然后存入数据库。 从MySQL 5.7.6开始&#xff0c;MySQL内置了ngram全文解析器&#xff0c;用来支持中文、日文…...

配置终端代理

普通的魔法开启之后终端下git clone等命令仍然会无法使用&#xff0c;额外需要手动配置终端代理。 sudo vim /etc/apt/apt.conf.d/99proxyAcquire::http::Proxy "http://127.0.0.1:12334"; Acquire::https::Proxy "http://127.0.0.1:12334";在debian安装时…...

51单片机学习之旅——在LCD1602上显示时钟

新建工程 打开软件 LCD1602模块代码添加 因为我们在LCD1602上显示时钟&#xff0c;因此我们需要添加LCD1602的模块代码 跳转到这条博客51单片机学习之旅——模块化编程集_51单片机ruminant-CSDN博客&#xff0c;复制相关代码跳转到这条博客51单片机学习之旅——模块化编程集…...

Jest单元测试

由于格式和图片解析问题&#xff0c;可前往 阅读原文 前端自动化测试在提高代码质量、减少错误、提高团队协作和加速交付流程方面发挥着重要作用。它是现代软件开发中不可或缺的一部分&#xff0c;可以帮助开发团队构建可靠、高质量的应用程序 单元测试&#xff08;Unit Testi…...

C++字符串处理指南:从基础操作到性能优化——基于std::string的全面解析

博主将从C标准库中的 std::string 出发&#xff0c;详细探讨字符串的处理方法&#xff0c;涵盖常见操作、性能优化和实际应用场景。以下内容将围绕std::string 的使用展开&#xff0c;结合代码示例进行说明。 一、std::string 的基本操作 1.1 创建与初始化 std::string 提供了…...

JVM类加载过程详解:从字节码到内存的蜕变之旅

一、类加载的意义与整体流程 在Java中&#xff0c;每一个.java文件经过编译都会生成.class字节码文件。但字节码本身并不能直接运行&#xff0c;必须通过 类加载&#xff08;Class Loading&#xff09;将其转化为JVM内存中的数据结构&#xff0c;才能被程序调用。 类加载过程就…...

【力扣Hot100详解】解锁“字母异位词分组”:用排序魔法一键通关力扣!

字母异位词分组&#xff0c;力扣第49题&#xff0c;看似是“找不同”的排列游戏&#xff0c;实则是哈希表与字符串处理的经典结合。这道题就像是一把钥匙&#xff0c;能帮你打开“如何高效归类数据”的算法大门。今天&#xff0c;我们就用 Java 带你用“排序魔法”轻松破解它&a…...

vite配置scss全局变量

vite配置scss全局变量 创建单独文件variable.scss在其中定义变量 vite.config.ts中配置 import { defineConfig } from vite import vue from vitejs/plugin-vue import path from path// https://vite.dev/config/ export default defineConfig({plugins: [vue()],resolve:…...

Spring Boot01(注解、)---java八股

Spring Boot中常用注解及其底层实现 1、SpringBootApplication注解&#xff1a; SpringBootApplication注解&#xff1a;这个注解标识了一个SpringBoot工程&#xff0c;它实际上是另外三个注解的组合&#xff0c;这三个注解是&#xff1a; aSpringBootConfiguration&#xff1a…...

2.19学习记录

Web easyupload3.0 这是一道构造.htaccess文件的传马 如下&#xff1a; <FilesMatch "jpg">SetHandler application/x-httpd-php </FilesMatch>.htaccess文件可以作为一个解释器&#xff0c;可以将传进去的图片马改为php马上传之后再传个图片马&#…...

Vim 调用外部命令学习笔记

Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...

MPNet:旋转机械轻量化故障诊断模型详解python代码复现

目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...

<6>-MySQL表的增删查改

目录 一&#xff0c;create&#xff08;创建表&#xff09; 二&#xff0c;retrieve&#xff08;查询表&#xff09; 1&#xff0c;select列 2&#xff0c;where条件 三&#xff0c;update&#xff08;更新表&#xff09; 四&#xff0c;delete&#xff08;删除表&#xf…...

【Java学习笔记】Arrays类

Arrays 类 1. 导入包&#xff1a;import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序&#xff08;自然排序和定制排序&#xff09;Arrays.binarySearch()通过二分搜索法进行查找&#xff08;前提&#xff1a;数组是…...

Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)

目录 1.TCP的连接管理机制&#xff08;1&#xff09;三次握手①握手过程②对握手过程的理解 &#xff08;2&#xff09;四次挥手&#xff08;3&#xff09;握手和挥手的触发&#xff08;4&#xff09;状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...

数据链路层的主要功能是什么

数据链路层&#xff08;OSI模型第2层&#xff09;的核心功能是在相邻网络节点&#xff08;如交换机、主机&#xff09;间提供可靠的数据帧传输服务&#xff0c;主要职责包括&#xff1a; &#x1f511; 核心功能详解&#xff1a; 帧封装与解封装 封装&#xff1a; 将网络层下发…...

Mac软件卸载指南,简单易懂!

刚和Adobe分手&#xff0c;它却总在Library里给你写"回忆录"&#xff1f;卸载的Final Cut Pro像电子幽灵般阴魂不散&#xff1f;总是会有残留文件&#xff0c;别慌&#xff01;这份Mac软件卸载指南&#xff0c;将用最硬核的方式教你"数字分手术"&#xff0…...

关键领域软件测试的突围之路:如何破解安全与效率的平衡难题

在数字化浪潮席卷全球的今天&#xff0c;软件系统已成为国家关键领域的核心战斗力。不同于普通商业软件&#xff0c;这些承载着国家安全使命的软件系统面临着前所未有的质量挑战——如何在确保绝对安全的前提下&#xff0c;实现高效测试与快速迭代&#xff1f;这一命题正考验着…...

Java线上CPU飙高问题排查全指南

一、引言 在Java应用的线上运行环境中&#xff0c;CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时&#xff0c;通常会导致应用响应缓慢&#xff0c;甚至服务不可用&#xff0c;严重影响用户体验和业务运行。因此&#xff0c;掌握一套科学有效的CPU飙高问题排查方法&…...

C/C++ 中附加包含目录、附加库目录与附加依赖项详解

在 C/C 编程的编译和链接过程中&#xff0c;附加包含目录、附加库目录和附加依赖项是三个至关重要的设置&#xff0c;它们相互配合&#xff0c;确保程序能够正确引用外部资源并顺利构建。虽然在学习过程中&#xff0c;这些概念容易让人混淆&#xff0c;但深入理解它们的作用和联…...