app_config参数说明.md 9.6 KB

app_config.py 参数配置说明

一、核心架构配置

1. 模型提供商选择

LLM模型提供商

  • LLM_MODEL_TYPE: 选择大语言模型的提供商类型
    • 可选值:"api""ollama"
    • 默认值:"api"
    • 样例值:"api"
    • 依赖关系:
    • 当选择 "api" 时,必须设置 API_LLM_MODEL
    • 当选择 "ollama" 时,将使用 OLLAMA_LLM_CONFIG 配置

Embedding模型提供商

  • EMBEDDING_MODEL_TYPE: 选择嵌入模型的提供商类型
    • 可选值:"api""ollama"
    • 默认值:"ollama"
    • 样例值:"ollama"
    • 依赖关系:
    • 当选择 "api" 时,使用 API_EMBEDDING_CONFIG
    • 当选择 "ollama" 时,使用 OLLAMA_EMBEDDING_CONFIG

API模型选择

  • API_LLM_MODEL: 当 LLM_MODEL_TYPE="api" 时使用的模型
    • 可选值:"qianwen""deepseek"
    • 默认值:"deepseek"
    • 样例值:"deepseek"
    • 依赖关系:
    • 当选择 "qianwen" 时,使用 API_QIANWEN_CONFIG
    • 当选择 "deepseek" 时,使用 API_DEEPSEEK_CONFIG

向量数据库选择

  • VECTOR_DB_TYPE: 选择向量数据库类型
    • 可选值:"chromadb""pgvector"
    • 默认值:"pgvector"
    • 样例值:"pgvector"
    • 依赖关系:
    • 当选择 "chromadb" 时,使用本地文件存储
    • 当选择 "pgvector" 时,使用 PGVECTOR_CONFIG 配置

二、模型配置

1. API模型配置

