当前位置: 首页 > news >正文

【RAGFlow代码详解-5】配置系统

配置架构概述

RAGFlow 的配置系统通过多层运行,为不同的部署场景和运行时要求提供了灵活性。
在这里插入图片描述

服务配置系统

主配置在 service_conf.yaml 中定义,它为所有核心服务及其连接参数提供结构化设置。

核心服务配置结构

在这里插入图片描述

配置部分目的按键设置
ragflow核心服务设置主机 , http_port
mysql/postgres数据库连接主机 、 端口 、 用户 、 密码 、 名称
minio/s3/ 作系统 /azure对象存储连接凭据和终结点
ES/ 作系统 / 无穷大搜索引擎主机、身份验证、数据库名称
redis缓存和任务队列主机、端口、数据库、密码
user_default_llmLLM 提供程序默认值工厂 、api_key、base_url、default_models
oauth身份验证提供程序特定于提供程序的 OAuth/OIDC 设置
smtp电子邮件配置通知的邮件服务器设置

全局设置系统

api/settings.py 中的全局设置系统管理运行时配置,并通过模块级变量提供对所有配置参数的集中访问。

配置加载过程

在这里插入图片描述

关键全局配置变量
变量类别关键变量目的
LLM 配置CHAT_MDL、EMBEDDING_MDL、RERANK_MDL默认模型标识符
认证OAUTH_CONFIG、CLIENT_AUTHENTICATIONOAuth 提供程序设置
数据库DATABASE_TYPE、 数据库数据库连接配置
文档引擎DOC_ENGINE,docStoreConn搜索后端选择
安全SECRET_KEY、API_KEY加密和 API 密钥
注册REGISTER_ENABLED用户注册控制
电子邮件SMTP_CONF、MAIL_SERVER电子邮件服务配置

环境配置

环境变量提供特定于部署的覆盖,并通过 service_conf.yaml.template 中的模板替换在 Docker 部署中广泛使用。

环境变量类别

在这里插入图片描述

关键环境变量
变量违约目的
DB_TYPEmysql数据库后端选择
DOC_ENGINEelasticsearch搜索引擎后端选择
STORAGE_IMPLMINIO对象存储实现
REGISTER_ENABLED1用户注册控制
LIGHTEN0轻量级模式切换
RAGFLOW_SECRET_KEY自动生成应用程序加密密钥

存储后端配置

存储系统通过工厂模式支持多个后端,允许根据配置进行运行时选择。

存储后端选择

在这里插入图片描述

存储配置示例

后端配置部分关键参数
最小值minio 用户 、 密码 、 主机
AWS S3s3access_key、secret_key、 区域 、 存储桶
阿里巴巴 OSSossaccess_key、secret_key、endpoint_url、区域
Azure SASazureauth_type:SAS、container_url、sas_token
Azure SPNazureauth_type:spn、client_id、secret、tenant_id
开放 DALopendalscheme, 配置对象

身份验证配置

认证系统通过统一的配置接口支持多个 OAuth 和 OIDC 提供程序。

身份验证提供程序配置

在这里插入图片描述

OAuth 提供程序配置结构

提供程序类型必填字段自动发现
oauth2client_id、client_secret、authorization_url、token_url userinfo_url没有
oidcclient_id、client_secret、 发行人自动过孔 /.well-known/openid-configuration
githubclient_id、client_secret内置 GitHub 终结点

LLM 提供程序配置

LLM 配置系统支持多个 AI 提供商,具有灵活的模型选择和每个模型的配置覆盖。

LLM 配置结构

在这里插入图片描述

模型配置解析

系统通过分层方法解析模型配置:

  • 特定于模型的配置 - 单个模型设置覆盖全局设置

  • 全局 LLM 配置 - user_default_llm 的提供程序级默认值

  • 系统默认值 - 内置回退模型,如 BUILTIN_EMBEDDING_MODELS

    配置级别目的
    特定于型号{“name”: “gpt-4”, “api_key”: “sk-xxx”, “factory”: “OpenAI”}特定模型的覆盖
    全球{“factory”: “OpenAI”, “api_key”: “sk-yyy”, “base_url”: “https://api.openai.com”}提供程序默认值
    系统BUILTIN_EMBEDDING_MODELS = [“BAAI/bge-large-zh-v1.5@BAAI”]回退模型

配置加载和初始化

配置系统通过建立所有服务连接并验证配置完整性的协调过程进行初始化。

初始化序列

在这里插入图片描述

配置验证和错误处理

系统在初始化期间执行多个验证步骤:

  • 数据库连接 - 测试数据库连接并处理解密
  • 存储后端验证 - 验证存储服务的可访问性
  • LLM 提供程序验证 - 验证 API 密钥和终结点
  • 身份验证提供程序验证 - 测试 OAuth 提供程序连接

严重配置故障会导致应用程序启动失败,而非严重故障(如 SMTP 配置)允许应用程序在功能减少的情况下启动。

http://www.dtcms.com/a/349661.html

相关文章:

  • 基于深度学习的翻拍照片去摩尔纹在线系统设计与实现
  • UE5 HoudiniPivotPainter1.0使用
  • NFC 滤波网络设计考虑
  • 车载通信架构---通过CANoe做 SOME/IP 模拟的配置例如
  • 库存指标怎么算?一文讲清3大库存分析指标
  • 大数据治理域——离线数据开发
  • 小白成长之路-k8s部署项目(二)
  • Legion Y7000P IRX9 DriveList
  • 【数据可视化-100】使用 Pyecharts 绘制人口迁徙图:步骤与数据组织形式
  • 程序设计---状态机
  • KVM 虚拟化技术与部署
  • ZKmall开源商城多端兼容实践:鸿蒙、iOS、安卓全平台适配的技术路径
  • 朴素贝叶斯学习笔记
  • Selenium框架Java实践截图服务
  • 面向过程与面向对象
  • 了解检验和
  • 四,设计模式-原型模式
  • 设计模式5-代理模式
  • 无锁队列的设计与实现
  • jdbc相关内容
  • 基于TimeMixer的帕金森语音分类:WAV音频输入与训练全流程
  • 基于开源 AI 智能名片链动 2+1 模式 S2B2C 商城小程序的新开非连锁品牌店开业引流策略研究
  • 云计算之中间件与数据库
  • 蜂窝物联网模组在冷链运输行业的应用价值
  • 盲盒经济新风口:盲盒抽谷机小程序系统开发全解析
  • 审核问题——首次进入APP展示隐私政策弹窗
  • JavaWeb(八)EL表达式,JSTL标签
  • 阿里云短信验证码服务
  • 奔赴少年CIIU携专辑《我们的出发》正式出道 与J.Y. Park同台首秀备受关注
  • 基于SpringBoot的招聘管理系统【2026最新】