返回顶部
热门问答 更多热门问答
技术文章 更多技术文章

带你看看Dify的原生数据库中有什么?——深入PostgreSQL

[复制链接]
链载Ai 显示全部楼层 发表于 昨天 21:50 |阅读模式 打印 上一主题 下一主题


ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;display: table;padding: 0.4em 1.4em;color: rgb(255, 255, 255);background: linear-gradient(135deg, rgb(22, 119, 255), rgb(5, 212, 205));border-radius: 8px 24px;box-shadow: rgba(5, 212, 205, 0.15) 0px 4px 12px;letter-spacing: 0.02em;">说在前面

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 15px;letter-spacing: 0px;color: rgb(78, 89, 105);">dify 提供了拖拉拽的可视化界面,使用起来确实非常方便。
但如果你希望进行ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: inherit;color: rgb(22, 119, 255);padding: 0px 2px;">深度开发或二次开发,仅仅停留在界面上是远远不够的。

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 15px;letter-spacing: 0px;color: rgb(78, 89, 105);">很多关键数据和配置信息其实都存储在数据库中,ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: inherit;color: rgb(22, 119, 255);padding: 0px 2px;">直接访问数据库将帮助你更好地理解 Dify 的底层逻辑。

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 15px;letter-spacing: 0px;color: rgb(78, 89, 105);">本文将以ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: inherit;color: rgb(22, 119, 255);padding: 0px 2px;">Dify使用的核心关系型数据库ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: inherit;color: rgb(22, 119, 255);padding: 0px 2px;">PostgreSQL为例,带你看到 Dify 背后的数据库服务。

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;display: table;padding: 0.4em 1.4em;color: rgb(255, 255, 255);background: linear-gradient(135deg, rgb(22, 119, 255), rgb(5, 212, 205));border-radius: 8px 24px;box-shadow: rgba(5, 212, 205, 0.15) 0px 4px 12px;letter-spacing: 0.02em;">1. Dify 使用了哪些数据库?

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 15px;letter-spacing: 0px;color: rgb(78, 89, 105);">根据.env配置文件中的设置,Dify 当前使用了以下三类数据库服务,分别承担不同的功能角色:

1. PostgreSQL(主关系型数据库)

  • 作用:作为核心数据库,用于存储用户、应用、工作流等结构化数据
  • 主要配置项:用户名、密码、主机地址、端口、数据库名
  • 连接池配置:最大连接数为 30,连接回收时间为 3600 秒

2. Redis(缓存与消息中间件)

  • 作用:用于缓存数据、处理实时对话的发布/订阅机制
  • 配置参数:主机地址、端口、密码、数据库编号
  • 支持模式:哨兵模式和集群模式(当前默认未启用)

3. 向量数据库(默认为 Weaviate)

  • 作用:用于向量数据的存储与相似性检索
  • 配置内容:服务端点 URL 和 API 密钥
  • 扩展能力:支持多种向量数据库选项,如 Qdrant、Milvus、PGVector 等

这些数据库共同构成了 Dify 的数据基础设施,分别负责结构化数据管理、缓存加速和语义级搜索功能。

2. 以PostgreSQL为例:如何进入数据库查看数据?

⚠️ 本文默认你已成功安装并运行 Dify。

如果尚未安装,建议先参考以下教程:

Dify-v1.1.3的安装与配置

Dify 1.5.0 在线Debug的工作流你用上了吗?


    如果你要查看或操作PostgreSQL数据库,可以按照下面三个步骤操作:找到DB配置,新增端口映射,连接DB

    2.1 找到DB配置

    .env的文件路径:dify/docker/.env

    DB_USERNAME=postgres# PostgreSQL数据库用户名
    DB_PASSWORD=difyai123456# PostgreSQL数据库密码
    DB_HOST=db# PostgreSQL数据库主机地址
    DB_PORT=5432# PostgreSQL数据库端口号
    DB_DATABASE=dify# PostgreSQL数据库名称

    拉取dify仓库后,如果不是很必要,这里就保持默认配置。

    2.2 新增DB服务的端口映射

    文件路径:dify/docker/docker-compose.yaml

    docker-compose.yaml的 "db" 服务下,新增 5432 端口映射

    注意:主机端口可以修改,内容端口要跟.envDB_PORT保持一致。

    services:
    api:
    worker:
    web:
    db:
    image: postgres:15-alpine
    restart: always
    ports:
    -"5432:5432"# 新增db服务的端口映射(主机端口5432:容器端口5432)

    命令解释:

    1. 1. 端口映射(Port Mapping)是指将容器内部的端口绑定到宿主机的端口
    2. 2. 格式为主机端口:容器端口,意思是:将容器内部的5432端口 映射 到主机的5432端口
    3. 3. 这种配置允许外部通过宿主机的端口访问容器内部服务

    然后重启dfiy服务

    sudodocker compose down
    sudodocker compose up -d

    2.3 连接DB

    打开数据库工具(如DBeaver[1])

    新建PostgreSQL连接,配置数据库名称、端口、用户名和密码,最后测试连接

    连通即可。

    可以看到 PG 数据库下有多个表文件

    这里介绍几个大家可能会用到的表:

    表名
    作用
    app
    存储工作流应用基本信息
    api_tokens
    存储各应用的API秘钥
    embedding
    存储向量嵌入embedding信息
    upload_files
    存储上传文件的所有信息,文件的主机路径、文件id等

    你在工作中会用到哪个表?欢迎留言交流~

    实践出真知,与君共勉~


    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    链载AI是专业的生成式人工智能教程平台。提供Stable Diffusion、Midjourney AI绘画教程,Suno AI音乐生成指南,以及Runway、Pika等AI视频制作与动画生成实战案例。从提示词编写到参数调整,手把手助您从入门到精通。
    • 官方手机版

    • 微信公众号

    • 商务合作

    • Powered by Discuz! X3.5 | Copyright © 2025-2025. | 链载Ai
    • 桂ICP备2024021734号 | 营业执照 | |广西笔趣文化传媒有限公司|| QQ