application.yaml 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341
  1. spring:
  2. application:
  3. name: byzs-bjdx
  4. profiles:
  5. # active: local
  6. # active: localProd
  7. active: prodDev
  8. # active: prod
  9. main:
  10. allow-circular-references: true # 允许循环依赖,因为项目是三层架构,无法避免这个情况。
  11. # Servlet 配置
  12. servlet:
  13. # 文件上传相关配置项
  14. multipart:
  15. max-file-size: 500MB # 单个文件大小
  16. max-request-size: 1000MB # 设置总上传的文件大小
  17. # Jackson 配置项
  18. jackson:
  19. serialization:
  20. write-dates-as-timestamps: true # 设置 Date 的格式,使用时间戳
  21. write-date-timestamps-as-nanoseconds: false # 设置不使用 nanoseconds 的格式。例如说 1611460870.401,而是直接 1611460870401
  22. write-durations-as-timestamps: true # 设置 Duration 的格式,使用时间戳
  23. fail-on-empty-beans: false # 允许序列化无属性的 Bean
  24. # Cache 配置项
  25. cache:
  26. type: REDIS
  27. redis:
  28. time-to-live: 1h # 设置过期时间为 1 小时
  29. server:
  30. servlet:
  31. encoding:
  32. enabled: true
  33. charset: UTF-8 # 必须设置 UTF-8,避免 WebFlux 流式返回(AI 场景)会乱码问题
  34. force: true
  35. --- #################### 接口文档配置 ####################
  36. springdoc:
  37. api-docs:
  38. enabled: true
  39. path: /v3/api-docs
  40. swagger-ui:
  41. enabled: true
  42. path: /swagger-ui
  43. default-flat-param-object: true
  44. knife4j:
  45. enable: false
  46. setting:
  47. language: zh_cn
  48. # MyBatis Plus 的配置项
  49. mybatis-plus:
  50. configuration:
  51. map-underscore-to-camel-case: true # 虽然默认为 true ,但是还是显示去指定下。
  52. global-config:
  53. db-config:
  54. id-type: NONE # “智能”模式,基于 IdTypeEnvironmentPostProcessor + 数据源的类型,自动适配成 AUTO、INPUT 模式。
  55. # id-type: AUTO # 自增 ID,适合 MySQL 等直接自增的数据库
  56. # id-type: INPUT # 用户输入 ID,适合 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库
  57. # id-type: ASSIGN_ID # 分配 ID,默认使用雪花算法。注意,Oracle、PostgreSQL、Kingbase、DB2、H2 数据库时,需要去除实体类上的 @KeySequence 注解
  58. logic-delete-value: 1 # 逻辑已删除值(默认为 1)
  59. logic-not-delete-value: 0 # 逻辑未删除值(默认为 0)
  60. banner: false # 关闭控制台的 Banner 打印
  61. type-aliases-package: ${byzs.info.base-package}.module.*.dal.dataobject
  62. encryptor:
  63. password: XDV71a+xqStEA3WH # 加解密的秘钥,可使用 https://www.imaegoo.com/2020/aes-key-generator/ 网站生成
  64. mybatis-plus-join:
  65. banner: false # 是否打印 mybatis plus join banner,默认true
  66. sub-table-logic: true # 全局启用副表逻辑删除,默认true。关闭后关联查询不会加副表逻辑删除
  67. ms-cache: true # 拦截器MappedStatement缓存,默认 true
  68. table-alias: t # 表别名(默认 t)
  69. logic-del-type: on # 副表逻辑删除条件的位置,支持 WHERE、ON,默认 ON
  70. # Spring Data Redis 配置
  71. spring:
  72. data:
  73. redis:
  74. repositories:
  75. enabled: false # 项目未使用到 Spring Data Redis 的 Repository,所以直接禁用,保证启动速度
  76. lettuce:
  77. pool:
  78. max-active: 8
  79. max-idle: 8
  80. min-idle: 0
  81. max-wait: -1ms
  82. shutdown-timeout: 100ms
  83. client-options:
  84. netty-threads: 16 # 增加 nettyThreads 设置
  85. # VO 转换(数据翻译)相关
  86. easy-trans:
  87. is-enable-global: true # 启用全局翻译(拦截所有 SpringMVC ResponseBody 进行自动翻译 )。如果对于性能要求很高可关闭此配置,或通过 @IgnoreTrans 忽略某个接口
  88. --- #################### 验证码相关配置 ####################
  89. aj:
  90. captcha:
  91. jigsaw: classpath:images/jigsaw # 滑动验证,底图路径,不配置将使用默认图片;以 classpath: 开头,取 resource 目录下路径
  92. pic-click: classpath:images/pic-click # 滑动验证,底图路径,不配置将使用默认图片;以 classpath: 开头,取 resource 目录下路径
  93. cache-type: redis # 缓存 local/redis...
  94. cache-number: 1000 # local 缓存的阈值,达到这个值,清除缓存
  95. timing-clear: 180 # local定时清除过期缓存(单位秒),设置为0代表不执行
  96. type: blockPuzzle # 验证码类型 default两种都实例化。 blockPuzzle 滑块拼图 clickWord 文字点选
  97. water-mark: 博雅智算源码 # 右下角水印文字(我的水印),可使用 https://tool.chinaz.com/tools/unicode.aspx 中文转 Unicode,Linux 可能需要转 unicode
  98. interference-options: 0 # 滑动干扰项(0/1/2)
  99. req-frequency-limit-enable: false # 接口请求次数一分钟限制是否开启 true|false
  100. req-get-lock-limit: 5 # 验证失败 5 次,get接口锁定
  101. req-get-lock-seconds: 10 # 验证失败后,锁定时间间隔
  102. req-get-minute-limit: 30 # get 接口一分钟内请求数限制
  103. req-check-minute-limit: 60 # check 接口一分钟内请求数限制
  104. req-verify-minute-limit: 60 # verify 接口一分钟内请求数限制
  105. --- #################### 消息队列相关 ####################
  106. # rocketmq 配置项,对应 RocketMQProperties 配置类
  107. #rocketmq:
  108. # # Producer 配置项
  109. # producer:
  110. # group: ${spring.application.name}_PRODUCER # 生产者分组
  111. # name-server: 127.0.0.1:9876 # RocketMQ Namesrv
  112. #spring:
  113. # # Kafka 配置项,对应 KafkaProperties 配置类
  114. # kafka:
  115. # # Kafka Producer 配置项
  116. # producer:
  117. # acks: 1 # 0-不应答。1-leader 应答。all-所有 leader 和 follower 应答。
  118. # retries: 3 # 发送失败时,重试发送的次数
  119. # value-serializer: org.springframework.kafka.support.serializer.JsonSerializer # 消息的 value 的序列化
  120. # # Kafka Consumer 配置项
  121. # consumer:
  122. # auto-offset-reset: earliest # 设置消费者分组最初的消费进度为 earliest 。可参考博客 https://blog.csdn.net/lishuangzhe7047/article/details/74530417 理解
  123. # value-deserializer: org.springframework.kafka.support.serializer.JsonDeserializer
  124. # properties:
  125. # spring.json.trusted.packages: '*'
  126. # # Kafka Consumer Listener 监听器配置
  127. # listener:
  128. # missing-topics-fatal: false # 消费监听接口监听的主题不存在时,默认会报错。所以通过设置为 false ,解决报错
  129. # bootstrap-servers: 127.0.0.1:9092 # 指定 Kafka Broker 地址,可以设置多个,以逗号分隔
  130. # # RabbitMQ 配置项,对应 RabbitProperties 配置类
  131. # rabbitmq:
  132. # host: 127.0.0.1 # RabbitMQ 服务的地址
  133. # port: 5672 # RabbitMQ 服务的端口
  134. # username: rabbit # RabbitMQ 服务的账号
  135. # password: rabbit # RabbitMQ 服务的密码
  136. --- #################### AI 相关配置 ####################
  137. spring:
  138. ai:
  139. vectorstore: # 向量存储
  140. redis:
  141. initialize-schema: true
  142. index: knowledge_index # Redis 中向量索引的名称:用于存储和检索向量数据的索引标识符,所有相关的向量搜索操作都会基于这个索引进行
  143. prefix: "knowledge_segment:" # Redis 中存储向量数据的键名前缀:这个前缀会添加到每个存储在 Redis 中的向量数据键名前,每个 document 都是一个 hash 结构
  144. qdrant:
  145. initialize-schema: true
  146. collection-name: knowledge_segment # Qdrant 中向量集合的名称:用于存储向量数据的集合标识符,所有相关的向量操作都会在这个集合中进行
  147. host: 127.0.0.1
  148. port: 6334
  149. milvus:
  150. initialize-schema: true
  151. database-name: default # Milvus 中数据库的名称
  152. collection-name: knowledge_segment # Milvus 中集合的名称:用于存储向量数据的集合标识符,所有相关的向量操作都会在这个集合中进行
  153. client:
  154. host: 127.0.0.1
  155. port: 19530
  156. qianfan: # 文心一言
  157. api-key: ALTAKt1cnqv9Qe6lfhY1C0VCmE
  158. secret-key: e321c868571e4a3aa9c73f1ce1fd2db9
  159. zhipuai: # 智谱 AI
  160. api-key: 32f84543e54eee31f8d56b2bd6020573.3vh9idLJZ2ZhxDEs
  161. openai: # OpenAI 官方
  162. api-key: sk-aN6nWn3fILjrgLFT0fC4Aa60B72e4253826c77B29dC94f17
  163. base-url: https://api.gptsapi.net
  164. azure: # OpenAI 微软
  165. openai:
  166. endpoint: https://eastusprejade.openai.azure.com
  167. api-key: xxx
  168. ollama:
  169. base-url: http://127.0.0.1:11434
  170. chat:
  171. model: llama3
  172. stabilityai:
  173. api-key: sk-e53UqbboF8QJCscYvzJscJxJXoFcFg4iJjl1oqgE7baJETmx
  174. dashscope: # 通义千问
  175. api-key: c8fa309b16a045b3bb4c6aa3879148cc
  176. minimax: # Minimax:https://www.minimaxi.com/
  177. api-key: xxxx
  178. moonshot: # 月之暗灭(KIMI)
  179. api-key: sk-abc
  180. byzs:
  181. ai:
  182. vector-store:
  183. simple:
  184. # SimpleVectorStore 是本地文件存储。命名空间必须按运行环境、数据库隔离,避免切换 profile 后串库。
  185. namespace: ${spring.application.name}-${spring.profiles.active:default}
  186. # 仅在确认旧文件属于当前环境时开启;prod 首次升级会在 application-prod.yaml 中单独开启。
  187. migrate-legacy-file: false
  188. deep-seek: # DeepSeek
  189. enable: true
  190. api-key: sk-5b612c071f904fd59808dc07c9a4f1b8
  191. model: deepseek-chat
  192. doubao: # 字节豆包(真实-使用中)
  193. enable: true
  194. api-key: 702a7b51-8b6b-483c-8488-ea9f5bc7dc25
  195. model: doubao-1-5-lite-32k-250115
  196. image-model: dab-official-text2image-v1 # 文生图模型名称
  197. tts: # TTS 配置(项目:default;语音合成v3)
  198. appId: 8082193636
  199. accessToken: nTp5pr10TFW1hb5LzZZfZcjjnu-HseX4
  200. accessKey: I9noz2pmWLGjLtBys0WJr6V-yBAx_Z6z
  201. resourceId: seed-tts-2.0
  202. baseUrl: https://openspeech.bytedance.com/api/v3/tts/unidirectional
  203. hunyuan: # 腾讯混元
  204. enable: true
  205. api-key: sk-abc
  206. model: hunyuan-turbo
  207. siliconflow: # 硅基流动
  208. enable: true
  209. api-key: sk-epsakfenqnyzoxhmbucsxlhkdqlcbnimslqoivkshalvdozz
  210. model: deepseek-ai/DeepSeek-R1-Distill-Qwen-7B
  211. xinghuo: # 讯飞星火
  212. enable: true
  213. appKey: 75b161ed2aef4719b275d6e7f2a4d4cd
  214. secretKey: YWYxYWI2MTA4ODI2NGZlYTQyNjAzZTcz
  215. model: generalv3.5
  216. baichuan: # 百川智能
  217. enable: true
  218. api-key: sk-abc
  219. model: Baichuan4-Turbo
  220. midjourney:
  221. enable: true
  222. # base-url: https://api.holdai.top/mj-relax/mj
  223. base-url: https://api.holdai.top/mj
  224. api-key: sk-dZEPiVaNcT3FHhef51996bAa0bC74806BeAb620dA5Da10Bf
  225. notify-url: http://java.nat300.top/admin-api/ai/image/midjourney/notify
  226. suno:
  227. enable: true
  228. # base-url: https://suno-55ishh05u-status2xxs-projects.vercel.app
  229. base-url: http://127.0.0.1:3001
  230. aliyun: # 阿里云(真实-使用中)
  231. enable: true
  232. tts: # TTS 配置
  233. appKey: 4SUOF4LfaU7FekyW
  234. token: 20aa8ae2577b414db6c3cbbfcdc287be
  235. url: wss://nls-gateway-cn-beijing.aliyuncs.com/ws/v1
  236. aliyunAkId: LTAI5tQhMPLXtSgXiPiWbw6D
  237. aliyunAkSecret: HCXpFYjl4swk0qwfIKa9s2bXx0AWcG
  238. --- #################### 博雅智算相关配置 ####################
  239. byzs:
  240. info:
  241. version: 1.0.0
  242. base-package: cn.iocoder.byzs
  243. web:
  244. admin-ui:
  245. url: # Admin 管理后台 UI 的地址
  246. web-client:
  247. connect-timeout: 30s # 连接超时时间
  248. read-timeout: 2m # 读取超时时间
  249. write-timeout: 1m # 写入超时时间
  250. pool:
  251. max-connections: 100 # 最大连接数
  252. max-idle-time: 2m # 最大空闲时间
  253. max-life-time: 10m # 最大生命周期
  254. retry:
  255. enabled: true # 启用重试
  256. max-attempts: 3 # 最大重试次数
  257. backoff: 500ms # 重试间隔时间
  258. xss:
  259. enable: false
  260. exclude-urls:
  261. security:
  262. permit-all_urls:
  263. - /admin-api/mp/open/** # 微信公众号开放平台,微信回调接口,不需要登录
  264. websocket:
  265. enable: true # websocket的开关
  266. path: /infra/ws # 路径
  267. sender-type: local # 消息发送的类型,可选值为 local、redis、rocketmq、kafka、rabbitmq
  268. sender-rocketmq:
  269. topic: ${spring.application.name}-websocket # 消息发送的 RocketMQ Topic
  270. consumer-group: ${spring.application.name}-websocket-consumer # 消息发送的 RocketMQ Consumer Group
  271. sender-rabbitmq:
  272. exchange: ${spring.application.name}-websocket-exchange # 消息发送的 RabbitMQ Exchange
  273. queue: ${spring.application.name}-websocket-queue # 消息发送的 RabbitMQ Queue
  274. sender-kafka:
  275. topic: ${spring.application.name}-websocket # 消息发送的 Kafka Topic
  276. consumer-group: ${spring.application.name}-websocket-consumer # 消息发送的 Kafka Consumer Group
  277. swagger:
  278. title: 博雅智算快速开发平台
  279. description: 提供管理后台、用户 App 的所有功能
  280. version: ${byzs.info.version}
  281. url: ${byzs.web.admin-ui.url}
  282. email: xingyu4j@vip.qq.com
  283. license: MIT
  284. license-url: https://gitee.com/zhijiantianya/ruoyi-vue-pro/blob/master/LICENSE
  285. codegen:
  286. base-package: ${byzs.info.base-package}
  287. db-schemas: ${spring.datasource.dynamic.datasource.master.name}
  288. front-type: 20 # 前端模版的类型,参见 CodegenFrontTypeEnum 枚举类
  289. vo-type: 10 # VO 的类型,参见 CodegenVOTypeEnum 枚举类
  290. delete-batch-enable: true # 是否生成批量删除接口
  291. unit-test-enable: false # 是否生成单元测试
  292. tenant: # 多租户相关配置项
  293. enable: true
  294. splice-urls:
  295. - /system/
  296. ignore-urls:
  297. - /jmreport/* # 积木报表,无法携带租户编号
  298. ignore-visit-urls:
  299. - /admin-api/system/user/profile/**
  300. - /admin-api/system/auth/**
  301. ignore-tables:
  302. - system_invite_code
  303. - system_user_web_expire_time
  304. ignore-caches:
  305. - user_role_ids
  306. - permission_menu_ids
  307. - oauth_client
  308. - notify_template
  309. - mail_account
  310. - mail_template
  311. - sms_template
  312. sms-code: # 短信验证码相关的配置项
  313. expire-times: 10m
  314. send-frequency: 1m
  315. send-maximum-quantity-per-day: 10
  316. begin-code: 9999 # 这里配置 9999 的原因是,测试方便。
  317. end-code: 9999 # 这里配置 9999 的原因是,测试方便。