Môi Trường
Biến chung
CONSOLE_API_URL
URL phụ trợ của bảng điều khiển API, dùng để nối lệnh gọi lại ủy quyền. Nếu trống thì đó là cùng một tên miền. Ví dụ: https://api.console.chatx.ai
CONSOLE_WEB_URL
URL giao diện người dùng của bảng điều khiển web, được sử dụng để nối một số địa chỉ giao diện người dùng và để sử dụng cấu hình CORS. Nếu trống thì đó là cùng một tên miền. Ví dụ: https://console.chatx.ai
SERVICE_API_URL
Service API Url, được sử dụng để hiển thị Url cơ sở API dịch vụ cho giao diện người dùng. Nếu trống thì đó là cùng một tên miền. Ví dụ: https://api.chatx.ai
APP_API_URL
Url phụ trợ API WebApp, được sử dụng để khai báo URL phụ trợ cho front-end API. Nếu trống thì đó là cùng một tên miền. Ví dụ: https://app.chatx.ai
APP_WEB_URL
Url WebApp, được sử dụng để hiển thị Url cơ sở API WebAPP cho giao diện người dùng. Nếu trống thì đó là cùng một tên miền. Ví dụ: https://api.app.chatx.ai
FILES_URL
Tiền tố URL tải xuống hoặc xem trước tệp, được sử dụng để hiển thị bản xem trước tệp hoặc URL tải xuống ở giao diện người dùng hoặc dưới dạng đầu vào mô hình đa phương thức; Để ngăn người khác giả mạo, URL xem trước hình ảnh được ký và có thời gian hết hạn là 5 phút.
Máy chủ
MODE
Chế độ khởi động, chỉ khả dụng khi bắt đầu bằng docker, không hiệu quả khi bắt đầu từ mã nguồn.
api
Khởi động máy chủ API.
worker
Bắt đầu công việc xử lý hàng đợi bất đồng bộ.
DEBUG
Chế độ gỡ lỗi, mặc định là sai. Bạn nên bật cấu hình này để phát triển cục bộ nhằm ngăn ngừa một số sự cố do monkey patch gây ra.
FLASK_DEBUG
Chế độ Flask debug, nó có thể xuất thông tin theo dõi tại giao diện khi bật, thuận tiện cho việc gỡ lỗi.
SECRET_KEY
Khóa được sử dụng để ký cookie phiên một cách an toàn và mã hóa thông tin nhạy cảm trong cơ sở dữ liệu.
Biến này cần được đặt khi bắt đầu lần đầu tiên.
Bạn có thể dùng openssl rand -base64 42
để tạo ra một khóa mạnh.
DEPLOY_ENV
Môi trường triển khai.
PRODUCTION (mặc định)
Môi trường sản xuất.
TESTING
Môi trường thử nghiệm. Sẽ có một nhãn màu riêng biệt trên trang giao diện người dùng, cho biết môi trường này là môi trường thử nghiệm.
LOG_LEVEL
Mức đầu ra nhật ký, mặc định là INFO.
Bạn nên đặt nó thành ERROR để sản xuất.
MIGRATION_ENABLED
Khi được đặt thành true, quá trình di chuyển cơ sở dữ liệu sẽ được thực hiện tự động khi vùng chứa khởi động, chỉ khả dụng khi bắt đầu bằng docker, không hiệu quả khi bắt đầu từ mã nguồn.
Bạn cần thực hiện flask db upgrade
theo cách thủ công trong thư mục api khi bắt đầu từ mã nguồn.
CHECK_UPDATE_URL
Có nên kích hoạt chính sách kiểm tra phiên bản hay không. Nếu đặt thành false, https://updates.dify.ai
sẽ không được gọi để kiểm tra phiên bản.
Do hiện tại không thể truy cập trực tiếp giao diện phiên bản dựa trên CloudFlare Worker ở Trung Quốc nên việc đặt biến này thành trống có thể bảo vệ lệnh gọi giao diện này.
OPENAI_API_BASE
Khi OpenAI không thể truy cập được ở Trung Quốc, hãy thay thế nó bằng địa chỉ nhân bản trong nước hoặc khi một mô hình địa phương cung cấp API tương thích OpenAI, nó có thể được thay thế.
Cấu hình liên quan đến khởi động vùng chứa
Chỉ hiệu quả khi bắt đầu với hình ảnh docker hoặc docker-compose.
DIFY_BIND_ADDRESS
Địa chỉ liên kết dịch vụ API, mặc định: 0.0.0.0, tức là tất cả các địa chỉ đều có thể được truy cập.
DIFY_PORT
Số cổng liên kết dịch vụ API, mặc định là 5001.
SERVER_WORKER_AMOUNT
Số lượng API server workers, tức là số lượng gevent workers. Công thức:
number of cpu cores x 2 + 1
SERVER_WORKER_CLASS
Mặc định là gevent. Nếu dùng windows có thể chuyển sang sync hoặc solo.
GUNICORN_TIMEOUT
Yêu cầu hết thời gian xử lý. Mặc định là 200, nên đặt thành 360 để hỗ trợ thời gian kết nối lâu hơn.
CELERY_WORKER_CLASS
Tương tự như
SERVER_WORKER_CLASS
. Mặc định là gevent. Nếu dùng windows có thể chuyển sang sync hoặc solo.CELERY_WORKER_AMOUNT
Số lượng Celery workers. Giá trị mặc định là 1 và có thể được đặt khi cần.
Cấu hình cơ sở dữ liệu
Cơ sở dữ liệu sử dụng PostgreSQL. Vui lòng sử dụng lược đồ công khai.
DB_USERNAME: tài khoản
DB_PASSWORD: mật khẩu
DB_HOST: máy chủ cơ sở dữ liệu
DB_PORT: số cổng cơ sở dữ liệu, mặc định là 5432
DB_DATABASE: tên cơ sở dữ liệu
SQLALCHEMY_POOL_SIZE: Kích thước của nhóm kết nối cơ sở dữ liệu. Mặc định là 30 kết nối, có thể tăng lên một cách thích hợp.
SQLALCHEMY_POOL_RECYCLE: Thời gian tái chế nhóm kết nối cơ sở dữ liệu, mặc định là 3600 giây.
SQLALCHEMY_ECHO: Có in SQL hay không, mặc định là false.
Cấu hình Redis
Cấu hình Redis này được sử dụng để lưu vào bộ nhớ đệm và cho pub/sub trong khi trò chuyện.
REDIS_HOST: Máy chủ Redis
REDIS_PORT: Cổng Redis, mặc định là 6379
REDIS_DB: Cơ sở dữ liệu Redis, mặc định là 0. Vui lòng sử dụng Cơ sở dữ liệu khác với Session Redis và Celery Broker.
REDIS_USERNAME: Tài khoản Redis, mặc định trống
REDIS_PASSWORD: Mật khẩu Redis, mặc định trống. Chúng tôi thực sự khuyên bạn nên đặt mật khẩu.
REDIS_USE_SSL: Có sử dụng giao thức SSL để kết nối hay không, mặc định là false
Cấu hình Celery
CELERY_BROKER_URL
Định dạng như sau:
Ví dụ:
redis://:difyai123456@redis:6379/1
BROKER_USE_SSL
Nếu được đặt thành true, hãy sử dụng giao thức SSL để kết nối, mặc định là false
Cấu hình CORS
Được sử dụng để đặt chính sách truy cập front-end cross-domain.
CONSOLE_CORS_ALLOW_ORIGINS
Chính sách đa miền của Console CORS, mặc định là
*
, tức là tất cả các miền đều có thể truy cập.WEB_API_CORS_ALLOW_ORIGINS
Chính sách cross-domain WebAPP CORS, mặc định là
*
, tức là tất cả các miền đều có thể truy cập.
Cấu hình lưu trữ tệp
Được sử dụng để lưu trữ các tệp tập dữ liệu đã tải lên, khóa mã hóa nhóm/đối tượng thuê và các tệp khác.
STORAGE_TYPE
Loại cơ sở lưu trữ
local (mặc định)
Bộ nhớ tệp cục bộ, nếu tùy chọn này được chọn thì cần phải đặt cấu hình
STORAGE_LOCAL_PATH
sau.s3
Lưu trữ đối tượng S3, nếu tùy chọn này được chọn, các cấu hình có tiền tố S3_ sau đây cần được thiết lập.
azure-blob
Lưu trữ đối tượng Azure Blob, nếu tùy chọn này được chọn, các cấu hình có tiền tố AZURE_BLOB_ sau đây cần được thiết lập.
STORAGE_LOCAL_PATH
Mặc định là storage, tức là nó được lưu trữ trong thư mục storage của thư mục hiện tại. Nếu bạn đang triển khai bằng docker hoặc docker-compose, hãy đảm bảo gắn thư mục /app/api/storage trong cả hai vùng chứa vào cùng một thư mục cục bộ, nếu không, bạn có thể gặp phải lỗi không tìm thấy tệp.
S3_ENDPOINT: Địa chỉ điểm cuối S3
S3_BUCKET_NAME: Tên nhóm S3
S3_ACCESS_KEY: Khóa truy cập S3
S3_SECRET_KEY: Khóa bí mật S3
S3_REGION: Thông tin khu vực S3, chẳng hạn như: us-east-1
AZURE_BLOB_ACCOUNT_NAME: tên tài khoản của bạn, ví dụ: 'chatxai'
AZURE_BLOB_ACCOUNT_KEY: khóa tài khoản của bạn, ví dụ: 'chatxai'
AZURE_BLOB_CONTAINER_NAME: tên-container của bạn, ví dụ: 'chatxai-container'
AZURE_BLOB_ACCOUNT_URL: 'https://<your_account_name>.blob.core.windows.net'
Cấu hình cơ sở dữ liệu vectơ
VECTOR_STORE
Các kiểu liệt kê có sẵn bao gồm:
weaviate
qdrant
milvus
zilliz
(chia sẻ cấu hình tương tự nhưmilvus
)pinecone
(chưa mở)
WEAVIATE_ENDPOINT
Địa chỉ điểm cuối weaviate, chẳng hạn như:
http://weaviate:8080
.WEAVIATE_API_KEY
Thông tin xác thực khóa api được sử dụng để kết nối với Weaviate.
WEAVIATE_BATCH_SIZE
WEAVIATE_GRPC_ENABLED
Dù có sử dụng phương pháp gRPC để tương tác với Weaviate hay không, hiệu suất sẽ tăng lên rất nhiều khi được bật, có thể không sử dụng được cục bộ, mặc định là đúng.
QDRANT_URL
Địa chỉ điểm cuối Qdrant, chẳng hạn như:
https://your-qdrant-cluster-url.qdrant.tech/
QDRANT_API_KEY
Thông tin xác thực khóa api được sử dụng để kết nối với Qdrant.
PINECONE_API_KEY
Thông tin xác thực khóa api được sử dụng để kết nối với Pinecone.
PINECONE_ENVIRONMENT
Môi trường nơi Pinecone được đặt, ví dụ:
us-east4-gcp
MILVUS_HOST
Cấu hình máy chủ Milvus.
MILVUS_PORT
Cấu hình cổng Milvus.
MILVUS_USER
Cấu hình người dùng Milvus, mặc định trống.
MILVUS_PASSWORD
Cấu hình mật khẩu Milvus, mặc định trống.
MILVUS_SECURE
Có phải Milvus sử dụng kết nối SSL không, mặc định là false.
Cấu hình Knowledge
UPLOAD_FILE_SIZE_LIMIT:
Giới hạn kích thước tệp tải lên, mặc định là 15M.
UPLOAD_FILE_BATCH_LIMIT
Số lượng tệp tối đa có thể được tải lên cùng một lúc, mặc định là 5.
ETL_TYPE
Các kiểu liệt kê có sẵn bao gồm:
dify
Sơ đồ trích xuất tệp độc quyền của ChatX
Unstructured
Sơ đồ trích xuất tệp Unstructured.io
UNSTRUCTURED_API_URL
Đường dẫn Unstructured API, cần được định cấu hình khi ETL_TYPE được kích hoạt là Unstructured. Cho ví dụ:
http://unstructured:8000/general/v0/general
Cấu hình Multi-modal
MULTIMODAL_SEND_IMAGE_FORMAT
Định dạng của hình ảnh được gửi khi nhập mô hình đa phương thức, mặc định là
base64
, tùy chọnurl
. Độ trễ của cuộc gọi ở chế độurl
sẽ thấp hơn ở chế độbase64
. Thông thường nên sử dụng chế độbase64
tương thích hơn. Nếu được định cấu hình làurl
, bạn cần định cấu hìnhFILES_URL
làm địa chỉ có thể truy cập từ bên ngoài để mô hình đa phương thức có thể truy cập hình ảnh.UPLOAD_IMAGE_FILE_SIZE_LIMIT
Giới hạn kích thước tệp hình ảnh tải lên, mặc định là 10M.
Cấu hình Sentry
Được sử dụng để giám sát ứng dụng và theo dõi nhật ký lỗi.
SENTRY_DSN
Địa chỉ Sentry DSN, mặc định trống, khi trống thì mọi thông tin giám sát đều không được báo cáo cho Sentry.
SENTRY_TRACES_SAMPLE_RATE
Tỷ lệ báo cáo của các sự kiện Sentry, nếu là 0,01 thì là 1%.
SENTRY_PROFILES_SAMPLE_RATE
Tỷ lệ báo cáo của hồ sơ Sentry, nếu là 0,01 thì là 1%.
Cấu hình Notion Integration
NOTION_INTEGRATION_TYPE: Cấu hình là "public" hoặc "internal". Vì URL chuyển hướng OAuth của Notion chỉ hỗ trợ HTTPS, nếu triển khai cục bộ, vui lòng sử dụng tích hợp nội bộ của Notion.
NOTION_CLIENT_SECRET: Khóa bí mật của khách hàng Notion OAuth (được sử dụng cho loại tích hợp công khai)
NOTION_CLIENT_ID: ID ứng dụng khách OAuth (được sử dụng cho loại tích hợp công khai)
NOTION_INTERNAL_SECRET: Khái niệm bí mật tích hợp nội bộ. Nếu giá trị của
NOTION_INTEGRATION_TYPE
là 'internal', bạn cần định cấu hình biến này.
Cấu hình Mail related
MAIL_TYPE
resend
RESEND_API_KEY API-Key đối với nhà cung cấp Resend email, có thể được lấy từ API-Key.
smtp
SMTP_SERVER SMTP địa chỉ máy chủ
SMTP_PORT SMTP số cổng máy chủ
SMTP_USERNAME SMTP tài khoản
SMTP_PASSWORD SMTP mật khẩu
SMTP_USE_TLS Có sử dụng TLS hay không, mặc định là false
Khác
INVITE_EXPIRY_HOURS: Liên kết lời mời thành viên thời gian hợp lệ (giờ), Mặc định: 72.
Web Frontend
SENTRY_DSN
Địa chỉ Sentry DSN, mặc định trống, khi trống thì mọi thông tin giám sát đều không được báo cáo cho Sentry.
Deprecated
CONSOLE_URL
⚠️ Được sửa đổi trong 0.3.8, sẽ không được dùng nữa trong 0.4.9, được thay thế bằng:
CONSOLE_API_URL
vàCONSOLE_WEB_URL
.
Bảng điều khiển URL, được sử dụng để nối lệnh gọi lại ủy quyền, địa chỉ giao diện người dùng bảng điều khiển và sử dụng cấu hình CORS. Nếu trống thì đó là cùng một tên miền. Ví dụ: https://console.dify.ai
.
API_URL
⚠️ Được sửa đổi trong 0.3.8, sẽ không được dùng nữa trong 0.4.9, được thay thế bằng
SERVICE_API_URL
.
API URL, được sử dụng để hiển thị URL cơ sở API dịch vụ cho giao diện người dùng. Nếu trống thì đó là cùng một tên miền. Ví dụ: https://api.dify.ai
APP_URL
⚠️ Được sửa đổi trong 0.3.8, sẽ không được dùng nữa trong 0.4.9, được thay thế bằng
APP_API_URL
vàAPP_WEB_URL
.
WebApp Url, được sử dụng để hiển thị Url cơ sở API WebAPP cho giao diện người dùng. Nếu trống thì đó là cùng một tên miền. Ví dụ: https://api.app.dify.ai
Cấu hình Session
⚠️ Cấu hình này không còn hợp lệ kể từ v0.3.24.
Chỉ được dịch vụ API sử dụng để xác minh danh tính giao diện.
SESSION_TYPE:
Loại thành phần Session
redis (mặc định)
Nếu chọn tùy chọn này, bạn cần đặt các biến môi trường bắt đầu bằng SESSION_REDIS_ bên dưới.
sqlalchemy
Nếu bạn chọn tùy chọn này, kết nối cơ sở dữ liệu hiện tại sẽ được sử dụng và bảng phiên sẽ được sử dụng để đọc và ghi các bản ghi phiên.
SESSION_REDIS_HOST: Máy chủ Redis
SESSION_REDIS_PORT: Cổng Redis, mặc định là 6379
SESSION_REDIS_DB: Cơ sở dữ liệu Redis, mặc định là 0. Vui lòng sử dụng Cơ sở dữ liệu khác với Redis và Celery Broker.
SESSION_REDIS_USERNAME: Tên người dùng Redis, mặc định trống
SESSION_REDIS_PASSWORD: Mật khẩu Redis, mặc định trống. Chúng tôi thực sự khuyên bạn nên đặt mật khẩu.
SESSION_REDIS_USE_SSL: Có sử dụng giao thức SSL để kết nối hay không, mặc định là false
Cấu hình Cookie Policy
⚠️ Cấu hình này không còn hợp lệ kể từ v0.3.24.
Được sử dụng để đặt chính sách trình duyệt cho các cookie phiên được sử dụng để xác minh danh tính.
COOKIE_HTTPONLY
Cấu hình cookie httpOnly, mặc định là true.
COOKIE_SAMESITE
Cấu hình cookie SameSite, mặc định là Lax.
COOKIE_SECURE
Cấu hình Cookie Secure, mặc định là false.