dify+ollama+知识库 部署
这篇文章的前提是已经部署了deepseek和ollama
deepseek和ollama安装
代码、配置
本地电脑如果是Windows的话,需要安装Git
# 拉取Dify代码
git clone https://github.com/langgenius/dify.git
- 复制配置
进入dify\docker目录
复制.env.example到.env
复制.middleware.env.example到middleware.env
- 修改配置
修改.env的DB_HOST=127.0.0.1为DB_HOST=db
DB_HOST=db
在docker-compose.yaml的db中增加端口映射
ports:- "${DB_PORT:-5432}:${DB_PORT:-5432}"
在docker-compose.yaml的所有service中增加时区设置
TZ: Asia/ShanghaiLOG_TZ: ${LOG_TZ:-Asia/Shanghai}
其他地方无须修改(仅为标记修改位置)
db:image: postgres:15-alpinerestart: alwaysenvironment:PGUSER: ${PGUSER:-postgres}POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-difyai123456}POSTGRES_DB: ${POSTGRES_DB:-dify}PGDATA: ${PGDATA:-/var/lib/postgresql/data/pgdata}TZ: Asia/ShanghaiLOG_TZ: Asia/Shanghaiports:- "${DB_PORT:-5432}:${DB_PORT:-5432}"
也可以修改.env默认的80和443端口,不是必须
EXPOSE_NGINX_PORT=8080
EXPOSE_NGINX_SSL_PORT=8443
启动
- 安装docker和docker-compose
安装步骤
配置docker镜像代理
{"builder": {"gc": {"defaultKeepStorage": "20GB","enabled": true}},"experimental": false,"registry-mirrors": ["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","https://docker.jianmuhub.com","https://huecker.io","https://dockerhub.timeweb.cloud","https://dockerhub1.beget.com","https://noohub.ru"]
}
配置好后,重启一下容器使配置生效。
- 启动容器
仍然在dify\docker目录下执行
docker-compose -p dify up -d
以上容器都为绿色,即为启动成功。
2.连接数据库
用navicat新建PostgreSql连接
进入系统
http://172.22.80.1:8080
设置用户名、密码
部署模型
- 配置电脑的环境变量
OLLAMA_HOST=电脑ip:11434
点击右上角设置
- 选择Ollama
- 配置Ollama
配置成功后,如果没有立即刷新,可以退出登录后再登录
- 配置知识库嵌入模型
shaw/dmeta-embedding-zh
ollama pull shaw/dmeta-embedding-zh:latest
还可以配置其他模型
初探
聊天应用
- 填写应用名称
- 问答
默认配置问答可以看出8b还是比较笨的
-
应用开发
-
嵌入网站:将此聊天应用直接嵌入页面
-
访问Api:二次开发所需接口
工作流
- 开始:用户输入关键词,定一个了一个输入变量
- 网页爬虫:节点执行爬虫获取信息,输入爬虫地址
- LLM:模型定义
- 结束:输出模型结果
从结果看已经比单纯聊天室好多了
智能体+知识库
私有知识库
-
创建知识库
-
导入知识库
-
文本分段与清晰
保存之后等待处理结果,状态未可用即可
-
测试段落
安装searxng
SearXNG是一个免费的互联网元搜索引擎,它聚合了各种搜索服务和数据库的结果。用户既不被跟踪也不被分析。
- 下载代码
git clone https://github.com/searxng/searxng-docker.git
cd searxng-docker
- 修改配置
将docker-compose.yaml的IP和端口改为实际ip和8081
searxng:container_name: searxngimage: docker.io/searxng/searxng:latestrestart: unless-stoppednetworks:- searxngports:- "8081:8080"
- 编辑settings.yml
修改后如下
use_default_settings: true
server:# base_url is defined in the SEARXNG_BASE_URL environment variable, see .env and docker-compose.ymlsecret_key: "ultrasecretkey" # change this!limiter: false # 改为falseimage_proxy: truebind_address: "0.0.0.0" # 允许所有ip连接
ui:static_use_hash: true
redis:url: redis://redis:6379/0
search:formats:- html- json- csv- rss
- 生成密钥
提前安装openssl
windows下打开PowerShell执行
Set-Content -Path "searxng\settings.yml" -Value ((Get-Content -Path "searxng\settings.yml" -Raw) -replace "ultrasecretkey", (openssl rand -hex 32))
- 运行服务
docker-compose -p searxng up -d
- 修改配置
进入首选项
设置国内搜索引擎,其他的都禁用掉就可以
保存完成后,会跳转到https地址,重新输入下地址进行检索即可。
智能体
- SearXNG授权
进入工具搜索SearXNG安装
授权
- 创建Agent
3 配置Agent
工具:
- time获取当前时间
- searxng SearXNG
- 搜索 webscraper 网页爬虫
右上角的参数自己可以多试试,多测试
提示词
# 职位描述
## 角色
你的主要任务是人工智能辅助助手,能够调用知识库工具、联网搜索、网页爬虫、获取时间等相关工具,收集相关信息,回答用户的提问。## 技能
### 技能1:使用知识库工具进行知识库检索相关内容
### 技能2:使用time工具获取当前的时间
### 技能3:使用searxng功能进行联网搜索
### 技能4:使用webscraper功能对搜索到的相关内容进行爬取,并进行总结分析## 限制
- 每次都必须调用知识库工具,如果没有相关内容,再进行联网搜索
- 你的回答应严格针对分析任务。使用结构化语言,逐步思考
- 使用的语言应和用户提问的语言相同
- 搜索的关键词必须和用户提问的内容一致
引用
https://docs.dify.ai/zh-hans/getting-started/install-self-hosted/docker-compose
https://blog.csdn.net/liu_xp2003/article/details/145438731
相关文章:
dify+ollama+知识库 部署
这篇文章的前提是已经部署了deepseek和ollama deepseek和ollama安装 代码、配置 本地电脑如果是Windows的话,需要安装Git # 拉取Dify代码 git clone https://github.com/langgenius/dify.git复制配置 进入dify\docker目录 复制.env.example到.env 复制.middlewa…...
补题:K - Magic Tree (Gym - 105231K)
来源:问题 - K - Codeforceshttps://codeforces.com/gym/105231/problem/K 题目描述: 一、题目分析 本题给定一个2行m列的网格,从(1, 1)格子开始进行深度优先搜索,每个格子可到达至少一个边相邻的格子且不重复访问,…...
文章记单词 | 第58篇(六级)
一,单词释义 naive:英 [naɪˈiːv , nɑːˈiːv] 美 [naɪˈiːv , nɑːˈiːv],形容词,意为 “天真的;幼稚的;轻信的;易受骗的;无经验的;率真的;质朴的”…...
红利底波是什么意思?
红利低波是一种结合了红利策略和低波策略的投资策略,主要选取股息率高且波动率低的股票进行投资,具有 “高收益低风险” 的特点,适合大多数投资者的权益资产配置。以下是具体介绍: 策略构成要素 红利策略 :关注股息率…...
缓存:缓解读库压力的高效方案与应用实践
在软件开发和系统设计中,使用缓存来缓解读库压力是一种常见且有效的优化策略,以下是具体的介绍: 一、缓存的基本概念 缓存是一种临时数据存储区域,它存储了经常访问的数据副本。当应用程序需要访问数据时,首先会检查…...
17. LangChain流式响应与实时交互:打造“类ChatGPT“体验
引言:从"等待加载"到"即时对话"的革命 2025年某在线教育平台的AI助教引入流式交互后,学生平均对话轮次提升3.2倍,完课率提高47%。本文将基于LangChain的异步流式架构,揭秘如何实现毫秒级响应的自然对话体验。…...
仿腾讯会议——服务器结构讲解
总功能 1、数据库类 1、进入mysql 2、查看当前数据库 2、线程池 3、网络类 阻塞和非阻塞是通过套接字来实现的,所以不能发送和接收的阻塞状态不同...
【笔记】深度学习模型训练的 GPU 内存优化之旅③:内存交换篇
开设此专题,目的一是梳理文献,目的二是分享知识。因为笔者读研期间的研究方向是单卡上的显存优化,所以最初思考的专题名称是“显存突围:深度学习模型训练的 GPU 内存优化之旅”,英文缩写是 “MLSys_GPU_Memory_Opt”。…...
(B题|矿山数据处理问题)2025年第二十二届五一数学建模竞赛(五一杯/五一赛)解题思路|完整代码论文集合
我是Tina表姐,毕业于中国人民大学,对数学建模的热爱让我在这一领域深耕多年。我的建模思路已经帮助了百余位学习者和参赛者在数学建模的道路上取得了显著的进步和成就。现在,我将这份宝贵的经验和知识凝练成一份全面的解题思路与代码论文集合…...
【2025最新】为什么用ElasticSearch?和传统数据库MySQL与什么区别?
Elasticsearch 深度解析:从原理到实践 一、为什么选择 Elasticsearch? 数据模型 Elasticsearch 是基于文档的搜索引擎,它使用 JSON 文档来存储数据。在 Elasticsearch 中,相关的数据通常存储在同一个文档中,而不是分散…...
华为云Astro大屏连接器创建操作实例:抽取物联网iotda影子设备数据的连接器创建
目录 样图(API连接器创建成功) 说明 操作场景(以Astro大屏抽取iotda影子参数为例) 实际操作步骤 新建连接器 设置基本信息。 接口鉴权方式,支持API鉴权、AK/SK、API Key和无身份验证 无身份验证 AK/SK认证(目前暂不能用) API Key认证(第三方使用) API鉴权认…...
C#泛型集合深度解析(九):掌握System.Collections.Generic的核心精髓
一、泛型集合革命:告别装箱拆箱的性能噩梦 1.1 泛型与非泛型集合性能对比 // 非泛型集合(ArrayList) ArrayList arrayList = new ArrayList(); arrayList.Add(100); // 装箱发生 int value = (int)arrayList[0]; // 拆箱发生// 泛型集合(List<T>) List<…...
人工智能-深度学习之卷积神经网络
深度学习 mlp弊端卷积神经网络图像卷积运算卷积神经网络的核心池化层实现维度缩减卷积神经网络卷积神经网络两大特点卷积运算导致的两个问题:图像填充(padding)结构组合问题经典CNN模型LeNet-5模型AlexNet模型VGG-16模型 经典的CNN模型用于新…...
《软件设计师》复习笔记(11.1)——生命周期、CMM、开发模型
目录 一、信息系统生命周期 系统规划阶段 系统分析阶段(逻辑设计) 系统设计阶段(物理设计) 系统实施阶段 系统运行与维护阶段 二、能力成熟度模型(CMM/CMMI) CMM 五级模型 CMMI 两种表示方法 真题…...
AI大模型基础设施:主流的几款开源AI大语言模型的本地部署成本
以下是对目前主流开源AI大语言模型(如DeepSeek R1、LLaMA系列、Qwen等)本地部署成本的详细分析,涵盖计算机硬件、显卡等成本,价格以美元计算。成本估算基于模型参数规模、硬件需求(GPU、CPU、RAM、存储等)以…...
Narendra自适应控制器设计
上一篇介绍了在系统结构中引入前馈和反馈的结构,然后利用李雅普诺夫稳定性理论设计MRACS,在基于输入输出形式中,利用李雅普诺夫稳定性设计的自适应率中包含了误差的导数,这降低了系统的抗干扰性,为了避免这一缺点&…...
为什么大模型偏爱Markdown
Markdown 的简洁之美 我们常见的文档格式,比如HTML、JSON、XML或者Markdown,Markdown是最简洁的。 比如要展示一行标题,相比复杂的HTML标签,使用Markdown我们只需要在文本前加个井号: <heading level“1”>这是…...
【kafka系列】消费者组
目录 消费者组功能点 1. 动态负载均衡 2. 容错高可用 3. 消费进度管理 4. 并行消费能力 5. 消费隔离性 其他要点 1. Rebalance过程详解 2. 位移提交的精确语义 3. 消费者限速策略 4. 跨机房消费设计 消费者组功能点 1. 动态负载均衡 核心机制:通过Rebal…...
2025五一杯数学建模C题:社交媒体平台用户分析问题;思路分析+模型代码
(一)问题背景 想象一下,社交媒体平台是一个充满活力的生态系统,博主们如同才华横溢的创作者,凭借专业知识或独特兴趣,精心打造出各种高质量内容,吸引着众多用户的目光。用户则像热情的参与者&a…...
Kotlin-运算符重载函数
在 Kotlin 里,运算符重载函数允许为自定义类型重新定义现有的运算符(如 -…)行为,从而让自定义类型能像内置类型那样使用运算符 文章目录 基本语法作用场景类对象数据类型接口 注意事项 基本语法 若要重载运算符,需要定义一个带有 operato…...
哈希表笔记(三)Java Hashmap
一、基本介绍 HashMap 是 Java 集合框架中的核心类之一,基于哈希表实现,提供了 Map 接口的主要实现。 1.1 主要特点 实现了 Map<K,V> 接口允许 null 键和 null 值(不同于 Hashtable)非同步实现(非线程安全&am…...
2025五一杯C题五一杯数学建模思路代码文章教学:社交媒体平台用户分析问题
完整内容请看文章最下面的推广群 问题一详细分析:逐步思考与建模过程 第1步:问题理解与数学建模目标明确 目标明确: 平台希望根据2024年7月11日至7月20日的用户与博主交互数据,预测2024年7月21日各博主新增的关 注数,…...
2025五一数学建模竞赛B题完整分析论文(共42页)(含模型、可运行代码、数据)
2025年五一数学建模竞赛B题完整分析论文 摘 要 一、问题分析 二、问题重述 三、模型假设 四、符号定义 五、 模型建立与求解 5.1问题1 5.1.1问题1思路分析 5.1.2问题1模型建立 5.1.3问题1代码 5.1.4问题1求解结果 5.2问题2 5.2.1问题2思路分析 5.2.…...
[蓝桥杯 2021 省 AB] 砝码称重 Java
import java.util.*;public class Main {public static void main(String[] args) {Scanner sc new Scanner(System.in);int n sc.nextInt();int[] w new int[n 1];int sum 0; // 所有砝码重量之和for (int i 1; i < n; i) {w[i] sc.nextInt();sum w[i];}sc.close()…...
Linux 命令如何同时支持文件参数与管道输入?
文章目录 Linux 命令如何同时支持文件参数与管道输入?命令输入方式与管道机制概述常见输入控制方式常见使用示例程序实现思路:统一处理输入的方式判定输入来源的基本模式为何命令应支持参数与标准输入? GNU Coreutils wc 源码解析:…...
Lucene多种数据类型使用说明
Lucene 作为一款高性能的全文检索引擎库,其核心功能围绕索引和搜索文本数据,但它也支持多种数据类型以满足复杂的应用场景。以下是 Lucene 支持的主要数据类型及其用途的详细说明: 1. 文本类型(Text) 用途:…...
使用CubeMX新建DMA工程——存储器到外设模式
目录 1、新建板级支持包 1、usart.c: 2、修改的地方:在usart.c中添加了这些 3、usart.h: 4、在usart.h中添加了这些: 5、dma.c: 6、dma.h: 2、修改main.c文件 1、在main.c文件中添加头文件 2、添加外部变量声明 3、添加简单延时函数 4、添加…...
基于Redis实现-附近商铺查询
基于Redis实现-附近查询 这个功能将使用到Redis中的GEO这种数据结构来实现。 1.GEO相关命令 GEO就是Geolocation的简写形式,代表地理坐标。Redis在3.2版本中加入到了对GEO的支持,允许存储地理坐标信息,帮助我们根据经纬度来检索数据&#…...
【Redis】Another Redis Desktop Manager 安装指南
目录 一、Another Redis Desktop Manager 介绍 二、下载安装指南 三、效果预览 一、Another Redis Desktop Manager 介绍 国人开发的更快、更好、更稳定的 Redis 桌面客户端工具,功能强大,支持集群、哨兵、SSL 认证、 树状视图、自定义格式化脚本等功…...
装饰器设计模式(Decorator Pattern)详解
装饰器设计模式(Decorator Pattern)详解 装饰器模式是一种结构型设计模式,它允许动态地向对象添加额外行为,而无需修改其原始类。这种模式通过包装对象的方式提供灵活的扩展功能替代继承。 1. 核心概念 (1)模式定义 装饰器模式:动态地给一个对象添加一些额外的职责,就…...
LiteOS与SLE透传实战案例
文章目录 硬件设计EDA 软件介绍创建元件及封装原理图绘制Layout元件焊接 软件设计LiteOS 入门核心概念TaskWorkflow参考 API(参考 osal_task. h) 时间片任务轮转练习:仿写 example/peripheral/blinkyQueue参考 API(参考 osal_msgq…...
MCAL学习(1)——AutoSAR
1.了解AutoSAR及一些概念 AutoSAR是Automotive Open System Architecture ,汽车开放系统架构。 针对汽车ECU的软件开发架构。已经是汽车电子软件开发的标准。 OS服务:Freertos 整车厂(OEM)主要负责应用层算法 一级供应商:生产制…...
前端vue3项目学习
鸽王经过一个多月的学习(断断续续吧,毕竟还有其他杂事),学的昏天黑地,终于把主线捋的差不多了。只能说,前端真不是人学的,涉及的语言语法太杂乱了,入门真的太难了。而后端࿰…...
ActiveMQ 性能优化与网络配置实战(二)
五、性能优化实战 5.1 基础配置调整 5.1.1 增加并发消费者 在 ActiveMQ 中,增加并发消费者是提高消息处理效率的重要手段之一。通过配置多个消费者并行处理消息,可以充分利用系统资源,加快消息的消费速度,从而提高系统的整体吞…...
Python 函数装饰器和闭包(装饰器基础知识)
本章内容: Python 如何计算装饰器句法 Python 如何判断变量是不是局部的 闭包存在的原因和工作原理 nonlocal 能解决什么问题 掌握这些基础知识后,我们可以进一步探讨装饰器: 实现行为良好的装饰器 标准库中有用的装饰器 实现一个参数化装饰器…...
“Everything“工具 是 Windows 上文件名搜索引擎神奇
01 Everything 和其他搜索引擎有何不同 轻量安装文件。 干净简洁的用户界面。 快速文件索引。 快速搜索。 快速启动。 最小资源使用。 轻量数据库。 实时更新。 官网:https://www.voidtools.com/zh-cn/downloads/ 通过网盘分享的文件:Every…...
【Machine Learning Q and AI 读书笔记】- 04 彩票假设
Machine Learning Q and AI 中文译名 大模型技术30讲,主要总结了大模型相关的技术要点,结合学术和工程化,对LLM从业者来说,是一份非常好的学习实践技术地图. 本文是Machine Learning Q and AI 读书笔记的第4篇,对应原…...
linux下安装ollama网不好怎么办?
文章目录 前言kkgithub下载脚本,而不是直接运行修改脚本修改权限还是不行?前言 今天想在linux上面更新一下ollama,于是去到官网: https://ollama.com/download/linux linux下安装ollama还是挺简单的: curl -fsSL https://ollama.com/install.sh | sh我也是特别嗨皮地就…...
(A题|支路车流量推测问题)2025年第二十二届五一数学建模竞赛(五一杯/五一赛)解题思路|完整代码论文集合
我是Tina表姐,毕业于中国人民大学,对数学建模的热爱让我在这一领域深耕多年。我的建模思路已经帮助了百余位学习者和参赛者在数学建模的道路上取得了显著的进步和成就。现在,我将这份宝贵的经验和知识凝练成一份全面的解题思路与代码论文集合…...
RDMA高性能网络通信实践
RDMA高性能网络通信实践 一、背景介绍二、方法设计A.实现方案B.关键技术点三、代码及注释四、注意事项一、背景介绍 远程直接内存访问(RDMA)技术通过绕过操作系统内核和CPU直接访问远程内存,实现了超低延迟、高吞吐量的网络通信。该技术广泛应用于高性能计算、分布式存储和…...
【LeetCode Hot100】图论篇
前言 本文用于整理LeetCode Hot100中题目解答,因题目比较简单且更多是为了面试快速写出正确思路,只做简单题意解读和一句话题解方便记忆。但代码会全部给出,方便大家整理代码思路。 200. 岛屿数量 一句话题意 求所有上下左右的‘1’的连通块…...
图论---有向图的强连通分量(Tarjan求SCC)
强连通分量作用:有向图——>(缩点)有向无环图(DAG) 缩点:将所有连通的分量缩成一个点。 有向无环图作用/好处:求最短路/最长路 可以递推,按照拓扑图从前往后递推. x 是否在某个…...
2025年- H17-Lc125-73.矩阵置零(矩阵)---java版
1.题目描述 2.思路 (1)计算矩阵的行数 (2)计算矩阵的列数 (3)设计一个行列的bool数组 (4)遍历矩阵(二维数组),如果遇到元素0,则把…...
【信息系统项目管理师-论文真题】2023下半年论文详解(包括解题思路和写作要点)
更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 试题(第一批):论信息系统项目的干系人管理1、写作要点2、解题思路项目干系人管理的过程和执行要点项目中所有干系人如何进行分类管理?试题(第二批):论信息系统项目的工作绩效域1、写作要点2、解题思路绩…...
分享5款开源、美观的 WinForm UI 控件库
前言 今天大姚给大家分享5款开源、美观的 WinForm UI 控件库,助力让我们的 WinForm 应用更好看。 WinForm WinForm是一个传统的桌面应用程序框架,它基于 Windows 操作系统的原生控件和窗体。通过简单易用的 API,开发者可以快速构建基于窗体…...
微软推出数款Phi 4“开放式”人工智能模型
微软周三推出了几款新的“开放式”人工智能模型,其中功能最强大的模型至少在一个基准测试上可与 OpenAI 的 o3-mini 相媲美。所有新的授权模型——Phi 4 mini reasoning、Phi 4 reasoning 和 Phi 4 reasoning plus——都是“推理”模型,这意味着它们能够…...
Python实例题:Python实现Python解释器
目录 Python实例题 题目 实现思路 代码实现 代码解释 词法分析器(Lexer): 词法单元类(Token): 抽象语法树节点类(AST): 语法分析器(Parserÿ…...
【IP101】图像滤波技术详解:从均值滤波到高斯滤波的完整指南
🌟 图像滤波魔法指南 🎨 在图像处理的世界里,滤波就像是给图片"美颜"的魔法工具。让我们一起来探索这些神奇的滤波术吧! 📑 目录 1. 均值滤波:图像的"磨皮"大法2. 中值滤波࿱…...
信息系统项目管理师-软考高级(软考高项)2025最新(六)
个人笔记整理---仅供参考 第六章项目管理概论 6.1PMBOK的发展 6.2项目基本要素 组织过程资产指的是项目上的,国产数据库的使用----安保和安全指的是环境因素 6.3项目经理的角色 6.4价值驱动的项目管理知识体系...
算法-堆、排序算法、矩阵乘法
满二叉树、完全二叉树 二叉树遵循下面的规律,当前节点i(但是其实就是逐级填充): 左节点为 ix2右节点为 i*21父节点为 [i/2] 向下取整 使用数组表示二叉树: (二叉树的深度自上而下,高度自下…...