控制台 API 后端 URL,用于拼接授权回调,传空则为同域。范例:https://api.console.dify.ai
。
控制台 web 前端 URL,用于拼接部分前端地址,以及 CORS 配置使用,传空则为同域。范例:https://console.dify.ai
Service API URL,用于给前端展示 Service API Base URL,传空则为同域。范例:https://api.dify.ai
WebApp API 后端 URL,用于声明前端 API 后端地址,传空则为同域。范例:https://app.dify.ai
WebApp URL,用于给前端展示 WebAPP API Base URL,传空则为同域。范例:https://api.app.dify.ai
文件预览或下载 URL 前缀,用于将文件预览或下载 URL 给前端展示或作为多模态模型输入; 为了防止他人伪造,图片预览 URL 是带有签名的,并且有 5 分钟过期时间。
启动模式,仅使用 docker 启动时可用,源码启动无效。
启动 API Server。
worker
启动异步队列 worker。
调试模式,默认 false,建议本地开发打开该配置,可防止 monkey patch 导致的一些问题出现。
Flask 调试模式,开启可在接口输出 trace 信息,方便调试。
一个用于安全地签名会话 cookie 并在数据库上加密敏感信息的密钥。初次启动需要设置改变量。可以使用openssl rand -base64 42
生成一个强密钥。
部署环境。
生产环境。
TESTING
测试环境,前端页面会有明显颜色标识,该环境为测试环境。
日志输出等级,默认为 INFO。生产建议设置为 ERROR。
当设置为 true 时,会在容器启动时自动执行数据库迁移,仅使用 docker 启动时可用,源码启动无效。源码启动需要在 api 目录手动执行 flask db upgrade
。
是否开启检查版本策略,若设置为 false,则不调用 https://updates.dify.ai
进行版本检查。由于目前国内无法直接访问基于 CloudFlare Worker 的版本接口,设置该变量为空,可以屏蔽该接口调用。
仅在使用 docker 镜像或者 docker-compose 启动时有效。
API 服务绑定地址,默认:0.0.0.0,即所有地址均可访问。
DIFY_PORT
API 服务绑定端口号,默认 5001。
SERVER_WORKER_AMOUNT
API 服务 Server worker 数量,即 gevent worker 数量,公式:cpu 核心数 x 2 + 1
可参考:https://docs.gunicorn.org/en/stable/design.html#how-many-workers
SERVER_WORKER_CLASS
默认为 gevent,若为 windows,可以切换为 sync 或 solo。
GUNICORN_TIMEOUT
请求处理超时时间,默认 200,建议 360,以支持更长的 sse 连接时间。
CELERY_WORKER_CLASS
和 SERVER_WORKER_CLASS
类似,默认 gevent,若为 windows,可以切换为 sync 或 solo。
CELERY_WORKER_AMOUNT
Celery worker 数量,默认为 1,按需设置。
HTTP_PROXY
HTTP 代理地址,用于解决国内无法访问 OpenAI、HuggingFace 的问题。注意,若代理部署在宿主机(例如http://127.0.0.1:7890
),此处代理地址应当和接入本地模型时一样,使用docker容器内部的宿主机地址(例如http://192.168.1.100:7890
或http://172.17.0.1:7890
)。
HTTPS_PROXY
HTTPS 代理地址,用于解决国内无法访问 OpenAI、HuggingFace 的问题。同上。
数据库使用 PostgreSQL,请使用 public schema。
该 Redis 配置用于缓存以及对话时的 pub/sub。
格式如下
redis://<redis_username>:<redis_password>@<redis_host>:<redis_port>/<redis_database>
范例:redis://:difyai123456@redis:6379/1
BROKER_USE_SSL
若设置为 true,则使用 SSL 协议进行连接,默认 false
用于设置前端跨域访问策略。
控制台 CORS 跨域策略,默认为 *
,即所有域名均可访问。
WEB_API_CORS_ALLOW_ORIGINS
WebAPP CORS 跨域策略,默认为 *
,即所有域名均可访问。
详细配置可参考:跨域/身份相关指南
用于存储数据集上传的文件、团队/租户的加密密钥等等文件。
存储设施类型
本地文件存储,若选择此项则需要设置下方 STORAGE_LOCAL_PATH
配置。
S3 对象存储,若选择此项则需要设置下方 S3_ 开头的配置。
Azure Blob 存储,若选择此项则需要设置下方 AZURE_BLOB_ 开头的配置。
STORAGE_LOCAL_PATH
默认为 storage,即存储在当前目录的 storage 目录下。若使用 docker 或 docker-compose 进行部署,请务必将两个容器中 /app/api/storage
目录挂载到同一个本机目录,否则可能会出现文件找不到的报错。
S3_ENDPOINT:S3 端点地址
S3_BUCKET_NAME:S3 桶名称
S3_ACCESS_KEY:S3 Access Key
S3_SECRET_KEY:S3 Secret Key
S3_REGION:S3 地域信息,如:us-east-1
AZURE_BLOB_ACCOUNT_NAME: your-account-name 如 ‘difyai’
AZURE_BLOB_ACCOUNT_KEY: your-account-key 如 ‘difyai’
AZURE_BLOB_CONTAINER_NAME: your-container-name 如 ‘difyai-container’
AZURE_BLOB_ACCOUNT_URL: ‘https://
VECTOR_STORE
可使用的枚举类型包括:
weaviate
qdrant
milvus
zilliz
与 milvus
一致myscale
pinecone
(暂未开放)tidb_vector
Weaviate 端点地址,如:http://weaviate:8080
。
WEAVIATE_API_KEY
连接 Weaviate 使用的 api-key 凭据。
WEAVIATE_BATCH_SIZE
Weaviate 批量创建索引 Object 的数量,默认 100。
WEAVIATE_GRPC_ENABLED
是否使用 gRPC 方式与 Weaviate 进行交互,开启后性能会大大增加,本地可能无法使用,默认为 true。
QDRANT_URL
Qdrant 端点地址,如:https://your-qdrant-cluster-url.qdrant.tech/
QDRANT_API_KEY
连接 Qdrant 使用的 api-key 凭据。
PINECONE_API_KEY
连接 Pinecone 使用的 api-key 凭据。
PINECONE_ENVIRONMENT
Pinecone 所在的额环境,如:us-east4-gcp
MILVUS_HOST
Milvus host 配置。
MILVUS_PORT
Milvus post 配置。
MILVUS_USER
Milvus user 配置,默认为空。
MILVUS_PASSWORD
Milvus 密码配置,默认为空。
MILVUS_SECURE
Milvus 是否使用 SSL 连接,默认 false。
MYSCALE_HOST
MyScale host 配置。
MYSCALE_PORT
MyScale port 配置。
MYSCALE_USER
MyScale 用户名配置,默认为 default
。
MYSCALE_PASSWORD
MyScale 密码配置,默认为空。
MYSCALE_DATABASE
MyScale 数据库配置,默认为 default
。
MYSCALE_FTS_PARAMS
MyScale 全文搜索配置, 如需多语言支持,请参考 MyScale 文档,默认为空(仅支持英语)。
TIDB_VECTOR_HOST
TiDB Vector host 配置,如:xxx.eu-central-1.xxx.tidbcloud.com
TIDB_VECTOR_PORT
TiDB Vector 端口号配置,如:4000
TIDB_VECTOR_USER
TiDB Vector 用户配置,如:xxxxxx.root
TIDB_VECTOR_PASSWORD
TiDB Vector 密码配置
TIDB_VECTOR_DATABASE
TiDB Vector 数据库配置,如:dify
UPLOAD_FILE_SIZE_LIMIT
上传文件大小限制,默认 15M。
UPLOAD_FILE_BATCH_LIMIT
每次上传文件数上限,默认 5 个。
ETL_TYPE
可使用的枚举类型包括:
Dify 自研文件 Extract 方案
Unstructured.io 文件 Extract 方案
UNSTRUCTURED_API_URL
Unstructured API 路径,当 ETL_TYPE 为 Unstructured 需要配置。
如:http://unstructured:8000/general/v0/general
MULTIMODAL_SEND_IMAGE_FORMAT
多模态模型输入时,发送图片的格式,默认为 base64
,可选 url
。 url
模式下,调用的延迟会比 base64
模式下低,一般建议使用兼容更好的 base64
模式。 若配置为 url
,则需要将 FILES_URL
配置为外部可访问的地址,以便多模态模型可以访问到图片。
UPLOAD_IMAGE_FILE_SIZE_LIMIT
上传图片文件大小限制,默认 10M。
用于应用监控和错误日志跟踪。
Sentry DSN 地址,默认为空,为空时则所有监控信息均不上报 Sentry。
SENTRY_TRACES_SAMPLE_RATE
Sentry events 的上报比例,若为 0.01,则为 1%。
SENTRY_PROFILES_SAMPLE_RATE
Sentry profiles 的上报比例,若为 0.01,则为 1%。
Notion 集成配置,变量可通过申请 Notion integration 获取:https://www.notion.so/my-integrations
Sentry DSN 地址,默认为空,为空时则所有监控信息均不上报 Sentry。
powered by kaifamiao