菜单

配置选项

相关源文件

本页面提供了 RAGFlow 中所有可用配置设置的全面指南,包括环境变量、服务配置和运行时选项。这些设置控制着从基本系统参数到与外部服务的高级集成的所有内容。

有关部署程序的信息,请参阅 Docker 部署。有关 API 配置的详细信息,请参阅 HTTP API

配置架构概述

RAGFlow 的配置系统通过多个层级运行,每个层级在部署和运行时生命周期中都承担着特定的功能。

来源:docker/.env1-184 docker/service_conf.yaml.template1-111 api/settings.py97-177

Docker 环境变量

Docker 环境变量在 docker/.env1-184 中定义,并控制着基本的系统行为。这些变量在容器启动时使用,并会被替换到服务配置模板中。

核心系统设置

可变默认值描述
DOC_ENGINEelasticsearch文档存储引擎(elasticsearchinfinityopensearch
COMPOSE_PROFILES${DOC_ENGINE}要激活的 Docker compose 配置文件
RAGFLOW_IMAGEinfiniflow/ragflow:v0.19.0-slimRAGFlow Docker 镜像版本
SVR_HTTP_PORT9380RAGFlow API 的外部 HTTP 端口
TIMEZONE'Asia/Shanghai'系统时区

数据库配置

可变默认值描述
MYSQL_PASSWORDinfini_rag_flowMySQL root 密码
MYSQL_HOSTmysqlMySQL 主机名
MYSQL_DBNAMErag_flowMySQL 数据库名称
MYSQL_PORT5455外部 MySQL 端口

存储配置

可变默认值描述
MINIO_USERrag_flowMinIO 用户名
MINIO_PASSWORDinfini_rag_flowMinIO 密码
MINIO_HOSTminioMinIO 主机名
MINIO_PORT9000外部 MinIO API 端口
MINIO_CONSOLE_PORT9001外部 MinIO 控制台端口

搜索引擎配置

可变默认值描述
ELASTIC_PASSWORDinfini_rag_flowElasticsearch 密码
ES_HOSTes01Elasticsearch 主机名
ES_PORT1200外部 Elasticsearch 端口
INFINITY_HOSTinfinityInfinity DB 主机名
INFINITY_HTTP_PORT23820Infinity HTTP 端口

高级设置

可变默认值描述
REGISTER_ENABLED1启用用户注册(1=启用,0=禁用)
MAX_CONTENT_LENGTH1073741824最大文件上传大小(字节)
HF_ENDPOINT-Hugging Face 镜像端点(可选)
LOG_LEVELS-特定模块的自定义日志级别

来源:docker/.env1-184 docker/README.md22-185

服务配置模板

服务配置是在容器启动期间从 docker/service_conf.yaml.template1-111 生成的,其中环境变量会被替换,生成最终的 service_conf.yaml 文件。

数据库服务配置

存储服务配置

搜索引擎配置

来源:docker/service_conf.yaml.template1-111 conf/service_conf.yaml1-99

LLM 提供商配置

LLM 配置通过 user_default_llm 部分处理,并由 api/settings.py102-134 进行处理。

默认 LLM 配置

支持的 LLM 工厂

工厂提供商配置
OpenAIOpenAI需要 api_key
DeepSeekDeepSeek需要 api_key
MoonshotMoonshot AI需要 api_key
Tongyi-Qianwen阿里巴巴云需要 api_key
VolcEngine字节跳动需要 api_key
ZHIPU-AI智谱 AI需要 api_key

模型配置处理

系统会自动将工厂名称附加到 api/settings.py128-134 中的模型配置。

来源:api/settings.py102-134 docker/service_conf.yaml.template67-76 api/apps/user_app.py138-148

认证配置

RAGFlow 支持多种文件管理存储后端,这些存储后端通过服务配置中的专用部分进行配置。

OAuth/OIDC 配置

OAuth 提供商配置

客户端身份验证

来源:docker/service_conf.yaml.template77-99 api/apps/auth/__init__.py22-26 api/apps/user_app.py138-148

存储配置

RAGFlow 支持多种存储后端进行文件管理,这些存储后端通过服务配置中的专用部分进行配置。

MinIO 配置(默认)

S3 配置

阿里云 OSS 配置

Azure Blob 存储配置

来源:docker/service_conf.yaml.template40-66 docker/README.md134-156

数据库引擎配置

RAGFlow 支持多种文档存储引擎,这些引擎通过 DOC_ENGINE 环境变量和相应的服务部分进行配置。

文档引擎选择

引擎配置节描述
elasticsearches默认搜索引擎
infinityinfinity高性能向量数据库
opensearchosOpenSearch 兼容性

引擎初始化流程

文档引擎在 api/settings.py158-172 中进行初始化。

Elasticsearch 配置

Infinity 配置

OpenSearch 配置

来源:api/settings.py158-172 docker/service_conf.yaml.template16-26

运行时设置和安全性

运行时设置通过 api/settings.py77-95 进行管理,并且包含安全关键的配置。

密钥管理

运行时配置变量

可变默认描述
LIGHTEN0轻量模式(不包含嵌入模型)
REGISTER_ENABLED1用户注册开关
SANDBOX_ENABLED0代码执行沙盒开关
BUILTIN_EMBEDDING_MODELS预定义列表内置嵌入模型

日志配置

可以通过 LOG_LEVELS 环境变量配置自定义日志级别

沙盒配置

来源: api/settings.py77-95 docker/.env154-174

配置加载与初始化

配置加载过程涉及多个阶段,从环境变量解析到运行时初始化。

关键初始化函数

功能位置目的
init_settings()api/settings.py97-177主要配置初始化
get_base_config()api/utils27从YAML加载配置
get_or_create_secret_key()api/settings.py77-95安全密钥管理

配置处理

  1. 环境变量:从 docker/.env1-184 加载。
  2. 模板处理:变量已在 docker/service_conf.yaml.template1-111 中进行了替换。
  3. 运行时加载:配置通过 api/settings.py102 中的 get_base_config() 加载。
  4. 对象初始化:数据库连接和检索器在 api/settings.py158-172 中创建。

来源: api/settings.py97-177 api/apps/__init__.py132-146 docker/service_conf.yaml.template1-111