Docker+Dify+DeepSeek本地部署实战:零基础也能轻松上手
由于该dify是通过docker部署的,也就是说,项目是运行在docker容器内部的,但是我们的ollama是运行在本地电脑的,但是他们是在同一台电脑上的,这就意味着,要想dify能够访问ollama提供的服务,需要获取到本地电脑的内网IP即可。这表明,dify与本地部署的大模型deepseek-r1连通了,但是,我想让他的回答是基于我的私有知识库作为上下文来和我聊天,这就需要用到本地知识库了。D
1.本地部署DeepSeek
视频教程:《Ollama+DeepSeek:零代码快速实现本地AI部署》_哔哩哔哩_bilibili
第一步:下载ollama的软件 ollama官网: Ollama
第二步:执行ollama run deepseek-r1:1.5b这条命令
Ollama 是一个开源的本地化工具,旨在简化大型语言模型(LLMs)的本地运行和部署。它专注于让用户能够轻松在个人计算机或服务器上运行多种开源语言大模型(如deepseek ,qwen,Llama、Mistral、Gemma等),而无需依赖云端服务或复杂的配置流程。
补充:删除模型步骤①ollama list 查看通过ollama部署的本地模型 ②ollama rm XXX
2.可视化友好的界面 AnythingLLM / chatbox / Page assist 插件
ChatBox视频教程:Chatbox+deepseek本地部署,以及使用Chatbox通过API调用deepseek_哔哩哔哩_bilibili
AnythingLLM视频教程:
AnythingLLM+deepseek+bge本地部署,以及构建私有知识库_哔哩哔哩_bilibili
Page assist 插件视频教程:
《浏览器插件+本地AI交互:Page Assist与DeepSeek实战演示》_哔哩哔哩_bilibili
3.API调用满血deepseek
(1)注册硅基流动的账号,每个新用户送2000万个token,官网网址:硅基流动统一登录
(2)新建API密钥
4.安装docker 官网 Docker: Accelerated Container Application Development
docker 是一个开源的应用容器引擎,允许开发者将应用及其依赖打包到一个轻量级、可移植的容器中,然后在任何流行的 Linux 机器上运行。
容器是将软件打包成标准化单元,以用于开发、交付和部署的技术。
Docker 使用 Go 开发,基于 Linux 内核的 cgrp、namespace,以及 AUFS 类的 UnionFS 等技术,对进程进行封装隔离,属于操作系统层面的虚拟化技术。
Docker 的主要用途包括提供一次性的环境、提供弹性的云服务,以及组建微服务架构。
5.安装dify 官网 Dify.AI · The Innovation Engine for Generative AI Applications
Dify 是一个开源的 LLM 应用开发平台,提供直观的界面,结合了 AI 工作流、RAG 管道、代理功能、模型管理和可观察性等特性,帮助用户从原型到生产快速开发。其主要功能包括:可视化 AI 工作流构建、支持多种 LLM 模型、强大的 RAG 能力、预构建的 50 多个代理工具、LLMOps 性能监控、以及后台即服务 API 集成。此外,Dify 提供云服务和自托管选项,并支持企业版功能。用户还可以通过 Docker 快速启动并部署 Dify。
1)系统要求:
-
CPU >= 2 Core
-
RAM >= 4 GiB
2)去github下载dify项目压缩包 官网有网址
3)安装dify环境
1、进入项目根目录找到docker文件夹
2、.env文件重命名
(MacOS怎么显示以.开头的隐藏文件:只需要输入快捷键Command+shift+.)
3、在该文件夹中双击空白处打开命令行终端,或者见下图打开命令行终端
4、运行docker环境
docker compose up -d
启动了dify所需要的所有容器环境,此时回到docker桌面客户端可看到,所有dify所需要的环境都已经运行起来了
4) 安装dify
1.在浏览器地址栏输入即可安装:
http://127.0.0.1/install
2.进入dify主页如下:
5)如何将本地大模型与dify关联起来?
由于该dify是通过docker部署的,也就是说,项目是运行在docker容器内部的,但是我们的ollama是运行在本地电脑的,但是他们是在同一台电脑上的,这就意味着,要想dify能够访问ollama提供的服务,需要获取到本地电脑的内网IP即可。
1.配置docker下的env文件
方法一:直接配置
# 启用自定义模型 CUSTOM_MODEL_ENABLED=true # 指定 Ollama 的 API 地址(根据部署环境调整 IP) OLLAMA_API_BASE_URL=host.docker.internal:11434
方法二:获取本机内网IP (MacOS和windows系统)
a. MacOS : 系统偏好设置—》网络,见下图IPv4的IP地址为192.168.X.X 或者10.0.0.X,在终端中输入 ifconfig | grep “inet” 查看IP地址
b. windows系统:打开命令行:win+r,输入cmd,在命令行输入:ipconfig,并找到当前连接的网络适配器(如“无线局域网适配器 WLAN”或“以太网适配器”),下方显示的 IPv4 地址
即为内网IP(如 192.168.x.x
或 10.x.x.x
)
c.然后,配置本地内网IP到dify的docker部署配置文件内,找到dify项目下的docker文件夹并进入,前面已经将.env.example
改为了.env
文件了,在末尾填上以下配置:
# 启用自定义模型 CUSTOM_MODEL_ENABLED=true # 指定 Ollama 的 API 地址(根据部署环境调整 IP) OLLAMA_API_BASE_URL=http://192.168.X.X:11434
6)配置大模型
上面添加的是本地部署的推理模型deepseek,
然后保存系统模型设置
到此,dify就与前面部署的本地大模型关联起来了。
7)创建一个应用
1.创建一个空白应用
2.配置应用
3.配置当前应用的大模型
配置为本地部署的大模型
4.测试
这表明,dify与本地部署的大模型deepseek-r1连通了,但是,我想让他的回答是基于我的私有知识库作为上下文来和我聊天,这就需要用到本地知识库了
8)创建本地知识库
1.添加Embedding模型
Embedding模型的作用是将高维数据(如文本、图像)转换为低维向量,这些向量能够捕捉原始数据中的语义信息。常见的应用包括文本分类、相似性搜索、推荐系统等。
我们上传的资料要通过Embedding模型转换为向量数据存入向量数据库,因此我们需要提前将私有数据向量化入库。
2.下载Embedding模型
BGE-M3是由北京智源研究院(BAAI)在2024 年初开源的一款多语言Embedding 模型,支持超过100种语言的语义表示和检索任务,特别在中文处理上具有优势。
ollama pull bge-m3
3.配置 Embedding 模型
4.创建知识库
下面设置都保留默认设置:
点击保存并处理按钮:
知识库创建完成:
知识库创建完成!
9)添加知识库为对话上下文
1.添加知识库
回到刚才的应用聊天页面,添加知识库
2.测试
原文档中的内容:
更多推荐
所有评论(0)