О Dify
Dify - это платформа с открытым исходным кодом для разработки LLM-приложений. Её интуитивный интерфейс объединяет агентный рабочий процесс ИИ, конвейер RAG, возможности агентов, управление моделями, функции наблюдаемости и многое другое, позволяя быстро пройти путь от прототипа к продакшену.
Функции
1. Рабочий процесс: Создавайте и тестируйте мощные рабочие процессы ИИ на визуальном холсте, используя все нижеперечисленные функции и не только.
2. Комплексная поддержка моделей: Беспрепятственная интеграция с сотнями проприетарных и открытых LLM-моделей от десятков провайдеров вывода и самостоятельно размещаемых решений, включая GPT, Mistral, Llama3 и любые модели, совместимые с OpenAI API. Полный список поддерживаемых провайдеров моделей можно найти здесь.
3. Prompt IDE: Интуитивный интерфейс для создания промптов, сравнения производительности моделей и добавления дополнительных функций, таких как преобразование текста в речь для чат-приложений.
4. Конвейер RAG: Обширные возможности RAG, охватывающие всё от загрузки документов до поиска, с готовой поддержкой извлечения текста из PDF, PPT и других распространенных форматов документов.
5. Возможности агентов: Вы можете определять агентов на основе LLM Function Calling или ReAct и добавлять предустановленные или пользовательские инструменты для агента. Dify предоставляет более 50 встроенных инструментов для ИИ-агентов, таких как Google Search, DALL·E, Stable Diffusion и WolframAlpha.
6. LLMOps: Отслеживайте и анализируйте логи приложений и производительность с течением времени. Вы можете постоянно улучшать промпты, наборы данных и модели на основе производственных данных и аннотаций.
7. Backend-как-Сервис: Все предложения Dify поставляются с соответствующими API, поэтому вы можете легко интегрировать Dify в свою бизнес-логику.
Environment variables
View environment variables
- PROJECT
- dify
- DOMAIN
- stack.localhost
- CONSOLE_API_URL
- CONSOLE_WEB_URL
- SERVICE_API_URL
- APP_API_URL
- APP_WEB_URL
- FILES_URL
- LOG_LEVEL
- INFO
- LOG_FILE
- LOG_FILE_MAX_SIZE
- 20
- LOG_FILE_BACKUP_COUNT
- 5
- LOG_DATEFORMAT
- %Y-%m-%d %H:%M:%S
- LOG_TZ
- UTC
- DEBUG
- false
- FLASK_DEBUG
- false
- SECRET_KEY
- sk-9f73s3ljTXVcMT3Blb3ljTqtsKiGHXVcMT3BlbkFJLK7U
- INIT_PASSWORD
- DEPLOY_ENV
- PRODUCTION
- CHECK_UPDATE_URL
- https://updates.dify.ai
- OPENAI_API_BASE
- https://api.openai.com/v1
- MIGRATION_ENABLED
- true
- FILES_ACCESS_TIMEOUT
- 300
- ACCESS_TOKEN_EXPIRE_MINUTES
- 60
- APP_MAX_ACTIVE_REQUESTS
- 0
- DIFY_BIND_ADDRESS
- 0.0.0.0
- DIFY_PORT
- 5001
- SERVER_WORKER_AMOUNT
- SERVER_WORKER_CLASS
- CELERY_WORKER_CLASS
- GUNICORN_TIMEOUT
- 360
- CELERY_WORKER_AMOUNT
- CELERY_AUTO_SCALE
- false
- CELERY_MAX_WORKERS
- CELERY_MIN_WORKERS
- API_TOOL_DEFAULT_CONNECT_TIMEOUT
- 10
- API_TOOL_DEFAULT_READ_TIMEOUT
- 60
- DB_USERNAME
- postgres
- DB_PASSWORD
- difyai123456
- DB_HOST
- db
- DB_PORT
- 5432
- DB_DATABASE
- dify
- SQLALCHEMY_POOL_SIZE
- 30
- SQLALCHEMY_POOL_RECYCLE
- 3600
- SQLALCHEMY_ECHO
- false
- POSTGRES_MAX_CONNECTIONS
- 100
- POSTGRES_SHARED_BUFFERS
- 128MB
- POSTGRES_WORK_MEM
- 4MB
- POSTGRES_MAINTENANCE_WORK_MEM
- 64MB
- POSTGRES_EFFECTIVE_CACHE_SIZE
- 4096MB
- REDIS_HOST
- redis
- REDIS_PORT
- 6379
- REDIS_USERNAME
- REDIS_PASSWORD
- difyai123456
- REDIS_USE_SSL
- false
- REDIS_USE_SENTINEL
- false
- REDIS_SENTINELS
- REDIS_SENTINEL_SERVICE_NAME
- REDIS_SENTINEL_USERNAME
- REDIS_SENTINEL_PASSWORD
- REDIS_SENTINEL_SOCKET_TIMEOUT
- 0.1
- CELERY_BROKER_URL
- redis://:difyai123456@redis:6379/1
- BROKER_USE_SSL
- false
- CELERY_USE_SENTINEL
- false
- CELERY_SENTINEL_MASTER_NAME
- CELERY_SENTINEL_SOCKET_TIMEOUT
- 0.1
- WEB_API_CORS_ALLOW_ORIGINS
- *
- CONSOLE_CORS_ALLOW_ORIGINS
- *
- STORAGE_TYPE
- local
- STORAGE_LOCAL_PATH
- storage
- S3_USE_AWS_MANAGED_IAM
- false
- S3_ENDPOINT
- S3_REGION
- us-east-1
- S3_BUCKET_NAME
- difyai
- S3_ACCESS_KEY
- S3_SECRET_KEY
- AZURE_BLOB_ACCOUNT_NAME
- difyai
- AZURE_BLOB_ACCOUNT_KEY
- difyai
- AZURE_BLOB_CONTAINER_NAME
- difyai-container
- AZURE_BLOB_ACCOUNT_URL
- https://<your_account_name>.blob.core.windows.net
- GOOGLE_STORAGE_BUCKET_NAME
- your-bucket-name
- GOOGLE_STORAGE_SERVICE_ACCOUNT_JSON_BASE64
- your-google-service-account-json-base64-string
- ALIYUN_OSS_BUCKET_NAME
- your-bucket-name
- ALIYUN_OSS_ACCESS_KEY
- your-access-key
- ALIYUN_OSS_SECRET_KEY
- your-secret-key
- ALIYUN_OSS_ENDPOINT
- https://oss-ap-southeast-1-internal.aliyuncs.com
- ALIYUN_OSS_REGION
- ap-southeast-1
- ALIYUN_OSS_AUTH_VERSION
- v4
- ALIYUN_OSS_PATH
- your-path
- TENCENT_COS_BUCKET_NAME
- your-bucket-name
- TENCENT_COS_SECRET_KEY
- your-secret-key
- TENCENT_COS_SECRET_ID
- your-secret-id
- TENCENT_COS_REGION
- your-region
- TENCENT_COS_SCHEME
- your-scheme
- HUAWEI_OBS_BUCKET_NAME
- your-bucket-name
- HUAWEI_OBS_SECRET_KEY
- your-secret-key
- HUAWEI_OBS_ACCESS_KEY
- your-access-key
- HUAWEI_OBS_SERVER
- your-server-url
- VOLCENGINE_TOS_BUCKET_NAME
- your-bucket-name
- VOLCENGINE_TOS_SECRET_KEY
- your-secret-key
- VOLCENGINE_TOS_ACCESS_KEY
- your-access-key
- VOLCENGINE_TOS_ENDPOINT
- your-server-url
- VOLCENGINE_TOS_REGION
- your-region
- BAIDU_OBS_BUCKET_NAME
- your-bucket-name
- BAIDU_OBS_SECRET_KEY
- your-secret-key
- BAIDU_OBS_ACCESS_KEY
- your-access-key
- BAIDU_OBS_ENDPOINT
- your-server-url
- SUPABASE_BUCKET_NAME
- your-bucket-name
- SUPABASE_API_KEY
- your-access-key
- SUPABASE_URL
- your-server-url
- VECTOR_STORE
- weaviate
- WEAVIATE_ENDPOINT
- http://weaviate:8080
- WEAVIATE_API_KEY
- WVF5YThaHlkYwhGUSmCRgsX3tD5ngdN8pkih
- QDRANT_URL
- http://qdrant:6333
- QDRANT_API_KEY
- difyai123456
- QDRANT_CLIENT_TIMEOUT
- 20
- QDRANT_GRPC_ENABLED
- false
- QDRANT_GRPC_PORT
- 6334
- MILVUS_URI
- http://127.0.0.1:19530
- MILVUS_TOKEN
- MILVUS_USER
- root
- MILVUS_PASSWORD
- Milvus
- MYSCALE_HOST
- myscale
- MYSCALE_PORT
- 8123
- MYSCALE_USER
- default
- MYSCALE_PASSWORD
- MYSCALE_DATABASE
- dify
- MYSCALE_FTS_PARAMS
- COUCHBASE_CONNECTION_STRING
- couchbase://couchbase-server
- COUCHBASE_USER
- Administrator
- COUCHBASE_PASSWORD
- password
- COUCHBASE_BUCKET_NAME
- Embeddings
- COUCHBASE_SCOPE_NAME
- _default
- PGVECTOR_HOST
- pgvector
- PGVECTOR_PORT
- 5432
- PGVECTOR_USER
- postgres
- PGVECTOR_PASSWORD
- difyai123456
- PGVECTOR_DATABASE
- dify
- PGVECTOR_MIN_CONNECTION
- 1
- PGVECTOR_MAX_CONNECTION
- 5
- PGVECTO_RS_HOST
- pgvecto-rs
- PGVECTO_RS_PORT
- 5432
- PGVECTO_RS_USER
- postgres
- PGVECTO_RS_PASSWORD
- difyai123456
- PGVECTO_RS_DATABASE
- dify
- ANALYTICDB_KEY_ID
- your-ak
- ANALYTICDB_KEY_SECRET
- your-sk
- ANALYTICDB_REGION_ID
- cn-hangzhou
- ANALYTICDB_INSTANCE_ID
- gp-ab123456
- ANALYTICDB_ACCOUNT
- testaccount
- ANALYTICDB_PASSWORD
- testpassword
- ANALYTICDB_NAMESPACE
- dify
- ANALYTICDB_NAMESPACE_PASSWORD
- difypassword
- TIDB_VECTOR_HOST
- tidb
- TIDB_VECTOR_PORT
- 4000
- TIDB_VECTOR_USER
- xxx.root
- TIDB_VECTOR_PASSWORD
- xxxxxx
- TIDB_VECTOR_DATABASE
- dify
- TIDB_ON_QDRANT_URL
- http://127.0.0.1
- TIDB_ON_QDRANT_API_KEY
- dify
- TIDB_ON_QDRANT_CLIENT_TIMEOUT
- 20
- TIDB_ON_QDRANT_GRPC_ENABLED
- false
- TIDB_ON_QDRANT_GRPC_PORT
- 6334
- TIDB_PUBLIC_KEY
- dify
- TIDB_PRIVATE_KEY
- dify
- TIDB_API_URL
- http://127.0.0.1
- TIDB_IAM_API_URL
- http://127.0.0.1
- TIDB_REGION
- regions/aws-us-east-1
- TIDB_PROJECT_ID
- dify
- TIDB_SPEND_LIMIT
- 100
- CHROMA_HOST
- 127.0.0.1
- CHROMA_PORT
- 8000
- CHROMA_TENANT
- default_tenant
- CHROMA_DATABASE
- default_database
- CHROMA_AUTH_PROVIDER
- chromadb.auth.token_authn.TokenAuthClientProvider
- CHROMA_AUTH_CREDENTIALS
- xxxxxx
- ORACLE_HOST
- oracle
- ORACLE_PORT
- 1521
- ORACLE_USER
- dify
- ORACLE_PASSWORD
- dify
- ORACLE_DATABASE
- FREEPDB1
- RELYT_HOST
- db
- RELYT_PORT
- 5432
- RELYT_USER
- postgres
- RELYT_PASSWORD
- difyai123456
- RELYT_DATABASE
- postgres
- OPENSEARCH_HOST
- opensearch
- OPENSEARCH_PORT
- 9200
- OPENSEARCH_USER
- admin
- OPENSEARCH_PASSWORD
- admin
- OPENSEARCH_SECURE
- true
- TENCENT_VECTOR_DB_URL
- http://127.0.0.1
- TENCENT_VECTOR_DB_API_KEY
- dify
- TENCENT_VECTOR_DB_TIMEOUT
- 30
- TENCENT_VECTOR_DB_USERNAME
- dify
- TENCENT_VECTOR_DB_DATABASE
- dify
- TENCENT_VECTOR_DB_SHARD
- 1
- TENCENT_VECTOR_DB_REPLICAS
- 2
- ELASTICSEARCH_HOST
- 0.0.0.0
- ELASTICSEARCH_PORT
- 9200
- ELASTICSEARCH_USERNAME
- elastic
- ELASTICSEARCH_PASSWORD
- elastic
- BAIDU_VECTOR_DB_ENDPOINT
- http://127.0.0.1:5287
- BAIDU_VECTOR_DB_CONNECTION_TIMEOUT_MS
- 30000
- BAIDU_VECTOR_DB_ACCOUNT
- root
- BAIDU_VECTOR_DB_API_KEY
- dify
- BAIDU_VECTOR_DB_DATABASE
- dify
- BAIDU_VECTOR_DB_SHARD
- 1
- BAIDU_VECTOR_DB_REPLICAS
- 3
- VIKINGDB_ACCESS_KEY
- your-ak
- VIKINGDB_SECRET_KEY
- your-sk
- VIKINGDB_REGION
- cn-shanghai
- VIKINGDB_HOST
- api-vikingdb.xxx.volces.com
- VIKINGDB_SCHEMA
- http
- VIKINGDB_CONNECTION_TIMEOUT
- 30
- VIKINGDB_SOCKET_TIMEOUT
- 30
- LINDORM_URL
- http://ld-***************-proxy-search-pub.lindorm.aliyuncs.com:30070
- LINDORM_USERNAME
- username
- LINDORM_PASSWORD
- password
- OCEANBASE_VECTOR_HOST
- oceanbase
- OCEANBASE_VECTOR_PORT
- 2881
- OCEANBASE_VECTOR_USER
- root@test
- OCEANBASE_VECTOR_PASSWORD
- difyai123456
- OCEANBASE_VECTOR_DATABASE
- test
- OCEANBASE_MEMORY_LIMIT
- 6G
- UPLOAD_FILE_SIZE_LIMIT
- 15
- UPLOAD_FILE_BATCH_LIMIT
- 5
- ETL_TYPE
- dify
- UNSTRUCTURED_API_URL
- PROMPT_GENERATION_MAX_TOKENS
- 512
- CODE_GENERATION_MAX_TOKENS
- 1024
- MULTIMODAL_SEND_IMAGE_FORMAT
- base64
- MULTIMODAL_SEND_VIDEO_FORMAT
- base64
- UPLOAD_IMAGE_FILE_SIZE_LIMIT
- 10
- UPLOAD_VIDEO_FILE_SIZE_LIMIT
- 100
- UPLOAD_AUDIO_FILE_SIZE_LIMIT
- 50
- API_SENTRY_DSN
- API_SENTRY_TRACES_SAMPLE_RATE
- 1.0
- API_SENTRY_PROFILES_SAMPLE_RATE
- 1.0
- WEB_SENTRY_DSN
- NOTION_INTEGRATION_TYPE
- public
- NOTION_CLIENT_SECRET
- NOTION_CLIENT_ID
- NOTION_INTERNAL_SECRET
- MAIL_TYPE
- resend
- MAIL_DEFAULT_SEND_FROM
- RESEND_API_KEY
- your-resend-api-key
- SMTP_SERVER
- SMTP_PORT
- 465
- SMTP_USERNAME
- SMTP_PASSWORD
- SMTP_USE_TLS
- true
- SMTP_OPPORTUNISTIC_TLS
- false
- INDEXING_MAX_SEGMENTATION_TOKENS_LENGTH
- 1000
- INVITE_EXPIRY_HOURS
- 72
- RESET_PASSWORD_TOKEN_EXPIRY_MINUTES
- 5
- CODE_EXECUTION_ENDPOINT
- http://sandbox:8194
- CODE_MAX_NUMBER
- 9223372036854775807
- CODE_MIN_NUMBER
- -9223372036854775808
- CODE_MAX_DEPTH
- 5
- CODE_MAX_PRECISION
- 20
- CODE_MAX_STRING_LENGTH
- 80000
- TEMPLATE_TRANSFORM_MAX_LENGTH
- 80000
- CODE_MAX_STRING_ARRAY_LENGTH
- 30
- CODE_MAX_OBJECT_ARRAY_LENGTH
- 30
- CODE_MAX_NUMBER_ARRAY_LENGTH
- 1000
- WORKFLOW_MAX_EXECUTION_STEPS
- 500
- WORKFLOW_MAX_EXECUTION_TIME
- 1200
- WORKFLOW_CALL_MAX_DEPTH
- 5
- MAX_VARIABLE_SIZE
- 204800
- WORKFLOW_FILE_UPLOAD_LIMIT
- 10
- HTTP_REQUEST_NODE_MAX_BINARY_SIZE
- 10485760
- HTTP_REQUEST_NODE_MAX_TEXT_SIZE
- 1048576
- SSRF_PROXY_HTTP_URL
- http://ssrf_proxy:3128
- SSRF_PROXY_HTTPS_URL
- http://ssrf_proxy:3128
- TEXT_GENERATION_TIMEOUT_MS
- 60000
- PGUSER
- ${DB_USERNAME}
- POSTGRES_PASSWORD
- ${DB_PASSWORD}
- POSTGRES_DB
- ${DB_DATABASE}
- PGDATA
- /var/lib/postgresql/data/pgdata
- SANDBOX_API_KEY
- dify-sandbox
- SANDBOX_GIN_MODE
- release
- SANDBOX_WORKER_TIMEOUT
- 15
- SANDBOX_ENABLE_NETWORK
- true
- SANDBOX_HTTP_PROXY
- http://ssrf_proxy:3128
- SANDBOX_HTTPS_PROXY
- http://ssrf_proxy:3128
- SANDBOX_PORT
- 8194
- WEAVIATE_PERSISTENCE_DATA_PATH
- /var/lib/weaviate
- WEAVIATE_QUERY_DEFAULTS_LIMIT
- 25
- WEAVIATE_AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED
- true
- WEAVIATE_DEFAULT_VECTORIZER_MODULE
- none
- WEAVIATE_CLUSTER_HOSTNAME
- node1
- WEAVIATE_AUTHENTICATION_APIKEY_ENABLED
- true
- WEAVIATE_AUTHENTICATION_APIKEY_ALLOWED_KEYS
- WVF5YThaHlkYwhGUSmCRgsX3tD5ngdN8pkih
- WEAVIATE_AUTHENTICATION_APIKEY_USERS
- hello@dify.ai
- WEAVIATE_AUTHORIZATION_ADMINLIST_ENABLED
- true
- WEAVIATE_AUTHORIZATION_ADMINLIST_USERS
- hello@dify.ai
- CHROMA_SERVER_AUTHN_CREDENTIALS
- difyai123456
- CHROMA_SERVER_AUTHN_PROVIDER
- chromadb.auth.token_authn.TokenAuthenticationServerProvider
- CHROMA_IS_PERSISTENT
- TRUE
- ORACLE_PWD
- Dify123456
- ORACLE_CHARACTERSET
- AL32UTF8
- ETCD_AUTO_COMPACTION_MODE
- revision
- ETCD_AUTO_COMPACTION_RETENTION
- 1000
- ETCD_QUOTA_BACKEND_BYTES
- 4294967296
- ETCD_SNAPSHOT_COUNT
- 50000
- MINIO_ACCESS_KEY
- minioadmin
- MINIO_SECRET_KEY
- minioadmin
- ETCD_ENDPOINTS
- etcd:2379
- MINIO_ADDRESS
- minio:9000
- MILVUS_AUTHORIZATION_ENABLED
- true
- PGVECTOR_PGUSER
- postgres
- PGVECTOR_POSTGRES_PASSWORD
- difyai123456
- PGVECTOR_POSTGRES_DB
- dify
- PGVECTOR_PGDATA
- /var/lib/postgresql/data/pgdata
- OPENSEARCH_DISCOVERY_TYPE
- single-node
- OPENSEARCH_BOOTSTRAP_MEMORY_LOCK
- true
- OPENSEARCH_JAVA_OPTS_MIN
- 512m
- OPENSEARCH_JAVA_OPTS_MAX
- 1024m
- OPENSEARCH_INITIAL_ADMIN_PASSWORD
- Qazwsxedc!@#123
- OPENSEARCH_MEMLOCK_SOFT
- -1
- OPENSEARCH_MEMLOCK_HARD
- -1
- OPENSEARCH_NOFILE_SOFT
- 65536
- OPENSEARCH_NOFILE_HARD
- 65536
- NGINX_SERVER_NAME
- _
- NGINX_HTTPS_ENABLED
- false
- NGINX_PORT
- 80
- NGINX_SSL_PORT
- 443
- NGINX_SSL_CERT_FILENAME
- dify.crt
- NGINX_SSL_CERT_KEY_FILENAME
- dify.key
- NGINX_SSL_PROTOCOLS
- TLSv1.1 TLSv1.2 TLSv1.3
- NGINX_WORKER_PROCESSES
- auto
- NGINX_CLIENT_MAX_BODY_SIZE
- 15M
- NGINX_KEEPALIVE_TIMEOUT
- 65
- NGINX_PROXY_READ_TIMEOUT
- 3600s
- NGINX_PROXY_SEND_TIMEOUT
- 3600s
- NGINX_ENABLE_CERTBOT_CHALLENGE
- false
- CERTBOT_EMAIL
- your_email@example.com
- CERTBOT_DOMAIN
- your_domain.com
- CERTBOT_OPTIONS
- SSRF_HTTP_PORT
- 3128
- SSRF_COREDUMP_DIR
- /var/spool/squid
- SSRF_REVERSE_PROXY_PORT
- 8194
- SSRF_SANDBOX_HOST
- sandbox
- COMPOSE_PROFILES
- ${VECTOR_STORE:-weaviate}
- EXPOSE_NGINX_PORT
- EXPOSE_NGINX_SSL_PORT
- POSITION_TOOL_PINS
- POSITION_TOOL_INCLUDES
- POSITION_TOOL_EXCLUDES
- POSITION_PROVIDER_PINS
- POSITION_PROVIDER_INCLUDES
- POSITION_PROVIDER_EXCLUDES
- CSP_WHITELIST
- CREATE_TIDB_SERVICE_JOB_ENABLED
- false