mac下dify+deepseek部署,实现私人知识库

ops/2025/2/12 0:31:39/

目前deepseek 十分火爆,本地部署实现私有知识库,帮助自己日常工作,上一篇使用工具cherry studio可以做到私人知识库。今天学习了一下,使用Dify链接deepseek,实现私人知识库,也非常不错,这里分享下我的学习过程吧。

一、克隆 Dify 源代码至本地环境

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

当然你也可以直接登录网址 https://github.com/langgenius/dify   点击Dnowload ZIP。

二、启动Dify(前提是先安装docker for mac)

1、进入 Dify 源代码的 Docker 目录

cd dify/docker

2、复制环境配置文件

cp .env.example .env

3、启动 Docker 容器

docker-compose up -d

安装好后,可以通过docker ps 查看所有容器是否都已正常运行。

4、访问dify

# 初始化访问,设置管理员账户
http://localhost/install

三、Dify配置deepseek大模型

首先从账户中心-设置中,点开。然后可以点击 ”模型供应商“。这时候可以看到很多大模型的供应商。我们可以选择添加自己已经注册或者本地部署过得大模型。

可以直接选择deepseek的大模型,通过填写自己的api-key,添加后,可以看到已经添加的模型。

当然你也可以通过siliconflow来实现你的知识库,注册账户后,将api-key填入即可。

这里介绍下如何绑定自己本地环境通过ollma部署的deepseek的模型,如下:

首先在模型供应商中找到ollma,然后点击添加大模型,填写本地部署的模型名称,

注意:这里的基础URL填写http://host.docker.internal:11434,localhost是无法连接的。这里可以参考Dify官网查看

添加好后,在按照同样的方法,继续添加Text Embedding。这是为知识库添加bge-large模型

当然这里的模型名称是自己本地部署的模型名称。

四、搭建知识库

1、来到Dify的主界面,点击知识库。创建新的知识库

2、上传文档

文档上传成功后,会自动嵌入,然后向量化。

文档也已经被分段处理

3、引用知识库

创建空白应用-创建聊天助手

然后在聊天界面中点击添加上下文,也就是你刚才创建的知识库。

此时在右边的对话框中就可以输入,大模型会根据知识库进行查询。在最后的界面中能看到引用自刚才创建的知识库文件。

知识库创建好后,你可以本地使用,如果想外部访问这个知识库,可以添加外部知识库API。配置好API Endpoint后就可以。

当然,想要让外部访问到,你自己的机器网络也需要在公网上。

五、Dify的亮点

在最后,还是想说一下Dify非常棒的功能,

Dify和cherry- studio、chatbox都可以随时切换聊天对话的大模型,像知识库这种,它还可以直接将聊天对话功能嵌入到自己的网站中去,这一点和阿里云的知识库很像。

它还有一个亮点让我觉得很惊喜的是,它有自己的API接口,可以直接对接,实现文件上传啊,文本创建啊等,更加灵活的实现自己的知识库功能,将Dify用于一个可视化的知识库管理页面来使用,实在是太棒了。


http://www.ppmy.cn/ops/157653.html

相关文章

构建jdk17包含maven的基础镜像

1、先拉取jdk17基础镜像 docker pull openjdk:17-jdk-alpine 2、使用jdk17基础镜像创建容器 docker run -it openjdk:17-jdk-alpine sh 或 docker run -it --name jdk17 openjdk:17-jdk-alpine sh 3、修改镜像源地址 cat /etc/apk/repositories https://mirrors.aliyun.com…

电能表“抱上“CCLINK IE转MODBUS-TCP网关大腿工业电力管理一路“狂飙“

工厂中有多个仪表通过CCLink IE现场总线连接,需要将这些仪表的数据接入到上位机系统。上位机系统支持Modbus TCP协议,因此需要使用稳联技术CCLink IE转Modbus TCP网关(WL-CCIE-TCP)来实现协议转换。 首先打开GX WORKS3组态软件在左…

gis风场加载

https://gitee.com/openGPL json数据格式使用v1 “sakitam-gis/mapbox-wind”: “1.1.2” import { WindLayer } from "sakitam-gis/mapbox-wind"; windLayer new WindLayer("wind", res.data, {windOptions: {// colorScale: (m) > {// // consol…

【STM32】ADC|多通道ADC采集

本次实现的是ADC实现数字信号与模拟信号的转化,数字信号时不连续的,模拟信号是连续的。 1.ADC转化的原理 模拟-数字转换技术使用的是逐次逼近法,使用二分比较的方法来确定电压值 当单片机对应的参考电压为3.3v时,0~ 3.3v(模拟信…

【漫话机器学习系列】087.常见的神经网络最优化算法(Common Optimizers Of Neural Nets)

常见的神经网络优化算法 1. 引言 在深度学习中,优化算法(Optimizers)用于更新神经网络的权重,以最小化损失函数(Loss Function)。一个高效的优化算法可以加速训练过程,并提高模型的性能和稳定…

ESP8266配置为TCP客户端,连接电脑和手机(使用Arduino配置)

一、简介 基于 ESP8266 的 Arduino 代码,其主要功能是将 ESP8266 连接到指定的 Wi-Fi 网络,并与指定 IP 地址和端口号的服务器建立 TCP 连接。在连接成功后,实现了串口和网络数据的双向传输,也就是将从串口接收到的数据通过 Wi-Fi…

基于微信小程序的酒店管理系统设计与实现(源码+数据库+文档)

酒店管理小程序目录 目录 基于微信小程序的酒店管理系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、管理员模块的实现 (1) 用户信息管理 (2) 酒店管理员管理 (3) 房间信息管理 2、小程序序会员模块的实现 (1)系统首页 &#xff…

故障显示C++

为了实现一个系统,其中不同模块可以上报故障(fault),并在一个界面上集中显示这些故障信息,我们可以设计一个简单的应用程序。以下是一个基本的实现思路和示例代码,使用C来模拟这一过程。 实现思路 故障模块…