server:
  port: 8000

spring:
  application:
    name: gdyd_zhpb_zgf
  
  # PostgreSQL 单数据源配置
  datasource:
      driver-class-name: org.postgresql.Driver
      url: jdbc:postgresql://45.192.102.202:32771/vector_db
      username: postgres
      password: 123456
      # HikariCP 连接池配置
      hikari:
        maximum-pool-size: 50  # 最大连接数
        minimum-idle: 10       # 最小空闲连接数
        idle-timeout: 300000   # 空闲连接超时时间(5分钟)
        max-lifetime: 1800000  # 连接最大存活时间(30分钟)
        connection-timeout: 60000  # 连接超时时间(60秒)
  
  # JPA 配置（全部实体使用 PostgreSQL）
  jpa:
    database: postgresql
    hibernate:
      ddl-auto: update
    show-sql: false
    properties:
      hibernate:
        dialect: org.hibernate.dialect.PostgreSQLDialect
        jdbc.time_zone: Asia/Shanghai
  
  # Redis 配置
  data:
    redis:
      host: 45.192.102.202
      port: 6379
      password: 123456
      database: 0
      timeout: 6000ms
      lettuce:
        pool:
          max-active: 8
          max-wait: -1ms
          max-idle: 8
          min-idle: 0
  
  # 文件上传配置
  servlet:
    multipart:
      # 单个文件最大大小 (500MB)
      max-file-size: 500MB
      # 整个请求最大大小 (500MB)
      max-request-size: 500MB
      # 文件写入磁盘的阈值 (10MB，超过此大小会写入临时文件)
      file-size-threshold: 10MB

# Umi-OCR 配置
umi-ocr:
  base-url: http://154.219.106.93:1224
  enabled: false  # OCR功能开关，设为true启用，false禁用
  options:
    ocr-language: "models/config_chinese.txt"
    max-pages: 50
    interval: 5
  download-file-types:
    - "pdfLayered"
    - "txtPlain"

# SSO配置
sso:
  # ES接口基础地址
  es-base-url: http://es-integration.es-uat-paas:8890
  # 获取用户信息接口路径
  getUserInfoPath: /bi/getUserInfoByTicket

# 文件管理配置
file:
  # 文件上传存储路径
  upload-path: ./uploads
  # ZIP文件解压路径
  extract-path: ./extracts
  # 支持的文件类型
  allowed-types: pdf,doc,docx,txt
  # 是否只返回技术文件类型（PDF、DOC、DOCX、PPT、PPTX、TXT、JSON）
  filter:
    technical-only: true
  # 文件下载地址替换配置
  download-replace-source: 172.21.200.148:2000
  download-replace-target: wnsp-uat-fw-gw.wnsp-fw-gw:8099

# 向量化服务配置
vectorize:
  # 向量化接口基础地址
  base-url: https://api.siliconflow.cn
  # 向量化接口路径（OpenAI 格式）
  api-path: /v1/embeddings
  # API密钥（用于 OpenAI 格式）
  api-key: sk-vppcdrlrltizbwluttekgorrngofgounxyxqaheystfmbelz
  # 向量化模型（OpenAI 格式，如 text-embedding-ada-002）
  model: BAAI/bge-large-zh-v1.5
  # 向量维度（从接口返回的dimension字段获取，默认1536 for text-embedding-ada-002）
  dimension: 1024
  # 向量化并发数（控制同时处理的文件数量，建议设置为2-4，避免耗尽数据库连接）
  concurrency: 3


# 向量化模型阈值配置（按模型区分）
# 注意：SiliconFlow BGE模型限制512 tokens，这里设置450留出余量
vector-limits:
  default:
    max-chars: 800
    max-tokens: 450
  text-embedding-ada-002:
    max-chars: 8000
    max-tokens: 8000
  embed-bge-large-zh-v1.5:
    max-chars: 800
    max-tokens: 450
  BAAI/bge-large-zh-v1.5:
    max-chars: 800
    max-tokens: 450

# Swagger/OpenAPI 配置
springdoc:
  api-docs:
    path: /api-docs
    enabled: true
  swagger-ui:
    path: /swagger-ui.html
    enabled: true
    tags-sorter: alpha
    operations-sorter: alpha
    try-it-out-enabled: true
    display-request-duration: true
  show-actuator: false
  # 排除异常处理器包，避免兼容性问题
  packages-to-exclude: com.zhpb.gdyd_zhpb_zgf.exception
  # 不扫描ControllerAdvice类
  use-management-port: false

# Actuator 配置
management:
  endpoints:
    web:
      exposure:
        include: health,info
  endpoint:
    health:
      show-details: always
  health:
    indicators:
      enabled: true

# AI模型配置
ai:
  model-type: public  # public: 公网模型(DeepSeek), private: 私有模型

# 向量化模型配置
vectorization:
  mode: local  # local: 本地处理, online: 在线API, office: 办公网关
  batch-size: 10  # 批量处理大小

# DeepSeek AI 配置 (公网模型)
deepseek:
  api-key: sk-a6c394f29fd241f6b760d31986d95776  # 建议通过环境变量设置
  api-url: https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions
  model: qwen3-max
  temperature: 0.7
  max-tokens: 4096

# 私有大模型配置
private-model:
  url: http://IP:PORT/bigmodel_infer_gateway/v1/service  # 私有模型API地址
  appid: ""  # 私有模型AppID
  appkey: ""  # 私有模型AppKey
  capabilityname: semantic0000000000000000  # 能力名称
  model: JiuTian-75B-8K  # 私有模型名称
  temperature: 0.1  # 温度参数
  max-tokens: 1024  # 最大token数

# 办公网关配置 (磐智宁波池)
office-gateway:
  uat-url: http://172.21.153.46:9050/micro-model-gateway/v1/service/uat  # UAT环境
  prod-url: http://prod-gateway-url  # 生产环境URL
  appid: modelway
  appkey: 4f34396a9b876346133883461caf6596
  capabilityname: semantic0000000000000000  # 能力名称，24位
  embedding-model: embed-bge-large-zh-v1.5  # 向量化模型
  timeout: 30000  # 请求超时时间(毫秒)
