本地 RAG 知识库
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

113 lines
4.2 KiB

# ================================================================
# Support Bot - AI智能客服系统 通用配置
# ================================================================
# 本文件仅保留所有环境共享的通用配置。
# 环境差异化的配置(端口、数据库连接、日志级别、API 文档开关等)
# 已拆分到 application-dev.yml / application-test.yml / application-prod.yml。
# 打包时通过 Maven Profile 选择目标环境:mvn clean package -P test / -P prod
# ================================================================
spring:
# ==================== Spring AI Alibaba DashScope 配置 ====================
# 模型名称、温度、API Key 等参数已迁移到前端「AI 大模型配置管理」页面管理
ai:
dashscope:
# 关闭 DashScope 自动配置:所有 ChatModel/EmbeddingModel 由
# ChatModelFactory / EmbeddingModelFactory 按 DB(ai_model_config 表) 手动构建
enabled: false
# ==================== 连接池通用配置 ====================
# 具体的数据源 url/username/password 在各环境 yml 中配置
datasource:
driver-class-name: org.postgresql.Driver
hikari:
maximum-pool-size: 10
minimum-idle: 5
idle-timeout: 300000
connection-timeout: 20000
# ==================== 文件上传大小限制 ====================
servlet:
multipart:
max-file-size: 50MB
max-request-size: 50MB
# ==================== MyBatis Plus 配置 ====================
mybatis-plus:
type-aliases-package: com.wok.supportbot.entity
mapper-locations: classpath*:mapper/**/*.xml
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
map-underscore-to-camel-case: true
global-config:
db-config:
logic-delete-field: isDelete
logic-delete-value: true
logic-not-delete-value: false
id-type: assign_id
# ==================== 知识库文档处理配置 ====================
knowledge:
chunk:
chunk-size: 200
overlap: 100
min-chunk-size-chars: 10
max-num-chunks: 5000
keep-separator: true
vector:
# 向量维度,需与 Embedding 模型输出维度一致
# 千问 text-embedding-v2: 1024 | 豆包 doubao-embedding-text-240515: 2048 | OpenAI text-embedding-3-small: 1536
dimension: 1024
role:
# 严格隔离:true=角色未绑定知识库分类时禁止检索任何内容;false=可检索全部知识库
strict-isolation: false
faq:
# FAQ 语义匹配阈值(0-1),低于此值自动降级到 RAG 检索
semantic-threshold: 0.85
storage:
# 上传文件本地存储根路径(Windows: D:/uploads, Linux: /data/uploads)
# 各环境可在 application-{env}.yml 中覆盖
local-path: ./uploads
# ==================== Knife4j API 文档通用配置 ====================
# knife4j.enable 开关在各环境 yml 中配置(生产环境建议关闭)
springdoc:
swagger-ui:
path: /swagger-ui.html
tags-sorter: alpha
operations-sorter: alpha
api-docs:
path: /v3/api-docs
group-configs:
- group: default
paths-to-match: /**
packages-to-scan: com.wok.supportbot.controller
- group: open-api
display-name: 开放API
paths-to-match: /open-api/**
packages-to-scan: com.wok.supportbot.controller
knife4j:
setting:
language: zh_cn
swagger-model-name: 实体类列表
# ==================== 日志输出格式(通用) ====================
# 具体的 logging.level 在各环境 yml 中配置
logging:
pattern:
console: "%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n"
# ==================== JWT 认证配置 ====================
jwt:
# 签名密钥(生产环境务必通过环境变量 JWT_SECRET 覆盖)
secret: support-bot-jwt-secret-key-2026-please-change-in-production
# 访问令牌有效期:24小时(毫秒)
expiration: 86400000
# 刷新令牌有效期:7天(毫秒)
refresh-expiration: 604800000
# ==================== SDK 专用 JWT 配置 ====================
# SDK Token 签名密钥(独立于管理后台 JWT 密钥,生产环境务必覆盖)
sdk-secret: support-bot-sdk-jwt-secret-2026-please-change
# SDK Token 默认有效期:2小时(毫秒)
sdk-expiration: 7200000