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

dify+ollama+知识库 部署

这篇文章的前提是已经部署了deepseek和ollama
deepseek和ollama安装

代码、配置

本地电脑如果是Windows的话,需要安装Git

# 拉取Dify代码
git clone https://github.com/langgenius/dify.git
  1. 复制配置

进入dify\docker目录
复制.env.example到.env
复制.middleware.env.example到middleware.env

  1. 修改配置
    修改.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

启动

  1. 安装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"]
}

配置好后,重启一下容器使配置生效。

  1. 启动容器

仍然在dify\docker目录下执行

docker-compose -p dify up -d

在这里插入图片描述
以上容器都为绿色,即为启动成功。

2.连接数据库
用navicat新建PostgreSql连接
在这里插入图片描述
在这里插入图片描述

进入系统

http://172.22.80.1:8080
设置用户名、密码
在这里插入图片描述

部署模型

  1. 配置电脑的环境变量

OLLAMA_HOST=电脑ip:11434
在这里插入图片描述

点击右上角设置
在这里插入图片描述

  1. 选择Ollama

在这里插入图片描述

  1. 配置Ollama

在这里插入图片描述

配置成功后,如果没有立即刷新,可以退出登录后再登录

  1. 配置知识库嵌入模型

shaw/dmeta-embedding-zh

ollama pull shaw/dmeta-embedding-zh:latest

在这里插入图片描述
还可以配置其他模型

初探

聊天应用

  1. 填写应用名称

在这里插入图片描述

  1. 问答

默认配置问答可以看出8b还是比较笨的
在这里插入图片描述

  • 应用开发

  • 嵌入网站:将此聊天应用直接嵌入页面

  • 访问Api:二次开发所需接口

在这里插入图片描述

工作流

在这里插入图片描述

  • 开始:用户输入关键词,定一个了一个输入变量
  • 网页爬虫:节点执行爬虫获取信息,输入爬虫地址
  • LLM:模型定义
  • 结束:输出模型结果
  • 在这里插入图片描述

从结果看已经比单纯聊天室好多了

智能体+知识库

私有知识库

  1. 创建知识库
    在这里插入图片描述

  2. 导入知识库
    在这里插入图片描述

  3. 文本分段与清晰
    在这里插入图片描述
    保存之后等待处理结果,状态未可用即可
    在这里插入图片描述

  4. 测试段落
    在这里插入图片描述

安装searxng

SearXNG是一个免费的互联网元搜索引擎,它聚合了各种搜索服务和数据库的结果。用户既不被跟踪也不被分析。

  1. 下载代码
git clone https://github.com/searxng/searxng-docker.git
cd searxng-docker
  1. 修改配置
    将docker-compose.yaml的IP和端口改为实际ip和8081
  searxng:container_name: searxngimage: docker.io/searxng/searxng:latestrestart: unless-stoppednetworks:- searxngports:- "8081:8080"
  1. 编辑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
  1. 生成密钥
    提前安装openssl
    windows下打开PowerShell执行
Set-Content -Path "searxng\settings.yml" -Value ((Get-Content -Path "searxng\settings.yml" -Raw) -replace "ultrasecretkey", (openssl rand -hex 32))
  1. 运行服务
docker-compose -p searxng up -d
  1. 修改配置
    进入首选项
    在这里插入图片描述
    设置国内搜索引擎,其他的都禁用掉就可以
    在这里插入图片描述
    保存完成后,会跳转到https地址,重新输入下地址进行检索即可。
    在这里插入图片描述

智能体

  1. SearXNG授权
    进入工具搜索SearXNG安装在这里插入图片描述
    授权
    在这里插入图片描述

在这里插入图片描述

  1. 创建Agent
    在这里插入图片描述
    3 配置Agent

在这里插入图片描述
工具:

  1. time获取当前时间
  2. searxng SearXNG
  3. 搜索 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

http://www.xdnf.cn/news/248167.html

相关文章:

  • 数字智慧方案6156丨智慧医联体信息化解决方案(50页PPT)(文末有下载方式)
  • 今天的python练习题
  • Spring AOP---面向切面编程由认识到使用
  • pycharm安装的插件怎么显示在右侧
  • 【无标题】四色拓扑收缩模型中环形套嵌结构的颜色保真确定方法
  • 【信息系统项目管理师-论文真题】2024上半年(第一批)论文详解(包括解题思路和写作要点)
  • C++11新特性_自动类型推导_decltype
  • Java内存对象实现聚合查询
  • Unity SpriteMask(精灵遮罩)
  • PMP-第八章 项目质量管理
  • 攻防世界 dice_game
  • 多智能体空域协同中的伦理博弈与系统调停
  • LegalOne:本土与国际视野融合的法律评级,大湾区律师及律师事务所榜单申报启动
  • 【统计方法】方差分析(ANOVA):判断数据差异的统计方法
  • 【Linux】环境基础开发工具使用
  • 26.电流信号的强抗干扰能力运用
  • 深圳第三方软件测试机构如何填补企业空缺并助力市场发展?
  • LintCode第652题-递归版
  • Linux基础指令【下】
  • Leetcode刷题报告2——双指针法
  • 基于DrissionPage的高效爬虫开发:以小说网站数据抓取为例
  • vue自定义表头内容excel表格导出
  • LangChain4j +DeepSeek大模型应用开发——7 项目实战 创建硅谷小鹿
  • SpringAI使用OpenAI API格式调用DeepSeek服务
  • 《AIStarter安装部署全攻略:AI绘画/数字人项目快速上手指南(含Windows环境配置要点)》
  • *(解引用运算符)与 ++(自增运算符)的优先级
  • 开始一个vue项目
  • 《排序算法总结》
  • 60常用控件_QSpinBox的使用
  • [FPGA Video IP] Frame Buffer Read and Write