constants.ts 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470
  1. /**
  2. * Created by 芋道源码
  3. *
  4. * AI 枚举类
  5. *
  6. * 问题:为什么不放在 src/utils/constants.ts 呢?
  7. * 回答:主要 AI 是可选模块,考虑到独立、解耦,所以放在了 /views/ai/utils/constants.ts
  8. */
  9. /**
  10. * AI 平台的枚举
  11. */
  12. export const AiPlatformEnum = {
  13. TONG_YI: 'TongYi', // 阿里
  14. YI_YAN: 'YiYan', // 百度
  15. DEEP_SEEK: 'DeepSeek', // DeepSeek
  16. ZHI_PU: 'ZhiPu', // 智谱 AI
  17. XING_HUO: 'XingHuo', // 讯飞
  18. SiliconFlow: 'SiliconFlow', // 硅基流动
  19. OPENAI: 'OpenAI',
  20. Ollama: 'Ollama',
  21. STABLE_DIFFUSION: 'StableDiffusion', // Stability AI
  22. MIDJOURNEY: 'Midjourney', // Midjourney
  23. SUNO: 'Suno' // Suno AI
  24. }
  25. export const AiModelTypeEnum = {
  26. CHAT: 1, // 聊天
  27. IMAGE: 2, // 图像
  28. VOICE: 3, // 音频
  29. VIDEO: 4, // 视频
  30. EMBEDDING: 5, // 向量
  31. RERANK: 6 // 重排
  32. }
  33. export const OtherPlatformEnum: ImageModelVO[] = [
  34. {
  35. key: AiPlatformEnum.TONG_YI,
  36. name: '通义万相'
  37. },
  38. {
  39. key: AiPlatformEnum.YI_YAN,
  40. name: '百度千帆'
  41. },
  42. {
  43. key: AiPlatformEnum.ZHI_PU,
  44. name: '智谱 AI'
  45. },
  46. {
  47. key: AiPlatformEnum.SiliconFlow,
  48. name: '硅基流动'
  49. }
  50. ]
  51. /**
  52. * AI 图像生成状态的枚举
  53. */
  54. export const AiImageStatusEnum = {
  55. IN_PROGRESS: 10, // 进行中
  56. SUCCESS: 20, // 已完成
  57. FAIL: 30 // 已失败
  58. }
  59. /**
  60. * AI 音乐生成状态的枚举
  61. */
  62. export const AiMusicStatusEnum = {
  63. IN_PROGRESS: 10, // 进行中
  64. SUCCESS: 20, // 已完成
  65. FAIL: 30 // 已失败
  66. }
  67. /**
  68. * AI 写作类型的枚举
  69. */
  70. export enum AiWriteTypeEnum {
  71. WRITING = 1, // 撰写
  72. REPLY // 回复
  73. }
  74. // 表格展示对照map
  75. export const AiWriteTypeTableRender = {
  76. [AiWriteTypeEnum.WRITING]: '撰写',
  77. [AiWriteTypeEnum.REPLY]: '回复'
  78. }
  79. // ========== 【图片 UI】相关的枚举 ==========
  80. export const ImageHotWords = [
  81. '中国旗袍',
  82. '古装美女',
  83. '卡通头像',
  84. '机甲战士',
  85. '童话小屋',
  86. '中国长城'
  87. ] // 图片热词
  88. export const ImageHotEnglishWords = [
  89. 'Chinese Cheongsam',
  90. 'Ancient Beauty',
  91. 'Cartoon Avatar',
  92. 'Mech Warrior',
  93. 'Fairy Tale Cottage',
  94. 'The Great Wall of China'
  95. ] // 图片热词(英文)
  96. export interface ImageModelVO {
  97. key: string
  98. name: string
  99. image?: string
  100. }
  101. export const StableDiffusionSamplers: ImageModelVO[] = [
  102. {
  103. key: 'DDIM',
  104. name: 'DDIM'
  105. },
  106. {
  107. key: 'DDPM',
  108. name: 'DDPM'
  109. },
  110. {
  111. key: 'K_DPMPP_2M',
  112. name: 'K_DPMPP_2M'
  113. },
  114. {
  115. key: 'K_DPMPP_2S_ANCESTRAL',
  116. name: 'K_DPMPP_2S_ANCESTRAL'
  117. },
  118. {
  119. key: 'K_DPM_2',
  120. name: 'K_DPM_2'
  121. },
  122. {
  123. key: 'K_DPM_2_ANCESTRAL',
  124. name: 'K_DPM_2_ANCESTRAL'
  125. },
  126. {
  127. key: 'K_EULER',
  128. name: 'K_EULER'
  129. },
  130. {
  131. key: 'K_EULER_ANCESTRAL',
  132. name: 'K_EULER_ANCESTRAL'
  133. },
  134. {
  135. key: 'K_HEUN',
  136. name: 'K_HEUN'
  137. },
  138. {
  139. key: 'K_LMS',
  140. name: 'K_LMS'
  141. }
  142. ]
  143. export const StableDiffusionStylePresets: ImageModelVO[] = [
  144. {
  145. key: '3d-model',
  146. name: '3d-model'
  147. },
  148. {
  149. key: 'analog-film',
  150. name: 'analog-film'
  151. },
  152. {
  153. key: 'anime',
  154. name: 'anime'
  155. },
  156. {
  157. key: 'cinematic',
  158. name: 'cinematic'
  159. },
  160. {
  161. key: 'comic-book',
  162. name: 'comic-book'
  163. },
  164. {
  165. key: 'digital-art',
  166. name: 'digital-art'
  167. },
  168. {
  169. key: 'enhance',
  170. name: 'enhance'
  171. },
  172. {
  173. key: 'fantasy-art',
  174. name: 'fantasy-art'
  175. },
  176. {
  177. key: 'isometric',
  178. name: 'isometric'
  179. },
  180. {
  181. key: 'line-art',
  182. name: 'line-art'
  183. },
  184. {
  185. key: 'low-poly',
  186. name: 'low-poly'
  187. },
  188. {
  189. key: 'modeling-compound',
  190. name: 'modeling-compound'
  191. },
  192. // neon-punk origami photographic pixel-art tile-texture
  193. {
  194. key: 'neon-punk',
  195. name: 'neon-punk'
  196. },
  197. {
  198. key: 'origami',
  199. name: 'origami'
  200. },
  201. {
  202. key: 'photographic',
  203. name: 'photographic'
  204. },
  205. {
  206. key: 'pixel-art',
  207. name: 'pixel-art'
  208. },
  209. {
  210. key: 'tile-texture',
  211. name: 'tile-texture'
  212. }
  213. ]
  214. export const StableDiffusionClipGuidancePresets: ImageModelVO[] = [
  215. {
  216. key: 'NONE',
  217. name: 'NONE'
  218. },
  219. {
  220. key: 'FAST_BLUE',
  221. name: 'FAST_BLUE'
  222. },
  223. {
  224. key: 'FAST_GREEN',
  225. name: 'FAST_GREEN'
  226. },
  227. {
  228. key: 'SIMPLE',
  229. name: 'SIMPLE'
  230. },
  231. {
  232. key: 'SLOW',
  233. name: 'SLOW'
  234. },
  235. {
  236. key: 'SLOWER',
  237. name: 'SLOWER'
  238. },
  239. {
  240. key: 'SLOWEST',
  241. name: 'SLOWEST'
  242. }
  243. ]
  244. export const Dall3Models: ImageModelVO[] = [
  245. {
  246. key: 'dall-e-3',
  247. name: 'DALL·E 3',
  248. image: `/src/assets/ai/dall2.jpg`
  249. },
  250. {
  251. key: 'dall-e-2',
  252. name: 'DALL·E 2',
  253. image: `/src/assets/ai/dall3.jpg`
  254. }
  255. ]
  256. export const Dall3StyleList: ImageModelVO[] = [
  257. {
  258. key: 'vivid',
  259. name: '清晰',
  260. image: `/src/assets/ai/qingxi.jpg`
  261. },
  262. {
  263. key: 'natural',
  264. name: '自然',
  265. image: `/src/assets/ai/ziran.jpg`
  266. }
  267. ]
  268. export interface ImageSizeVO {
  269. key: string
  270. name?: string
  271. style: string
  272. width: string
  273. height: string
  274. }
  275. export const Dall3SizeList: ImageSizeVO[] = [
  276. {
  277. key: '1024x1024',
  278. name: '1:1',
  279. width: '1024',
  280. height: '1024',
  281. style: 'width: 30px; height: 30px;background-color: #dcdcdc;'
  282. },
  283. {
  284. key: '1024x1792',
  285. name: '3:5',
  286. width: '1024',
  287. height: '1792',
  288. style: 'width: 30px; height: 50px;background-color: #dcdcdc;'
  289. },
  290. {
  291. key: '1792x1024',
  292. name: '5:3',
  293. width: '1792',
  294. height: '1024',
  295. style: 'width: 50px; height: 30px;background-color: #dcdcdc;'
  296. }
  297. ]
  298. export const MidjourneyModels: ImageModelVO[] = [
  299. {
  300. key: 'midjourney',
  301. name: 'MJ',
  302. image: 'https://bigpt8.com/pc/_nuxt/mj.34a61377.png'
  303. },
  304. {
  305. key: 'niji',
  306. name: 'NIJI',
  307. image: 'https://bigpt8.com/pc/_nuxt/nj.ca79b143.png'
  308. }
  309. ]
  310. export const MidjourneySizeList: ImageSizeVO[] = [
  311. {
  312. key: '1:1',
  313. width: '1',
  314. height: '1',
  315. style: 'width: 30px; height: 30px;background-color: #dcdcdc;'
  316. },
  317. {
  318. key: '3:4',
  319. width: '3',
  320. height: '4',
  321. style: 'width: 30px; height: 40px;background-color: #dcdcdc;'
  322. },
  323. {
  324. key: '4:3',
  325. width: '4',
  326. height: '3',
  327. style: 'width: 40px; height: 30px;background-color: #dcdcdc;'
  328. },
  329. {
  330. key: '9:16',
  331. width: '9',
  332. height: '16',
  333. style: 'width: 30px; height: 50px;background-color: #dcdcdc;'
  334. },
  335. {
  336. key: '16:9',
  337. width: '16',
  338. height: '9',
  339. style: 'width: 50px; height: 30px;background-color: #dcdcdc;'
  340. }
  341. ]
  342. export const MidjourneyVersions = [
  343. {
  344. value: '6.0',
  345. label: 'v6.0'
  346. },
  347. {
  348. value: '5.2',
  349. label: 'v5.2'
  350. },
  351. {
  352. value: '5.1',
  353. label: 'v5.1'
  354. },
  355. {
  356. value: '5.0',
  357. label: 'v5.0'
  358. },
  359. {
  360. value: '4.0',
  361. label: 'v4.0'
  362. }
  363. ]
  364. export const NijiVersionList = [
  365. {
  366. value: '5',
  367. label: 'v5'
  368. }
  369. ]
  370. // ========== 【写作 UI】相关的枚举 ==========
  371. /** 写作点击示例时的数据 **/
  372. export const WriteExample = {
  373. write: {
  374. prompt: 'vue',
  375. data: 'Vue.js 是一种用于构建用户界面的渐进式 JavaScript 框架。它的核心库只关注视图层,易于上手,同时也便于与其他库或已有项目整合。\n\nVue.js 的特点包括:\n- 响应式的数据绑定:Vue.js 会自动将数据与 DOM 同步,使得状态管理变得更加简单。\n- 组件化:Vue.js 允许开发者通过小型、独立和通常可复用的组件构建大型应用。\n- 虚拟 DOM:Vue.js 使用虚拟 DOM 实现快速渲染,提高了性能。\n\n在 Vue.js 中,一个典型的应用结构可能包括:\n1. 根实例:每个 Vue 应用都需要一个根实例作为入口点。\n2. 组件系统:可以创建自定义的可复用组件。\n3. 指令:特殊的带有前缀 v- 的属性,为 DOM 元素提供特殊的行为。\n4. 插值:用于文本内容,将数据动态地插入到 HTML。\n5. 计算属性和侦听器:用于处理数据的复杂逻辑和响应数据变化。\n6. 条件渲染:根据条件决定元素的渲染。\n7. 列表渲染:用于显示列表数据。\n8. 事件处理:响应用户交互。\n9. 表单输入绑定:处理表单输入和验证。\n10. 组件生命周期钩子:在组件的不同阶段执行特定的函数。\n\nVue.js 还提供了官方的路由器 Vue Router 和状态管理库 Vuex,以支持构建复杂的单页应用(SPA)。\n\n在开发过程中,开发者通常会使用 Vue CLI,这是一个强大的命令行工具,用于快速生成 Vue 项目脚手架,集成了诸如 Babel、Webpack 等现代前端工具,以及热重载、代码检测等开发体验优化功能。\n\nVue.js 的生态系统还包括大量的第三方库和插件,如 Vuetify(UI 组件库)、Vue Test Utils(测试工具)等,这些都极大地丰富了 Vue.js 的开发生态。\n\n总的来说,Vue.js 是一个灵活、高效的前端框架,适合从小型项目到大型企业级应用的开发。它的易用性、灵活性和强大的社区支持使其成为许多开发者的首选框架之一。'
  376. },
  377. reply: {
  378. originalContent: '领导,我想请假',
  379. prompt: '不批',
  380. data: '您的请假申请已收悉,经核实和考虑,暂时无法批准您的请假申请。\n\n如有特殊情况或紧急事务,请及时与我联系。\n\n祝工作顺利。\n\n谢谢。'
  381. }
  382. }
  383. // ========== 【思维导图 UI】相关的枚举 ==========
  384. /** 思维导图已有内容生成示例 **/
  385. export const MindMapContentExample = `# Java 技术栈
  386. ## 核心技术
  387. ### Java SE
  388. ### Java EE
  389. ## 框架
  390. ### Spring
  391. #### Spring Boot
  392. #### Spring MVC
  393. #### Spring Data
  394. ### Hibernate
  395. ### MyBatis
  396. ## 构建工具
  397. ### Maven
  398. ### Gradle
  399. ## 版本控制
  400. ### Git
  401. ### SVN
  402. ## 测试工具
  403. ### JUnit
  404. ### Mockito
  405. ### Selenium
  406. ## 应用服务器
  407. ### Tomcat
  408. ### Jetty
  409. ### WildFly
  410. ## 数据库
  411. ### MySQL
  412. ### PostgreSQL
  413. ### Oracle
  414. ### MongoDB
  415. ## 消息队列
  416. ### Kafka
  417. ### RabbitMQ
  418. ### ActiveMQ
  419. ## 微服务
  420. ### Spring Cloud
  421. ### Dubbo
  422. ## 容器化
  423. ### Docker
  424. ### Kubernetes
  425. ## 云服务
  426. ### AWS
  427. ### Azure
  428. ### Google Cloud
  429. ## 开发工具
  430. ### IntelliJ IDEA
  431. ### Eclipse
  432. ### Visual Studio Code`