DeepSeek模型配置 (API_DEEPSEEK_CONFIG)

  • api_key: DeepSeek API密钥(从环境变量 DEEPSEEK_API_KEY 读取)
    • 样例值:"sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
  • model: 模型版本
    • 可选值:"deepseek-reasoner""deepseek-chat"
    • 默认值:"deepseek-reasoner"
    • 样例值:"deepseek-reasoner"
  • allow_llm_to_see_data: 是否允许模型查看数据
    • 可选值:TrueFalse
    • 默认值:True
    • 样例值:True
  • temperature: 温度参数,控制创造性
    • 取值范围:0.01.0
    • 默认值:0.6
    • 样例值:0.6
  • n_results: 返回结果数量
    • 默认值:6
    • 样例值:6
  • language: 语言设置
    • 默认值:"Chinese"
    • 样例值:"Chinese"
  • stream: 是否使用流式输出
    • 可选值:TrueFalse
    • 默认值:True
    • 样例值:True
  • enable_thinking: 是否启用思考功能(需要 stream=True
    • 可选值:TrueFalse
    • 默认值:True
    • 样例值:True

千问模型配置 (API_QIANWEN_CONFIG)

  • api_key: 千问API密钥(从环境变量 QWEN_API_KEY 读取)
    • 样例值:"sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
  • model: 模型版本
    • 可选值:"qwen3-235b-a22b", "qwen3-30b-a3b", "qwen-plus-latest", "qwen-plus"
    • 默认值:"qwen3-235b-a22b"
    • 样例值:"qwen3-235b-a22b"
  • allow_llm_to_see_data: 是否允许模型查看数据
    • 可选值:TrueFalse
    • 默认值:True
    • 样例值:True
  • temperature: 温度参数
    • 取值范围:0.01.0
    • 默认值:0.7
    • 样例值:0.7
  • n_results: 返回结果数量
    • 默认值:6
    • 样例值:6
  • language: 语言设置
    • 默认值:"Chinese"
    • 样例值:"Chinese"
  • stream: 是否使用流式输出
    • 可选值:TrueFalse
    • 默认值:True
    • 样例值:True
  • enable_thinking: 是否启用思考功能(需要 stream=True
    • 可选值:TrueFalse
    • 默认值:True
    • 样例值:True

2. Ollama模型配置

Ollama LLM配置 (OLLAMA_LLM_CONFIG)

  • base_url: Ollama服务地址
    • 默认值:"http://192.168.3.204:11434"
    • 样例值:"http://localhost:11434"
  • model: Ollama模型名称
    • 示例:"qwen3:32b", "deepseek-r1:32b"
    • 样例值:"qwen3:32b"
  • allow_llm_to_see_data: 是否允许模型查看数据
    • 可选值:TrueFalse
    • 默认值:True
    • 样例值:True
  • temperature: 温度参数
    • 取值范围:0.01.0
    • 默认值:0.7
    • 样例值:0.7
  • n_results: 返回结果数量
    • 默认值:6
    • 样例值:6
  • language: 语言设置
    • 默认值:"Chinese"
    • 样例值:"Chinese"
  • timeout: 超时时间(秒)
    • 默认值:60
    • 样例值:60
  • stream: 是否使用流式输出
    • 可选值:TrueFalse
    • 默认值:True
    • 样例值:True
  • enable_thinking: 是否启用思考功能
    • 可选值:TrueFalse
    • 默认值:True
    • 样例值:True
  • num_ctx: 上下文长度(可选)
    • 默认值:4096
    • 样例值:4096
  • num_predict: 预测token数量(可选)
    • 默认值:-1(无限制)
    • 样例值:-1
  • repeat_penalty: 重复惩罚(可选)
    • 默认值:1.1
    • 样例值:1.1
  • auto_check_connection: 是否自动检查连接(可选)
    • 可选值:TrueFalse
    • 默认值:True
    • 样例值:True

Ollama Embedding配置 (OLLAMA_EMBEDDING_CONFIG)

  • base_url: Ollama服务地址
    • 默认值:"http://192.168.3.204:11434"
    • 样例值:"http://localhost:11434"
  • model_name: Embedding模型名称
    • 默认值:"bge-m3:567m"
    • 样例值:"bge-m3:567m"
  • embedding_dimension: 向量维度
    • 默认值:1024
    • 样例值:1024

3. API Embedding配置 (API_EMBEDDING_CONFIG)

  • model_name: 模型名称
    • 可选值:"BAAI/bge-m3", "text-embedding-v4"
    • 样例值:"BAAI/bge-m3"
  • api_key: API密钥(从环境变量 EMBEDDING_API_KEY 读取)
    • 样例值:"sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
  • base_url: API基础URL(从环境变量 EMBEDDING_BASE_URL 读取)
    • 样例值:"https://api.example.com/v1"
  • embedding_dimension: 向量维度
    • 默认值:1024
    • 样例值:1024

三、数据库配置

1. 业务数据库配置 (APP_DB_CONFIG)

  • host: 数据库主机地址
    • 样例值:"192.168.67.1"
  • port: 数据库端口
    • 样例值:5432
  • dbname: 数据库名称
    • 样例值:"bank_db"
  • user: 用户名(从环境变量 APP_DB_USER 读取)
    • 样例值:"postgres"
  • password: 密码(从环境变量 APP_DB_PASSWORD 读取)
    • 样例值:"your_password"

2. 向量数据库配置

PgVector配置 (PGVECTOR_CONFIG)

  • host: 数据库主机地址
    • 样例值:"192.168.67.1"
  • port: 数据库端口
    • 样例值:5432
  • dbname: 数据库名称
    • 样例值:"pgvector_db"
  • user: 用户名(从环境变量 PGVECTOR_DB_USER 读取)
    • 样例值:"postgres"
  • password: 密码(从环境变量 PGVECTOR_DB_PASSWORD 读取)
    • 样例值:"your_password"

四、训练配置

1. 批处理配置

  • TRAINING_BATCH_PROCESSING_ENABLED: 是否启用训练数据批处理
    • 可选值:TrueFalse
    • 默认值:True
    • 样例值:True
  • TRAINING_BATCH_SIZE: 每批处理的训练项目数量
    • 默认值:10
    • 样例值:10
  • TRAINING_MAX_WORKERS: 训练批处理的最大工作线程数
    • 默认值:4
    • 样例值:4

2. 训练数据路径

  • TRAINING_DATA_PATH: 训练数据存放路径
    • 默认值:"./training/data"
    • 样例值:"./training/data"
    • 支持格式:
    • 相对路径(以 . 开头):"./training/data", "../data"
    • 绝对路径:"/home/user/data", "C:/data", "D:\\training\\data"
    • 相对路径(不以 . 开头):"training/data", "my_data"

五、功能开关

1. 问题重写

  • REWRITE_QUESTION_ENABLED: 是否启用问题重写功能
    • 可选值:TrueFalse
    • 默认值:False
    • 样例值:False
    • 功能:将上下文问题合并优化

2. 结果摘要生成

  • ENABLE_RESULT_SUMMARY: 是否启用数据库查询结果摘要生成
    • 可选值:TrueFalse
    • 默认值:True
    • 样例值:True
    • 功能:控制是否为数据库查询结果生成自然语言摘要。禁用时可节省LLM调用,仅影响数据库查询,不影响一般聊天

3. 思考过程显示

  • DISPLAY_RESULT_THINKING: 是否在返回结果中显示思考过程
    • 可选值:TrueFalse
    • 默认值:False
    • 样例值:False
    • 功能:控制是否显示 <think></think> 标签内容

4. SQL错误修正

  • ENABLE_ERROR_SQL_PROMPT: 是否启用SQL错误修正提示
    • 可选值:TrueFalse
    • 默认值:True
    • 样例值:True

六、向量查询配置

1. 得分阈值过滤

  • ENABLE_RESULT_VECTOR_SCORE_THRESHOLD: 是否启用向量查询结果得分阈值过滤
    • 可选值:TrueFalse
    • 默认值:True
    • 样例值:True
    • 功能:根据相似度得分过滤查询结果

2. 阈值设置

  • RESULT_VECTOR_SQL_SCORE_THRESHOLD: SQL相关查询阈值
    • 取值范围:0.01.0
    • 默认值:0.65
    • 样例值:0.65
  • RESULT_VECTOR_DDL_SCORE_THRESHOLD: 数据定义语言阈值
    • 取值范围:0.01.0
    • 默认值:0.5
    • 样例值:0.5
  • RESULT_VECTOR_DOC_SCORE_THRESHOLD: 文档查询阈值
    • 取值范围:0.01.0
    • 默认值:0.5
    • 样例值:0.5
  • RESULT_VECTOR_ERROR_SQL_SCORE_THRESHOLD: 错误SQL修正阈值
    • 取值范围:0.01.0
    • 默认值:0.8
    • 样例值:0.8

3. 返回结果限制

  • API_MAX_RETURN_ROWS: 接口返回查询记录的最大行数
    • 默认值:1000
    • 样例值:1000