保姆级教程搭建企业级智能体+私有知识库,Dify+ollama,Linux版

Llama Factory

Llama Factory

模型微调
LLama-Factory

LLaMA Factory 是一个简单易用且高效的大型语言模型(Large Language Model)训练与微调平台。通过 LLaMA Factory,可以在无需编写任何代码的前提下,在本地完成上百种预训练模型的微调

介绍

目前,AI Agent智能体已经被许多公司广泛应用,同时智能体借助私有知识库的加成,使原来知识面并不特别充分的大模型更聪明。如今特别是在医疗,医药,政企等数据保密程度高的行业,部署自己的私有知识库更是不可或缺的。下面,就一起来动手搭建属于你的企业级别的私有知识库AI Agent。

特别说明

1:本教程区别于其他教程全篇复制相关服务的官方教程,导致中途有卡点
2:本教程在搭建过程中会解决卡点问题并给出解决方案
3:按照本教程一步步搭建,可以百分百保证运行起来
4:本教程是纯实践,不做无脑搬运。

方案说明

1:利用Dify构建模型中间层
2:配置三方LLM模型
3:私有知识库使用ollama服务加nomic-embed-text模型,进行知识库文档的向量数据转化

疑问:
问:既然都自己搭建ollama了,为什么不自己搭建LLM模型,还要使用三方的api呢?其他教程都是自己搭建LLM
答:
①:硬件成本高
②:你所能找到的开源模型,除了deepseek,其他的模型使用起来跟个大傻子差不多
③:就算你要搭建deepseek模型,除了满血版的,其实也是个大傻子
④:企业级应用,起码上百人使用,就得要求token吞吐量不能太低,并发访问也不能太低,这些自己搭建部署,需要解决一大堆问题
⑤:现在三方token已经很便宜了
⑥:其他教程是教你搭建LLM了,我其他教程也有呀,deepseek-32b的,使用过就知道了,跟个大傻子差不多。其他教程教的,都是什么1.5b,7b,32b,70b,这些用于学习还行,不适合进行企业级应用或者商用
⑥:你要是非要自己折腾部署LLM,就当我上面没说哈,可以参考我另一篇教程助你折腾 ====手把手教你部署DeepSeek-32b

环境物料准备

要求说明
ubuntu 系统服务器(服务器A)有公网IP,4核8G配置
ubuntu 系统服务器,有GPU显卡,且已装好cuda环境(服务器B)(具体可参考我另一篇介绍Linux下安装conda的详细教程
Dify的源码github地址
ollama官网地址

注:如果手上有带显卡的服务器,也可以直接在一台服务器上安装,由于我这里业务层和算力层是分开的服务器,这里用2台作为演示

教程开始

一:搭建部署Dify应用

1:链接自己的服务器A,进入服务器,切换到root(如果是非root用户的话)
在这里插入图片描述
2:更新apt包

	apt update

3:清理有可能安装的旧版本docker以及相关的包

	sudo apt-get autoremove docker docker-ce docker-engine docker.io containerd runc

4:添加docker官方GPG密钥

	curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

5:添加Docker软件源

	sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

6:安装docker,docker-compose

	apt install docker.io docker-compose

7:启动docker

	systemctl start docker 

8:安装git,并克隆Dify项目

	apt install git
	git clone https://github.com/langgenius/dify.git

中途可能会遇到克隆错误的2个问题,
①:提示克隆的过大,可以修改git的整体buffer配置
②:提示网络环境不支持 HTTP/2,可以修改为http1.1

	git config --global http.postBuffer 524288000
	git config --global http.version HTTP/1.1

9:克隆完毕,进入dify文件夹下的docker文件夹下,并把全局配置文件复制一下

	cd  dify/docker
	cp .env.example .env

10:开始构建docker容器,这时需要看下你安装的docker-compose是什么版本的,运行如下命令查看

	docker-compose version

在这里插入图片描述
如果是1.xx版本的,需要运行

	docker-compose up -d

如果是2.xx版本的,需要运行

	docker compose up -d

注:这里我们是以apt直接进行安装的,理论上是1.xx版本的,如果你安装的是最新的docker,估计就是2.xx的版本了

11:由于我们是1.xx的版本,所以直接运行

	docker-compose up -d

此时遇到了如下错误
在这里插入图片描述
此错误,可以进行修改docker的镜像地址进行解决,方案如下:

	①: vim /etc/docker/daemon.json
	 填入以下json内容:
	 {
		"registry-mirrors": ["https://docker.registry.cyou",
		"https://docker-cf.registry.cyou",
		"https://dockercf.jsdelivr.fyi",
		"https://docker.jsdelivr.fyi",
		"https://dockertest.jsdelivr.fyi",
		"https://mirror.aliyuncs.com",
		"https://dockerproxy.com",
		"https://mirror.baidubce.com",
		"https://docker.m.daocloud.io",
		"https://docker.nju.edu.cn",
		"https://docker.mirrors.sjtug.sjtu.edu.cn",
		"https://docker.mirrors.ustc.edu.cn",
		"https://mirror.iscas.ac.cn",
		"https://docker.rainbond.cc"]
	}
	
	②:然后重启docker服务:
	systemctl daemon-reload
	systemctl restart docker
	
	③:重新运行 docker-compose up -d 进行构建容器

12:随后,docker会自动根据编译文件.yaml自动拉取相关服务,成功后的画面如下所示,启动了10个服务:
在这里插入图片描述
或者通过命令查看每个服务的运行状态,由下图所示,有个nginx服务,并从容器中透了80端口,所以,可以直接通过访问你的ip地址进行访问链接

	docker-compose ps

在这里插入图片描述

二:搭建ollama服务

1:租用GPU型服务器,我这里还是以AutoDL为例(这个平台便宜,且还有点余额,省事儿了。这里有现成的N卡环境,可以免去不会安装cuda环境的烦恼,如果有其他平台的GPU租用也是一样的)
这里我租用的是西北企业区,尽量不要北京地区的,北京地区的外网访问需要挂ssh,比较麻烦
镜像这里选择如下图所示
在这里插入图片描述
2:进入到新开的GPU服务器里,运行初始化

	apt update
	conda init

然后关闭当前窗口,重新进入或者单开一个窗口,进入到服务器里,此时进入到conda 环境里的默认 base 环境,下面为ollama单独新建一个conda 环境,用来运行环境隔离,比较干净

	conda create -n ollama  python=3.10

等待安装完毕,并进入ollama环境,如图所示
在这里插入图片描述
3:下载并安装ollama Linux版本下载地址
在这里插入图片描述
复制命令在你的GPU服务器里进行下载安装,等待一会儿,进度条走完就完事儿了,默认安装在/usr/local下,所以可以使用全局命令 ollama进行相关操作
在这里插入图片描述
如果出现下图所示,说明没有自动检测到GPU卡,可以通过安装两个插件解决
在这里插入图片描述

	sudo apt install pciutils
	sudo apt install lshw

4:启动ollama服务(这里我以简单方式启动,也可以直接加入到系统服务里并配置自动重启)

	nohup ollama serve & 

在这里插入图片描述
5:运行并下载embedding模型,如下图所示

	ollama pull nomic-embed-text

在这里插入图片描述
也可通过命令查看ollama的模型列表

	ollama list

在这里插入图片描述
6:到此,ollama服务,embedding模型算是已经搭建部署完毕,但是为了让dify能访问到,还需要做一些其他配置。
由于AutoDL对外只支持6006端口开放,ollama的api接口呢又是绑定在了 11434端口,所以,在这里就要做一层访问转发。
这里访问转发以nginx web服务为例

①:安装nginx

		apt install nginx

②:编辑nginx默认配置文件

		vim /etc/nginx/sites-available/default	

server块修改成如下内容:

server {
		        listen 6006 default_server;
		        listen [::]:6006 default_server;
		
		        root /var/www/html;
		        index index.html index.htm index.nginx-debian.html;
        		server_name _;
		        location / {
		                proxy_pass http://127.0.0.1:11434;
		                proxy_set_header Host $host;
		                proxy_set_header X-Real-IP $remote_addr;
		                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		                proxy_set_header X-Forwarded-Proto $scheme;
		                proxy_http_version 1.1;
		                proxy_set_header Upgrade $http_upgrade;
		                proxy_set_header Connection "upgrade";
		                proxy_read_timeout 86440s;
		                proxy_send_timeout 86440s;
		        }
        }

然后校验配置文件并加载nginx 的配置进行重启

		nginx -t
		nginx -s reload

7:由上可知,由于ollama是运行在本地 127.0.0.1:11434上,默认只允许本地访问,所以,还要设置ollama 允许远程访问,不然,我们的Dify 服务是链接不上。可以设置允许全部,也可以定向设置只允许某个域名或IP

		vim ~/.bashrc 

在文件末尾添加下面两行

		export OLLAMA_HOST=0.0.0.0
		export OLLAMA_ORIGINS=*

重新加载 ~/.bashrc

		source ~/.bashrc 

然后再重启ollama服务
此时访问AutoDL的对外地址,可以看到ollama运行的标志。AutoDL的外网访问URL在这里看:
在这里插入图片描述
在这里插入图片描述
此时访问这个URL,可以看到 ollama is running 字样,这时候整个配置算是没问题了
在这里插入图片描述

8:到此,ollama服务,embedding模型,所有的服务配置已经完事儿

三:利用Dify创建你的第一个智能体

1:访问Dify服务并注册账号

1:地址:你的IP地址
首次进入会让你注册账号
在这里插入图片描述
2:注册完毕后,登录进入主页面,点击右上角的插件,进入插件页面,首先安装所需的模型插件
在这里插入图片描述

2. 下载模型插件(这里以Ollama和DeepSeek为例)

1:进入插件广场,找到【模型】选项,下面列出的都是支持的模型厂商。此次我们需要安装ollama,LLM用DeepSeeK,点击模型,进行安装。如果在线模式安装不上,也可以在模型详情页里下载下来,再点击右上角【插件】进行从本地安装包安装。
在这里插入图片描述
在这里插入图片描述

3. 配置模型

1:点击个人中心选项,找到【设置】,再点击【模型供应商】
在这里插入图片描述
在这里插入图片描述

1. 配置Ollama模型

由于我们是用ollama的embedding模型功能,所以配置时选择Text-Embedding选项。这里会让填写基础URL地址,由于我们是从AutoDL部署的embedding模型,所以需要再AutoDL上找到相关访问URL地址填写到配置里。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
随后点击保存,如果保存时有报错,说明你的ollama访问地址还是不通,可以再查看上面有关ollama配置的教程重来一遍

2. 配置DeepSeek模型

首先你需要登录 DeepSeeK开放平台,并注册账号创建应用key,然后复制出key值
在这里插入图片描述
进入dify模型配置里,配置deepseek的模型
在这里插入图片描述

4. 创建智能体

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
例如:
在这里插入图片描述

OK,到这里一个基本的智能体就完成了,你可以点击右上角的进行发布,也可以进行嵌入你的应用里,嵌入方式如下:
在这里插入图片描述

5. 创建私有知识库

在这里插入图片描述
这里有三种方式,这里以简单的文档类为例,其余的两个需要各自注册相关平台的账号进行关联
在这里插入图片描述
然后,进入数据分块与清洗界面,这里我们是以embedding模型为基础,使用混合检索模式
在这里插入图片描述
保存处理后,进入下一步,开始数据的嵌入操作,这里进程走完后就可以使用了
在这里插入图片描述
进程走完后,也可以单独点击你的知识库,查看内容分块后的结果,或者进行召回测试,数据标注,添加新的分块等操作
在这里插入图片描述

在你创建的个人助手agent里的编排页面,点击知识库,进行关联操作,就可以关联你的知识库内容了
在这里插入图片描述
至此,整个所有的流程彻底走完了。

结语

纯手动一步步搭建操作,按照流程来,极小几率会出错,如果有出错或者不明白的地方,欢迎提问,共同学习。

您可能感兴趣的与本文相关的镜像

Llama Factory

Llama Factory

模型微调
LLama-Factory

LLaMA Factory 是一个简单易用且高效的大型语言模型(Large Language Model)训练与微调平台。通过 LLaMA Factory,可以在无需编写任何代码的前提下,在本地完成上百种预训练模型的微调

<think>好的,用户想了解如何在本地部署DifyOllama和DeepSeek的大模型以及搭建知识库。首先,我需要回忆之前提供的引用内容,确保信息准确。根据引用[1]、[2]、[3],部署的主要步骤包括安装Ollama、下载DeepSeek模型、安装Docker和Dify,然后配置知识库。 用户可能对每个组件的功能不太清楚,需要先简单介绍DifyOllama和DeepSeek各自的作用。例如,Ollama用于本地运行大模型,DeepSeek是具体的模型,Dify则是整合这些并构建应用的平台。 接下来,分步骤说明安装过程。首先安装Ollama,确保用户正确下载并配置。然后是下载DeepSeek模型,引用中提到需要获取下载指令,这部分需要详细说明如何操作,可能涉及Ollama的命令行操作。 安装Docker是必须的,因为Dify依赖Docker环境。要提供Docker Desktop的下载链接和安装注意事项,特别是针对Windows用户可能需要开启WSL2。 然后是拉取Dify的代码库,修改配置文件,启动Docker容器。这部分可能需要检查配置项是否正确,比如模型名称和Ollama的地址是否正确指向本地服务。 最后是配置知识库的步骤,包括在Dify界面中添加模型、创建知识库、上传文档和测试。需要强调上传文件后的处理时间,以及如何验证知识库是否生效。 用户可能会有疑问,比如硬件要求、常见错误处理等,但根据问题,用户主要需要教程步骤。需要确保步骤清晰,命令准确,避免用户操作时出错。同时,注意使用正确的LaTeX格式,比如变量或代码块用$...$或```包裹,独立公式用$$...$$,但当前问题可能较少涉及数学公式,所以重点在代码和命令行指令的正确展示。 最后生成相关问题,考虑用户可能的后续疑问,如硬件需求、故障排除、模型选择等,确保覆盖潜在需求。</think>以下是基于引用内容的本地部署Dify+Ollama+DeepSeek及知识库搭建的详细教程: ### 一、部署前准备 1. **硬件要求** - 建议16GB以上内存(最低8GB) - 推荐NVIDIA显卡(非必须但提升性能) - 至少50GB可用存储空间[^2] 2. **系统环境** - Windows 10/11(需开启WSL2) - macOS 10.15+ - Linux内核5.10+ ### 二、核心组件安装流程 #### (一)安装Ollama 1. **下载安装** ```bash # Linux/macOS curl -fsSL https://ollama.com/install.sh | sh # Windows需访问官网下载安装包[^1] ``` 2. **配置服务** ```bash systemctl enable ollama # 设置开机自启 ollama serve & # 启动服务 ``` #### (二)部署DeepSeek模型 1. **获取模型下载指令** 访问DeepSeek官网选择适合的模型本(推荐`deepseek-chat`系列)[^3] 2. **执行下载命令** ```bash ollama pull deepseek-chat:7b # 以7B参数模型为例 ``` #### (三)安装Docker Desktop 1. **下载地址** - Windows/macOS:https://www.docker.com/products/docker-desktop - Linux:通过包管理器安装`docker-ce` 2. **配置要求** - Windows需开启Hyper-V和WSL2 - 分配至少4GB内存给Docker #### (四)部署Dify服务 1. **获取源码** ```bash git clone https://github.com/langgenius/dify cd dify/docker ``` 2. **修改配置** 编辑`.env`文件: ```env OLLAMA_API_BASE_URL=http://host.docker.internal:11434 MODEL_NAME=deepseek-chat:7b ``` 3. **启动服务** ```bash docker-compose up -d # 后台启动容器 ``` ### 三、知识库搭建步骤 1. **初始化Dify** 访问`http://localhost:3000`完成安装向导 2. **模型绑定** - 进入「模型供应商」→「Ollama- 输入模型名称`deepseek-chat:7b` - 测试API连通性 3. **创建知识库** ```mermaid graph TD A[新建应用] --> B[选择"知识库问答"模板] B --> C[上传PDF/Word/TXT文件] C --> D[设置分段规则] D --> E[开始文档向量化] ``` 4. **测试验证** ```python # 示例测试查询 query = "文档中提到的部署要求是什么?" response = model.generate(query, knowledge_base="my_kb") print(response) # 应返回基于文档的答案 ``` ### 四、常见问题解决 1. **Ollama服务未响应** ```bash lsof -i :11434 # 检查端口占用 export OLLAMA_HOST=0.0.0.0 # 解决绑定问题 ``` 2. **文档处理失败** - 确认文件编码为UTF-8 - 单文件建议小于10MB - 分段长度控制在300-500字符
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值