@lobehub/chat 1.11.8 → 1.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (440) hide show
  1. package/.github/workflows/release.yml +2 -1
  2. package/.github/workflows/test.yml +2 -1
  3. package/CHANGELOG.md +50 -0
  4. package/Dockerfile.database +2 -0
  5. package/docs/self-hosting/advanced/knowledge-base.zh-CN.mdx +65 -0
  6. package/locales/ar/chat.json +46 -3
  7. package/locales/ar/common.json +1 -0
  8. package/locales/ar/components.json +2 -0
  9. package/locales/ar/error.json +1 -0
  10. package/locales/ar/file.json +91 -0
  11. package/locales/ar/knowledgeBase.json +31 -0
  12. package/locales/ar/portal.json +1 -0
  13. package/locales/bg-BG/chat.json +46 -3
  14. package/locales/bg-BG/common.json +1 -0
  15. package/locales/bg-BG/components.json +2 -0
  16. package/locales/bg-BG/error.json +1 -0
  17. package/locales/bg-BG/file.json +91 -0
  18. package/locales/bg-BG/knowledgeBase.json +31 -0
  19. package/locales/bg-BG/portal.json +1 -0
  20. package/locales/de-DE/chat.json +46 -3
  21. package/locales/de-DE/common.json +1 -0
  22. package/locales/de-DE/components.json +2 -0
  23. package/locales/de-DE/error.json +1 -0
  24. package/locales/de-DE/file.json +91 -0
  25. package/locales/de-DE/knowledgeBase.json +31 -0
  26. package/locales/de-DE/portal.json +1 -0
  27. package/locales/en-US/chat.json +46 -3
  28. package/locales/en-US/common.json +1 -0
  29. package/locales/en-US/components.json +2 -0
  30. package/locales/en-US/error.json +1 -0
  31. package/locales/en-US/file.json +91 -0
  32. package/locales/en-US/knowledgeBase.json +31 -0
  33. package/locales/en-US/portal.json +1 -0
  34. package/locales/es-ES/chat.json +46 -3
  35. package/locales/es-ES/common.json +1 -0
  36. package/locales/es-ES/components.json +2 -0
  37. package/locales/es-ES/error.json +1 -0
  38. package/locales/es-ES/file.json +91 -0
  39. package/locales/es-ES/knowledgeBase.json +31 -0
  40. package/locales/es-ES/portal.json +1 -0
  41. package/locales/fr-FR/chat.json +46 -3
  42. package/locales/fr-FR/common.json +1 -0
  43. package/locales/fr-FR/components.json +2 -0
  44. package/locales/fr-FR/error.json +1 -0
  45. package/locales/fr-FR/file.json +91 -0
  46. package/locales/fr-FR/knowledgeBase.json +31 -0
  47. package/locales/fr-FR/portal.json +1 -0
  48. package/locales/it-IT/chat.json +46 -3
  49. package/locales/it-IT/common.json +1 -0
  50. package/locales/it-IT/components.json +2 -0
  51. package/locales/it-IT/error.json +1 -0
  52. package/locales/it-IT/file.json +91 -0
  53. package/locales/it-IT/knowledgeBase.json +31 -0
  54. package/locales/it-IT/portal.json +1 -0
  55. package/locales/ja-JP/chat.json +46 -3
  56. package/locales/ja-JP/common.json +1 -0
  57. package/locales/ja-JP/components.json +2 -0
  58. package/locales/ja-JP/error.json +1 -0
  59. package/locales/ja-JP/file.json +91 -0
  60. package/locales/ja-JP/knowledgeBase.json +31 -0
  61. package/locales/ja-JP/portal.json +1 -0
  62. package/locales/ko-KR/chat.json +46 -3
  63. package/locales/ko-KR/common.json +1 -0
  64. package/locales/ko-KR/components.json +2 -0
  65. package/locales/ko-KR/error.json +1 -0
  66. package/locales/ko-KR/file.json +91 -0
  67. package/locales/ko-KR/knowledgeBase.json +31 -0
  68. package/locales/ko-KR/portal.json +1 -0
  69. package/locales/nl-NL/chat.json +46 -3
  70. package/locales/nl-NL/common.json +1 -0
  71. package/locales/nl-NL/components.json +2 -0
  72. package/locales/nl-NL/error.json +1 -0
  73. package/locales/nl-NL/file.json +91 -0
  74. package/locales/nl-NL/knowledgeBase.json +31 -0
  75. package/locales/nl-NL/portal.json +1 -0
  76. package/locales/pl-PL/chat.json +46 -3
  77. package/locales/pl-PL/common.json +1 -0
  78. package/locales/pl-PL/components.json +2 -0
  79. package/locales/pl-PL/error.json +1 -0
  80. package/locales/pl-PL/file.json +91 -0
  81. package/locales/pl-PL/knowledgeBase.json +31 -0
  82. package/locales/pl-PL/portal.json +1 -0
  83. package/locales/pt-BR/chat.json +46 -3
  84. package/locales/pt-BR/common.json +1 -0
  85. package/locales/pt-BR/components.json +2 -0
  86. package/locales/pt-BR/error.json +1 -0
  87. package/locales/pt-BR/file.json +91 -0
  88. package/locales/pt-BR/knowledgeBase.json +31 -0
  89. package/locales/pt-BR/portal.json +1 -0
  90. package/locales/ru-RU/chat.json +46 -3
  91. package/locales/ru-RU/common.json +1 -0
  92. package/locales/ru-RU/components.json +2 -0
  93. package/locales/ru-RU/error.json +1 -0
  94. package/locales/ru-RU/file.json +91 -0
  95. package/locales/ru-RU/knowledgeBase.json +31 -0
  96. package/locales/ru-RU/portal.json +1 -0
  97. package/locales/tr-TR/chat.json +46 -3
  98. package/locales/tr-TR/common.json +1 -0
  99. package/locales/tr-TR/components.json +2 -0
  100. package/locales/tr-TR/error.json +1 -0
  101. package/locales/tr-TR/file.json +91 -0
  102. package/locales/tr-TR/knowledgeBase.json +31 -0
  103. package/locales/tr-TR/portal.json +1 -0
  104. package/locales/vi-VN/chat.json +46 -3
  105. package/locales/vi-VN/common.json +1 -0
  106. package/locales/vi-VN/components.json +2 -0
  107. package/locales/vi-VN/error.json +1 -0
  108. package/locales/vi-VN/file.json +91 -0
  109. package/locales/vi-VN/knowledgeBase.json +31 -0
  110. package/locales/vi-VN/portal.json +1 -0
  111. package/locales/zh-CN/chat.json +46 -3
  112. package/locales/zh-CN/common.json +1 -0
  113. package/locales/zh-CN/components.json +2 -0
  114. package/locales/zh-CN/error.json +1 -0
  115. package/locales/zh-CN/file.json +91 -0
  116. package/locales/zh-CN/knowledgeBase.json +31 -0
  117. package/locales/zh-CN/portal.json +1 -0
  118. package/locales/zh-TW/chat.json +46 -3
  119. package/locales/zh-TW/common.json +1 -0
  120. package/locales/zh-TW/components.json +2 -0
  121. package/locales/zh-TW/error.json +1 -0
  122. package/locales/zh-TW/file.json +91 -0
  123. package/locales/zh-TW/knowledgeBase.json +31 -0
  124. package/locales/zh-TW/portal.json +1 -0
  125. package/package.json +3 -2
  126. package/scripts/migrateServerDB/docker.cjs +6 -0
  127. package/scripts/migrateServerDB/errorHint.js +17 -0
  128. package/scripts/migrateServerDB/index.ts +6 -0
  129. package/src/app/(main)/chat/(workspace)/@conversation/features/ChatInput/Desktop/FilePreview/FileItem/Content.tsx +37 -0
  130. package/src/app/(main)/chat/(workspace)/@conversation/features/ChatInput/Desktop/FilePreview/FileItem/index.tsx +87 -0
  131. package/src/app/(main)/chat/(workspace)/@conversation/features/ChatInput/Desktop/FilePreview/FileItem/style.ts +4 -0
  132. package/src/app/(main)/chat/(workspace)/@conversation/features/ChatInput/Desktop/FilePreview/FileItem/utils.ts +28 -0
  133. package/src/app/(main)/chat/(workspace)/@conversation/features/ChatInput/Desktop/FilePreview/FileList.tsx +41 -0
  134. package/src/app/(main)/chat/(workspace)/@conversation/features/ChatInput/Desktop/FilePreview/index.tsx +40 -0
  135. package/src/app/(main)/chat/(workspace)/@conversation/features/ChatInput/Desktop/Footer/SendMore.tsx +1 -1
  136. package/src/app/(main)/chat/(workspace)/@conversation/features/ChatInput/Desktop/Footer/index.tsx +7 -22
  137. package/src/app/(main)/chat/(workspace)/@conversation/features/ChatInput/Desktop/TextArea.tsx +1 -1
  138. package/src/app/(main)/chat/(workspace)/@conversation/features/ChatInput/Desktop/index.tsx +2 -4
  139. package/src/app/(main)/chat/(workspace)/@conversation/features/ChatInput/Mobile/Files/FileItem/File.tsx +72 -0
  140. package/src/app/(main)/chat/(workspace)/@conversation/features/ChatInput/Mobile/Files/FileItem/Image.tsx +74 -0
  141. package/src/app/(main)/chat/(workspace)/@conversation/features/ChatInput/Mobile/Files/FileItem/index.tsx +39 -0
  142. package/src/app/(main)/chat/(workspace)/@conversation/features/ChatInput/Mobile/Files/FileItem/style.ts +1 -0
  143. package/src/app/(main)/chat/(workspace)/@conversation/features/ChatInput/Mobile/Files/index.tsx +33 -0
  144. package/src/app/(main)/chat/(workspace)/@conversation/features/ChatInput/Mobile/InputArea/Container.tsx +41 -0
  145. package/src/app/(main)/chat/(workspace)/@conversation/features/ChatInput/Mobile/InputArea/index.tsx +154 -0
  146. package/src/app/(main)/chat/(workspace)/@conversation/features/ChatInput/Mobile/Send.tsx +34 -0
  147. package/src/app/(main)/chat/(workspace)/@conversation/features/ChatInput/Mobile/index.tsx +24 -11
  148. package/src/app/(main)/chat/(workspace)/@conversation/features/ChatInput/components/UploadDetail/UploadStatus.tsx +71 -0
  149. package/src/app/(main)/chat/(workspace)/@conversation/features/ChatInput/components/UploadDetail/index.tsx +49 -0
  150. package/src/app/(main)/chat/(workspace)/@portal/FilePreview/index.tsx +26 -0
  151. package/src/app/(main)/chat/(workspace)/@portal/Home/Files/FileList/Item.tsx +53 -0
  152. package/src/app/(main)/chat/(workspace)/@portal/Home/Files/FileList/index.tsx +50 -0
  153. package/src/app/(main)/chat/(workspace)/@portal/Home/Files/index.tsx +21 -0
  154. package/src/app/(main)/chat/(workspace)/@portal/Home/index.tsx +2 -0
  155. package/src/app/(main)/chat/(workspace)/@portal/router.tsx +4 -0
  156. package/src/app/(main)/chat/(workspace)/_layout/Desktop/ChatHeader/KnowledgeTag.tsx +41 -0
  157. package/src/app/(main)/chat/(workspace)/_layout/Desktop/ChatHeader/Tags.tsx +7 -2
  158. package/src/app/(main)/chat/(workspace)/_layout/Desktop/HotKeys.tsx +1 -1
  159. package/src/app/(main)/files/(content)/@menu/default.tsx +27 -0
  160. package/src/app/(main)/files/(content)/@menu/features/FileMenu/index.tsx +97 -0
  161. package/src/app/(main)/files/(content)/@menu/features/KnowledgeBase/EmptyStatus.tsx +53 -0
  162. package/src/app/(main)/files/(content)/@menu/features/KnowledgeBase/Item/Content.tsx +175 -0
  163. package/src/app/(main)/files/(content)/@menu/features/KnowledgeBase/Item/index.tsx +69 -0
  164. package/src/app/(main)/files/(content)/@menu/features/KnowledgeBase/KnowledgeBaseList.tsx +30 -0
  165. package/src/app/(main)/files/(content)/@menu/features/KnowledgeBase/SkeletonList.tsx +57 -0
  166. package/src/app/(main)/files/(content)/@menu/features/KnowledgeBase/index.tsx +54 -0
  167. package/src/app/(main)/files/(content)/@modal/(.)[id]/FileDetail.tsx +16 -0
  168. package/src/app/(main)/files/(content)/@modal/(.)[id]/FilePreview.tsx +15 -0
  169. package/src/app/(main)/files/(content)/@modal/(.)[id]/FullscreenModal.tsx +85 -0
  170. package/src/app/(main)/files/(content)/@modal/(.)[id]/page.tsx +19 -0
  171. package/src/app/(main)/files/(content)/@modal/default.tsx +3 -0
  172. package/src/app/(main)/files/(content)/NotSupportClient.tsx +152 -0
  173. package/src/app/(main)/files/(content)/_layout/Desktop/index.tsx +28 -0
  174. package/src/app/(main)/files/(content)/_layout/Mobile.tsx +47 -0
  175. package/src/app/(main)/files/(content)/_layout/type.ts +7 -0
  176. package/src/app/(main)/files/(content)/layout.tsx +18 -0
  177. package/src/app/(main)/files/(content)/page.tsx +14 -0
  178. package/src/app/(main)/files/[id]/Header.tsx +63 -0
  179. package/src/app/(main)/files/[id]/page.tsx +44 -0
  180. package/src/app/(main)/files/features/FileDetail.tsx +93 -0
  181. package/src/app/(main)/files/hooks/useFileCategory.ts +9 -0
  182. package/src/app/(main)/files/layout.tsx +12 -0
  183. package/src/app/(main)/files/loading.tsx +21 -0
  184. package/src/app/(main)/repos/[id]/@menu/Head/index.tsx +33 -0
  185. package/src/app/(main)/repos/[id]/@menu/Menu/index.tsx +56 -0
  186. package/src/app/(main)/repos/[id]/@menu/default.tsx +25 -0
  187. package/src/app/(main)/repos/[id]/_layout/Desktop/index.tsx +25 -0
  188. package/src/app/(main)/repos/[id]/_layout/Mobile.tsx +47 -0
  189. package/src/app/(main)/repos/[id]/_layout/type.ts +6 -0
  190. package/src/app/(main)/repos/[id]/hooks/useKnowledgeItem.ts +7 -0
  191. package/src/app/(main)/repos/[id]/layout.tsx +13 -0
  192. package/src/app/(main)/repos/[id]/page.tsx +18 -0
  193. package/src/app/(main)/repos/layout.tsx +13 -0
  194. package/src/app/(main)/repos/page.tsx +5 -0
  195. package/src/app/trpc/async/[trpc]/route.ts +28 -0
  196. package/src/chains/abstractChunk.ts +19 -0
  197. package/src/chains/answerWithContext.ts +34 -0
  198. package/src/chains/rewriteQuery.ts +22 -0
  199. package/src/components/DragUpload/index.tsx +6 -99
  200. package/src/components/DragUpload/useDragUpload.tsx +146 -0
  201. package/src/components/FeatureList/index.tsx +64 -0
  202. package/src/components/FileParsingStatus/index.tsx +230 -0
  203. package/src/components/ImageItem/index.tsx +10 -2
  204. package/src/components/KnowledgeIcon/index.tsx +28 -0
  205. package/src/config/app.ts +6 -1
  206. package/src/config/featureFlags/schema.ts +1 -1
  207. package/src/config/modelProviders/bedrock.ts +5 -5
  208. package/src/const/file.ts +1 -0
  209. package/src/const/url.ts +1 -0
  210. package/src/database/client/models/file.ts +8 -2
  211. package/src/database/server/migrations/0005_pgvector.sql +2 -0
  212. package/src/database/server/migrations/0006_add_knowledge_base.sql +307 -0
  213. package/src/database/server/migrations/meta/0005_snapshot.json +2119 -0
  214. package/src/database/server/migrations/meta/0006_snapshot.json +3006 -0
  215. package/src/database/server/migrations/meta/_journal.json +14 -0
  216. package/src/database/server/models/__tests__/_test_template.ts +155 -0
  217. package/src/database/server/models/__tests__/agent.test.ts +226 -0
  218. package/src/database/server/models/__tests__/asyncTask.test.ts +176 -0
  219. package/src/database/server/models/__tests__/chunk.test.ts +336 -0
  220. package/src/database/server/models/__tests__/file.test.ts +317 -29
  221. package/src/database/server/models/__tests__/fixtures/embedding.ts +568 -0
  222. package/src/database/server/models/__tests__/knowledgeBase.test.ts +132 -0
  223. package/src/database/server/models/__tests__/message.test.ts +7 -4
  224. package/src/database/server/models/_template.ts +10 -1
  225. package/src/database/server/models/agent.ts +165 -0
  226. package/src/database/server/models/asyncTask.ts +96 -0
  227. package/src/database/server/models/chunk.ts +203 -0
  228. package/src/database/server/models/embedding.ts +47 -0
  229. package/src/database/server/models/file.ts +231 -12
  230. package/src/database/server/models/knowledgeBase.ts +94 -0
  231. package/src/database/server/models/message.ts +156 -30
  232. package/src/database/server/models/user.ts +12 -1
  233. package/src/database/server/schemas/lobechat/agent.ts +93 -0
  234. package/src/database/server/schemas/lobechat/discover.ts +1 -1
  235. package/src/database/server/schemas/lobechat/file.ts +118 -1
  236. package/src/database/server/schemas/lobechat/index.ts +5 -1
  237. package/src/database/server/schemas/lobechat/message.ts +169 -0
  238. package/src/database/server/schemas/lobechat/rag.ts +51 -0
  239. package/src/database/server/schemas/lobechat/relations.ts +68 -48
  240. package/src/database/server/schemas/lobechat/session.ts +77 -0
  241. package/src/database/server/schemas/lobechat/topic.ts +32 -0
  242. package/src/database/server/schemas/lobechat/user.ts +40 -25
  243. package/src/database/server/utils/idGenerator.ts +1 -0
  244. package/src/features/ChatInput/ActionBar/Clear.tsx +1 -1
  245. package/src/features/ChatInput/ActionBar/Knowledge/Dropdown.tsx +160 -0
  246. package/src/features/ChatInput/ActionBar/Knowledge/ListItem.tsx +52 -0
  247. package/src/features/ChatInput/ActionBar/Knowledge/index.tsx +54 -0
  248. package/src/features/ChatInput/ActionBar/Tools/index.tsx +1 -1
  249. package/src/features/ChatInput/ActionBar/Upload/ClientMode.tsx +52 -0
  250. package/src/features/ChatInput/ActionBar/Upload/ServerMode.tsx +104 -0
  251. package/src/features/ChatInput/ActionBar/Upload/index.tsx +8 -0
  252. package/src/features/ChatInput/ActionBar/config.ts +14 -5
  253. package/src/features/ChatInput/useSend.ts +16 -7
  254. package/src/features/Conversation/Messages/Assistant/FileChunks/Item/index.tsx +51 -0
  255. package/src/features/Conversation/Messages/Assistant/FileChunks/Item/style.ts +38 -0
  256. package/src/features/Conversation/Messages/Assistant/FileChunks/index.tsx +76 -0
  257. package/src/features/Conversation/Messages/Assistant/index.tsx +13 -4
  258. package/src/features/Conversation/Messages/Default.tsx +4 -0
  259. package/src/features/Conversation/Messages/User/BelowMessage.tsx +78 -0
  260. package/src/features/Conversation/Messages/User/FileListViewer/Item.tsx +53 -0
  261. package/src/features/Conversation/Messages/User/FileListViewer/index.tsx +21 -0
  262. package/src/{components/FileList/FileListViewer.tsx → features/Conversation/Messages/User/ImageFileListViewer.tsx} +10 -2
  263. package/src/features/Conversation/Messages/{User.tsx → User/index.tsx} +11 -2
  264. package/src/features/Conversation/Messages/index.ts +8 -3
  265. package/src/features/Conversation/components/ChatItem/index.tsx +33 -10
  266. package/src/features/Conversation/components/InboxWelcome/QuestionSuggest.tsx +1 -1
  267. package/src/features/Conversation/types/index.tsx +1 -0
  268. package/src/features/FileManager/ChunkDrawer/ChunkList/ChunkItem.tsx +61 -0
  269. package/src/features/FileManager/ChunkDrawer/ChunkList/index.tsx +42 -0
  270. package/src/features/FileManager/ChunkDrawer/Content.tsx +38 -0
  271. package/src/features/FileManager/ChunkDrawer/Loading/index.tsx +16 -0
  272. package/src/features/FileManager/ChunkDrawer/SimilaritySearchList/Item.tsx +62 -0
  273. package/src/features/FileManager/ChunkDrawer/SimilaritySearchList/index.tsx +31 -0
  274. package/src/features/FileManager/ChunkDrawer/index.tsx +48 -0
  275. package/src/features/FileManager/FileList/EmptyStatus.tsx +153 -0
  276. package/src/features/FileManager/FileList/FileListItem/ChunkTag.tsx +35 -0
  277. package/src/features/FileManager/FileList/FileListItem/DropdownMenu.tsx +150 -0
  278. package/src/features/FileManager/FileList/FileListItem/index.tsx +211 -0
  279. package/src/features/FileManager/FileList/FileSkeleton.tsx +25 -0
  280. package/src/features/FileManager/FileList/ToolBar/Config.tsx +28 -0
  281. package/src/features/FileManager/FileList/ToolBar/MultiSelectActions.tsx +152 -0
  282. package/src/features/FileManager/FileList/ToolBar/index.tsx +114 -0
  283. package/src/features/FileManager/FileList/index.tsx +143 -0
  284. package/src/features/FileManager/FileList/useCheckTaskStatus.ts +27 -0
  285. package/src/features/FileManager/Header/FilesSearchBar.tsx +41 -0
  286. package/src/features/FileManager/Header/UploadFileButton.tsx +79 -0
  287. package/src/features/FileManager/Header/index.tsx +39 -0
  288. package/src/features/FileManager/UploadDock/Item.tsx +124 -0
  289. package/src/features/FileManager/UploadDock/index.tsx +183 -0
  290. package/src/features/FileManager/index.tsx +38 -0
  291. package/src/features/FileSidePanel/index.tsx +79 -0
  292. package/src/features/FileViewer/NotSupport/index.tsx +54 -0
  293. package/src/features/FileViewer/PDFViewer/HighlightLayer.tsx +81 -0
  294. package/src/features/FileViewer/PDFViewer/index.tsx +93 -0
  295. package/src/features/FileViewer/PDFViewer/style.ts +20 -0
  296. package/src/features/FileViewer/PDFViewer/useResizeObserver.ts +33 -0
  297. package/src/features/FileViewer/TXTViewer/index.tsx +41 -0
  298. package/src/features/FileViewer/index.tsx +45 -0
  299. package/src/features/KnowledgeBaseModal/AddFilesToKnowledgeBase/SelectForm.tsx +115 -0
  300. package/src/features/KnowledgeBaseModal/AddFilesToKnowledgeBase/index.tsx +43 -0
  301. package/src/features/KnowledgeBaseModal/AssignKnowledgeBase/Item/Action.tsx +103 -0
  302. package/src/features/KnowledgeBaseModal/AssignKnowledgeBase/Item/EditCustomPlugin.tsx +55 -0
  303. package/src/features/KnowledgeBaseModal/AssignKnowledgeBase/Item/PluginTag.tsx +58 -0
  304. package/src/features/KnowledgeBaseModal/AssignKnowledgeBase/Item/index.tsx +70 -0
  305. package/src/features/KnowledgeBaseModal/AssignKnowledgeBase/List.tsx +49 -0
  306. package/src/features/KnowledgeBaseModal/AssignKnowledgeBase/Loading.tsx +13 -0
  307. package/src/features/KnowledgeBaseModal/AssignKnowledgeBase/index.tsx +39 -0
  308. package/src/features/KnowledgeBaseModal/CreateNew/CreateForm.tsx +73 -0
  309. package/src/features/KnowledgeBaseModal/CreateNew/index.tsx +35 -0
  310. package/src/features/KnowledgeBaseModal/index.ts +3 -0
  311. package/src/libs/langchain/loaders/pdf/index.ts +2 -2
  312. package/src/libs/trpc/async/asyncAuth.ts +24 -0
  313. package/src/libs/trpc/async/index.ts +10 -0
  314. package/src/libs/trpc/async/init.ts +11 -0
  315. package/src/libs/trpc/client/async.ts +14 -0
  316. package/src/libs/trpc/client/index.ts +1 -0
  317. package/src/libs/trpc/client/lambda.ts +9 -0
  318. package/src/libs/trpc/middleware/keyVaults.ts +18 -0
  319. package/src/libs/unstructured/__tests__/index.test.ts +0 -10
  320. package/src/libs/unstructured/index.ts +6 -11
  321. package/src/locales/default/chat.ts +47 -3
  322. package/src/locales/default/common.ts +1 -0
  323. package/src/locales/default/components.ts +2 -0
  324. package/src/locales/default/error.ts +6 -1
  325. package/src/locales/default/file.ts +92 -0
  326. package/src/locales/default/index.ts +4 -0
  327. package/src/locales/default/knowledgeBase.ts +31 -0
  328. package/src/locales/default/portal.ts +1 -0
  329. package/src/middleware.ts +3 -0
  330. package/src/server/asyncContext.ts +40 -0
  331. package/src/server/modules/ContentChunk/index.ts +135 -0
  332. package/src/server/modules/S3/index.ts +30 -5
  333. package/src/server/routers/async/caller.ts +27 -0
  334. package/src/server/routers/async/file.ts +247 -0
  335. package/src/server/routers/async/index.ts +12 -0
  336. package/src/server/routers/lambda/_template.ts +77 -0
  337. package/src/server/routers/lambda/agent.ts +159 -0
  338. package/src/server/routers/lambda/chunk.ts +189 -0
  339. package/src/server/routers/lambda/file.ts +129 -5
  340. package/src/server/routers/lambda/index.ts +6 -0
  341. package/src/server/routers/lambda/knowledgeBase.ts +79 -0
  342. package/src/server/routers/lambda/message.ts +6 -0
  343. package/src/server/routers/lambda/session.ts +0 -25
  344. package/src/server/routers/lambda/user.ts +5 -1
  345. package/src/server/services/chunk/index.ts +74 -0
  346. package/src/server/utils/files.ts +9 -0
  347. package/src/services/__tests__/chat.test.ts +18 -20
  348. package/src/services/__tests__/{upload.test.ts → upload_legacy.test.ts} +1 -1
  349. package/src/services/agent.ts +45 -0
  350. package/src/services/chat.ts +17 -15
  351. package/src/services/file/client.test.ts +1 -50
  352. package/src/services/file/client.ts +12 -25
  353. package/src/services/file/server.ts +25 -3
  354. package/src/services/file/type.ts +7 -4
  355. package/src/services/knowledgeBase.ts +34 -0
  356. package/src/services/message/client.test.ts +1 -1
  357. package/src/services/message/client.ts +29 -3
  358. package/src/services/message/index.ts +0 -2
  359. package/src/services/message/server.ts +9 -3
  360. package/src/services/message/type.ts +1 -13
  361. package/src/services/rag.ts +29 -0
  362. package/src/services/session/server.ts +1 -1
  363. package/src/services/upload.ts +89 -84
  364. package/src/services/upload_legacy.ts +104 -0
  365. package/src/services/user/client.ts +7 -2
  366. package/src/services/user/server.ts +6 -2
  367. package/src/services/user/type.ts +3 -2
  368. package/src/store/agent/slices/chat/action.ts +90 -18
  369. package/src/store/agent/slices/chat/initialState.ts +1 -0
  370. package/src/store/agent/slices/chat/selectors.ts +58 -0
  371. package/src/store/chat/slices/builtinTool/action.test.ts +2 -2
  372. package/src/store/chat/slices/builtinTool/action.ts +2 -2
  373. package/src/store/chat/slices/message/action.test.ts +2 -1
  374. package/src/store/chat/slices/message/action.ts +102 -26
  375. package/src/store/chat/slices/message/actions/rag.ts +148 -0
  376. package/src/store/chat/slices/message/initialState.ts +7 -0
  377. package/src/store/chat/slices/message/reducer.ts +6 -2
  378. package/src/store/chat/slices/message/selectors.ts +38 -3
  379. package/src/store/chat/slices/plugin/action.ts +8 -2
  380. package/src/store/chat/slices/portal/action.ts +8 -0
  381. package/src/store/chat/slices/portal/initialState.ts +3 -0
  382. package/src/store/chat/slices/portal/selectors.ts +8 -2
  383. package/src/store/file/initialState.ts +5 -1
  384. package/src/store/file/reducers/uploadFileList.ts +133 -0
  385. package/src/store/file/selectors.ts +3 -0
  386. package/src/store/file/slices/chat/action.test.ts +90 -90
  387. package/src/store/file/slices/chat/action.ts +164 -109
  388. package/src/store/file/slices/chat/initialState.ts +7 -2
  389. package/src/store/file/slices/chat/selectors.test.ts +84 -61
  390. package/src/store/file/slices/chat/selectors.ts +22 -32
  391. package/src/store/file/slices/chunk/action.ts +36 -0
  392. package/src/store/file/slices/chunk/index.ts +3 -0
  393. package/src/store/file/slices/chunk/initialState.ts +15 -0
  394. package/src/store/file/slices/chunk/selectors.ts +10 -0
  395. package/src/store/file/slices/fileManager/action.ts +187 -0
  396. package/src/store/file/slices/fileManager/index.ts +3 -0
  397. package/src/store/file/slices/fileManager/initialState.ts +18 -0
  398. package/src/store/file/slices/fileManager/selectors.ts +58 -0
  399. package/src/store/file/slices/tts/action.test.ts +1 -1
  400. package/src/store/file/slices/tts/action.ts +2 -2
  401. package/src/store/file/slices/upload/action.ts +164 -0
  402. package/src/store/file/store.ts +12 -1
  403. package/src/store/knowledgeBase/index.ts +2 -0
  404. package/src/store/knowledgeBase/initialState.ts +7 -0
  405. package/src/store/knowledgeBase/selectors.ts +1 -0
  406. package/src/store/knowledgeBase/slices/content/action.ts +27 -0
  407. package/src/store/knowledgeBase/slices/content/index.ts +1 -0
  408. package/src/store/knowledgeBase/slices/crud/action.ts +78 -0
  409. package/src/store/knowledgeBase/slices/crud/index.ts +3 -0
  410. package/src/store/knowledgeBase/slices/crud/initialState.ts +12 -0
  411. package/src/store/knowledgeBase/slices/crud/selectors.ts +7 -0
  412. package/src/store/knowledgeBase/store.ts +30 -0
  413. package/src/store/serverConfig/selectors.test.ts +1 -1
  414. package/src/store/user/slices/preference/selectors.ts +8 -0
  415. package/src/store/user/slices/settings/selectors/systemAgent.ts +2 -0
  416. package/src/tools/dalle/Render/Item/ImageFileItem.tsx +3 -23
  417. package/src/types/agent/index.ts +9 -0
  418. package/src/types/asyncTask.ts +31 -0
  419. package/src/types/chunk/document.ts +9 -0
  420. package/src/types/chunk/index.ts +52 -0
  421. package/src/types/files/index.ts +35 -0
  422. package/src/types/files/list.ts +44 -0
  423. package/src/types/files/upload.ts +91 -0
  424. package/src/types/knowledgeBase/index.ts +45 -0
  425. package/src/types/message/index.ts +54 -5
  426. package/src/types/rag.ts +16 -0
  427. package/src/utils/filter.test.ts +2 -0
  428. package/src/utils/server/auth.ts +23 -0
  429. package/src/app/(main)/chat/(workspace)/@conversation/features/ChatInput/Desktop/LocalFiles.tsx +0 -46
  430. package/src/app/(main)/chat/(workspace)/@conversation/features/ChatInput/Mobile/Files.tsx +0 -19
  431. package/src/components/FileList/EditableFileList.tsx +0 -47
  432. package/src/components/FileList/index.ts +0 -2
  433. package/src/components/FileList/type.tsx +0 -7
  434. package/src/database/server/schemas/lobechat/chat.ts +0 -331
  435. package/src/features/ChatInput/ActionBar/FileUpload.tsx +0 -69
  436. package/src/features/ChatInput/useChatInput.ts +0 -45
  437. package/src/features/FileList/EditableFileList.tsx +0 -31
  438. package/src/features/FileList/FileListPreviewer.tsx +0 -17
  439. package/src/features/FileList/index.tsx +0 -2
  440. package/src/types/files.ts +0 -42
@@ -11,7 +11,7 @@ jobs:
11
11
 
12
12
  services:
13
13
  postgres:
14
- image: postgres:16
14
+ image: pgvector/pgvector:pg16
15
15
  env:
16
16
  POSTGRES_PASSWORD: postgres
17
17
  options: >-
@@ -40,6 +40,7 @@ jobs:
40
40
  DATABASE_DRIVER: node
41
41
  NEXT_PUBLIC_SERVICE_MODE: server
42
42
  KEY_VAULTS_SECRET: LA7n9k3JdEcbSgml2sxfw+4TV1AzaaFU5+R176aQz4s=
43
+ NEXT_PUBLIC_S3_DOMAIN: https://example.com
43
44
 
44
45
  - name: Test App Coverage
45
46
  run: bun run test-app:coverage
@@ -8,7 +8,7 @@ jobs:
8
8
 
9
9
  services:
10
10
  postgres:
11
- image: postgres:16
11
+ image: pgvector/pgvector:pg16
12
12
  env:
13
13
  POSTGRES_PASSWORD: postgres
14
14
  options: >-
@@ -39,6 +39,7 @@ jobs:
39
39
  DATABASE_DRIVER: node
40
40
  NEXT_PUBLIC_SERVICE_MODE: server
41
41
  KEY_VAULTS_SECRET: LA7n9k3JdEcbSgml2sxfw+4TV1AzaaFU5+R176aQz4s=
42
+ NEXT_PUBLIC_S3_DOMAIN: https://example.com
42
43
 
43
44
  - name: Upload Server coverage to Codecov
44
45
  uses: codecov/codecov-action@v4
package/CHANGELOG.md CHANGED
@@ -2,6 +2,56 @@
2
2
 
3
3
  # Changelog
4
4
 
5
+ ## [Version 1.12.0](https://github.com/lobehub/lobe-chat/compare/v1.11.9...v1.12.0)
6
+
7
+ <sup>Released on **2024-08-21**</sup>
8
+
9
+ #### ✨ Features
10
+
11
+ - **misc**: Files and knowledge base.
12
+
13
+ <br/>
14
+
15
+ <details>
16
+ <summary><kbd>Improvements and Fixes</kbd></summary>
17
+
18
+ #### What's improved
19
+
20
+ - **misc**: Files and knowledge base, closes [#3487](https://github.com/lobehub/lobe-chat/issues/3487) ([6574c01](https://github.com/lobehub/lobe-chat/commit/6574c01))
21
+
22
+ </details>
23
+
24
+ <div align="right">
25
+
26
+ [![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)
27
+
28
+ </div>
29
+
30
+ ### [Version 1.11.9](https://github.com/lobehub/lobe-chat/compare/v1.11.8...v1.11.9)
31
+
32
+ <sup>Released on **2024-08-19**</sup>
33
+
34
+ #### 🐛 Bug Fixes
35
+
36
+ - **misc**: Fixed bedrock llama model id.
37
+
38
+ <br/>
39
+
40
+ <details>
41
+ <summary><kbd>Improvements and Fixes</kbd></summary>
42
+
43
+ #### What's fixed
44
+
45
+ - **misc**: Fixed bedrock llama model id, closes [#3518](https://github.com/lobehub/lobe-chat/issues/3518) ([34b4c69](https://github.com/lobehub/lobe-chat/commit/34b4c69))
46
+
47
+ </details>
48
+
49
+ <div align="right">
50
+
51
+ [![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)
52
+
53
+ </div>
54
+
5
55
  ### [Version 1.11.8](https://github.com/lobehub/lobe-chat/compare/v1.11.7...v1.11.8)
6
56
 
7
57
  <sup>Released on **2024-08-19**</sup>
@@ -92,6 +92,7 @@ COPY --from=builder /deps/node_modules/drizzle-orm /app/node_modules/drizzle-orm
92
92
  # Copy database migrations
93
93
  COPY --from=builder /app/src/database/server/migrations /app/migrations
94
94
  COPY --from=builder /app/scripts/migrateServerDB/docker.cjs /app/docker.cjs
95
+ COPY --from=builder /app/scripts/migrateServerDB/errorHint.js /app/errorHint.js
95
96
 
96
97
  ## Production image, copy all the files and run next
97
98
  FROM base
@@ -107,6 +108,7 @@ ENV HOSTNAME="0.0.0.0" \
107
108
 
108
109
  # General Variables
109
110
  ENV ACCESS_CODE="" \
111
+ APP_URL="" \
110
112
  API_KEY_SELECT_MODE="" \
111
113
  DEFAULT_AGENT_CONFIG="" \
112
114
  SYSTEM_AGENT="" \
@@ -0,0 +1,65 @@
1
+ # 知识库/文件上传
2
+
3
+ LobeChat 支持文件上传/知识库管理。该功能依赖于以下核心技术组件,了解这些组件将有助于你成功部署和维护知识库系统。
4
+
5
+ ## 核心组件
6
+
7
+ ### 1. PostgreSQL 与 PGVector
8
+
9
+ PostgreSQL 是一个强大的开源关系型数据库系统,而 PGVector 是其扩展,为向量操作提供支持。
10
+
11
+ - **用途**:存储结构化数据和向量索引
12
+ - **部署建议**:使用官方 Docker 镜像可以快速部署 PostgreSQL 和 PGVector
13
+
14
+ 示例部署脚本:
15
+
16
+ ```
17
+ docker run -p 5432:5432 -d --name pg -e POSTGRES_PASSWORD=mysecretpassword pgvector/pgvector:pg16
18
+ ```
19
+
20
+ - **注意事项**:确保分配足够的资源以处理向量操作
21
+
22
+ ### 2. S3 兼容的对象存储
23
+
24
+ S3(或兼容 S3 协议的存储服务)用于存储上传的文件。
25
+
26
+ - **用途**:存储原始文件
27
+ - **选项**:可以使用 AWS S3、MinIO 或其他兼容 S3 协议的存储服务
28
+ - **注意事项**:配置适当的访问权限和安全策略
29
+
30
+ ### 3. OpenAI Embedding
31
+
32
+ OpenAI 的嵌入(Embedding)服务用于将文本转化为向量表示。
33
+
34
+ - **用途**:生成文本的向量表示,用于语义搜索
35
+ - **注意事项**:
36
+ - 需要有效的 OpenAI API 密钥
37
+ - 实施适当的 API 调用限制和错误处理机制
38
+
39
+ ### 4. Unstructured.io(可选)
40
+
41
+ Unstructured.io 是一个强大的文档处理工具。
42
+
43
+ - **用途**:处理复杂的文档格式,提取结构化信息
44
+ - **应用场景**:处理 PDF、Word 等非纯文本格式的文档
45
+ - **注意事项**:评估处理需求,根据文档复杂度决定是否部署
46
+
47
+ ## 部署注意事项
48
+
49
+ 1. **数据安全**:确保所有组件都有适当的安全措施,特别是涉及敏感数据时。
50
+
51
+ 2. **性能优化**:
52
+
53
+ - 为 PostgreSQL 和 PGVector 配置足够的计算资源
54
+ - 优化 S3 存储的访问策略和缓存机制
55
+
56
+ 3. **可扩展性**:设计架构时考虑未来可能的数据增长和用户增加。
57
+
58
+ 4. **监控与维护**:
59
+
60
+ - 实施日志记录和监控系统
61
+ - 定期备份数据库和对象存储
62
+
63
+ 5. **合规性**:确保部署符合相关的数据保护法规和隐私政策。
64
+
65
+ 通过正确配置和集成这些核心组件,您可以为 LobeChat 构建一个强大、高效的知识库系统。每个组件都在整体架构中扮演着关键角色,共同支持高级的文档管理和智能检索功能。
@@ -36,6 +36,24 @@
36
36
  "stop": "توقف",
37
37
  "warp": "تغيير السطر"
38
38
  },
39
+ "knowledgeBase": {
40
+ "all": "جميع المحتويات",
41
+ "allFiles": "جميع الملفات",
42
+ "allKnowledgeBases": "جميع قواعد المعرفة",
43
+ "disabled": "وضع النشر الحالي لا يدعم محادثات قاعدة المعرفة، إذا كنت ترغب في الاستخدام، يرجى التبديل إلى نشر قاعدة البيانات على الخادم أو استخدام خدمة LobeChat Cloud",
44
+ "library": {
45
+ "action": {
46
+ "add": "إضافة",
47
+ "detail": "تفاصيل",
48
+ "remove": "إزالة"
49
+ },
50
+ "title": "الملفات/قاعدة المعرفة"
51
+ },
52
+ "relativeFilesOrKnowledgeBases": "ملفات/قواعد معرفة مرتبطة",
53
+ "title": "قاعدة المعرفة",
54
+ "uploadGuide": "يمكنك عرض الملفات التي تم تحميلها في «قاعدة المعرفة»",
55
+ "viewMore": "عرض المزيد"
56
+ },
39
57
  "messageAction": {
40
58
  "delAndRegenerate": "حذف وإعادة الإنشاء",
41
59
  "regenerate": "إعادة الإنشاء"
@@ -43,6 +61,15 @@
43
61
  "newAgent": "مساعد جديد",
44
62
  "pin": "تثبيت",
45
63
  "pinOff": "إلغاء التثبيت",
64
+ "rag": {
65
+ "referenceChunks": "مراجع",
66
+ "userQuery": {
67
+ "actions": {
68
+ "delete": "حذف الاستعلام",
69
+ "regenerate": "إعادة توليد الاستعلام"
70
+ }
71
+ }
72
+ },
46
73
  "regenerate": "إعادة الإنشاء",
47
74
  "roleAndArchive": "الدور والأرشيف",
48
75
  "searchAgentPlaceholder": "البحث عن مساعد ومحادثة...",
@@ -129,8 +156,24 @@
129
156
  },
130
157
  "updateAgent": "تحديث معلومات المساعد",
131
158
  "upload": {
132
- "actionFiletip": "تحميل المستند",
133
- "actionTooltip": "تحميل الصورة",
134
- "disabled": "النموذج الحالي لا يدعم التعرف على الرؤية، يرجى تغيير النموذج المستخدم"
159
+ "action": {
160
+ "fileUpload": "رفع ملف",
161
+ "folderUpload": "رفع مجلد",
162
+ "imageDisabled": "النموذج الحالي لا يدعم التعرف على الصور، يرجى تغيير النموذج لاستخدامه",
163
+ "imageUpload": "رفع صورة",
164
+ "tooltip": "رفع"
165
+ },
166
+ "clientMode": {
167
+ "actionFiletip": "رفع ملف",
168
+ "actionTooltip": "رفع",
169
+ "disabled": "النموذج الحالي لا يدعم التعرف على الصور وتحليل الملفات، يرجى تغيير النموذج لاستخدامه"
170
+ },
171
+ "preview": {
172
+ "prepareTasks": "تحضير الأجزاء...",
173
+ "status": {
174
+ "pending": "يتم التحضير للتحميل...",
175
+ "processing": "يتم معالجة الملف..."
176
+ }
177
+ }
135
178
  }
136
179
  }
@@ -13,6 +13,7 @@
13
13
  "autoGenerate": "توليد تلقائي",
14
14
  "autoGenerateTooltip": "إكمال تلقائي بناءً على الكلمات المقترحة لوصف المساعد",
15
15
  "autoGenerateTooltipDisabled": "الرجاء إدخال كلمة تلميح قبل تفعيل وظيفة الإكمال التلقائي",
16
+ "back": "عودة",
16
17
  "batchDelete": "حذف دفعة",
17
18
  "blog": "مدونة المنتجات",
18
19
  "cancel": "إلغاء",
@@ -50,6 +50,8 @@
50
50
  "chunks": {
51
51
  "embeddingStatus": {
52
52
  "empty": "لم يتم تحويل كتل النص بالكامل إلى متجهات، مما سيؤدي إلى عدم توفر وظيفة البحث الدلالي، لتحسين جودة البحث، يرجى تحويل كتل النص إلى متجهات",
53
+ "error": "فشل في تحويل البيانات إلى متجهات",
54
+ "errorResult": "فشل في تحويل البيانات إلى متجهات، يرجى التحقق والمحاولة مرة أخرى. سبب الفشل:",
53
55
  "processing": "يتم تحويل كتل النص إلى متجهات، يرجى الانتظار",
54
56
  "success": "تم تحويل جميع كتل النص الحالية إلى متجهات"
55
57
  },
@@ -115,6 +115,7 @@
115
115
  },
116
116
  "upload": {
117
117
  "desc": "التفاصيل: {{detail}}",
118
+ "fileOnlySupportInServerMode": "وضع النشر الحالي لا يدعم تحميل ملفات غير الصور. إذا كنت بحاجة إلى تحميل تنسيق {{ext}}، يرجى التبديل إلى نشر قاعدة بيانات الخادم أو استخدام خدمة LobeChat Cloud.",
118
119
  "title": "فشل تحميل الملف، يرجى التحقق من الاتصال بالشبكة أو المحاولة لاحقًا"
119
120
  }
120
121
  }
@@ -0,0 +1,91 @@
1
+ {
2
+ "desc": "إدارة ملفاتك ومكتبتك المعرفية",
3
+ "detail": {
4
+ "basic": {
5
+ "createdAt": "تاريخ الإنشاء",
6
+ "filename": "اسم الملف",
7
+ "size": "حجم الملف",
8
+ "title": "معلومات أساسية",
9
+ "type": "الصيغة",
10
+ "updatedAt": "تاريخ التحديث"
11
+ },
12
+ "data": {
13
+ "chunkCount": "عدد الأجزاء",
14
+ "embedding": {
15
+ "default": "لم يتم تحويله إلى متجهات بعد",
16
+ "error": "فشل",
17
+ "pending": "في انتظار البدء",
18
+ "processing": "جارٍ المعالجة",
19
+ "success": "اكتمل"
20
+ },
21
+ "embeddingStatus": "تحويل إلى متجهات"
22
+ }
23
+ },
24
+ "header": {
25
+ "actions": {
26
+ "newFolder": "إنشاء مجلد جديد",
27
+ "uploadFile": "رفع ملف",
28
+ "uploadFolder": "رفع مجلد"
29
+ },
30
+ "uploadButton": "رفع"
31
+ },
32
+ "knowledgeBase": {
33
+ "list": {
34
+ "confirmRemoveKnowledgeBase": "سيتم حذف هذه المكتبة المعرفية، ولن يتم حذف الملفات الموجودة بها، بل ستنتقل إلى جميع الملفات. بعد حذف المكتبة المعرفية، لن يمكن استعادتها، يرجى توخي الحذر.",
35
+ "empty": "انقر على <1>+</1> لبدء إنشاء مكتبة معرفية"
36
+ },
37
+ "new": "إنشاء مكتبة معرفية جديدة",
38
+ "title": "المكتبة المعرفية"
39
+ },
40
+ "notSupportGuide": {
41
+ "desc": "الوضع الحالي للنشر هو وضع قاعدة بيانات العميل، ولا يمكن استخدام وظيفة إدارة الملفات. يرجى التبديل إلى <1>وضع نشر قاعدة بيانات الخادم</1>، أو استخدام <3>LobeChat Cloud</3> مباشرة.",
42
+ "features": {
43
+ "allKind": {
44
+ "desc": "يدعم أنواع الملفات الشائعة، بما في ذلك تنسيقات المستندات الشائعة مثل Word وPPT وExcel وPDF وTXT، بالإضافة إلى ملفات الشيفرة الشائعة مثل JS وPython.",
45
+ "title": "تحليل أنواع متعددة من الملفات"
46
+ },
47
+ "embeddings": {
48
+ "desc": "استخدام نماذج متجهات عالية الأداء لتحويل النصوص إلى متجهات، مما يتيح البحث الدلالي في محتوى الملفات.",
49
+ "title": "تحويل دلالي إلى متجهات"
50
+ },
51
+ "repos": {
52
+ "desc": "يدعم إنشاء مكتبات معرفية، ويسمح بإضافة أنواع مختلفة من الملفات، لبناء معرفتك في مجالك.",
53
+ "title": "المكتبة المعرفية"
54
+ }
55
+ },
56
+ "title": "الوضع الحالي للنشر لا يدعم إدارة الملفات"
57
+ },
58
+ "preview": {
59
+ "unsupportedFile": "هذا التنسيق غير مدعوم للمعاينة عبر الإنترنت"
60
+ },
61
+ "searchFilePlaceholder": "بحث عن ملف",
62
+ "tab": {
63
+ "all": "جميع الملفات",
64
+ "audios": "الصوتيات",
65
+ "documents": "المستندات",
66
+ "images": "الصور",
67
+ "videos": "الفيديوهات",
68
+ "websites": "المواقع"
69
+ },
70
+ "title": "الملفات",
71
+ "uploadDock": {
72
+ "body": {
73
+ "collapse": "طي",
74
+ "item": {
75
+ "done": "تم الرفع",
76
+ "error": "فشل الرفع، يرجى المحاولة مرة أخرى",
77
+ "pending": "جاهز للرفع...",
78
+ "processing": "جارٍ معالجة الملف...",
79
+ "restTime": "الوقت المتبقي {{time}}"
80
+ }
81
+ },
82
+ "totalCount": "إجمالي {{count}} عنصر",
83
+ "uploadStatus": {
84
+ "error": "حدث خطأ أثناء الرفع",
85
+ "pending": "في انتظار الرفع",
86
+ "processing": "جارٍ الرفع",
87
+ "success": "اكتمل الرفع",
88
+ "uploading": "جارٍ الرفع"
89
+ }
90
+ }
91
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "addToKnowledgeBase": {
3
+ "addSuccess": "تم إضافة الملف بنجاح، <1>عرض الآن</1>",
4
+ "confirm": "إضافة",
5
+ "id": {
6
+ "placeholder": "يرجى اختيار قاعدة المعرفة لإضافتها",
7
+ "required": "يرجى اختيار قاعدة المعرفة",
8
+ "title": "قاعدة المعرفة المستهدفة"
9
+ },
10
+ "title": "إضافة إلى قاعدة المعرفة",
11
+ "totalFiles": "تم اختيار {{count}} ملف"
12
+ },
13
+ "createNew": {
14
+ "confirm": "إنشاء جديد",
15
+ "description": {
16
+ "placeholder": "وصف قاعدة المعرفة (اختياري)"
17
+ },
18
+ "formTitle": "المعلومات الأساسية",
19
+ "name": {
20
+ "placeholder": "اسم قاعدة المعرفة",
21
+ "required": "يرجى إدخال اسم قاعدة المعرفة"
22
+ },
23
+ "title": "إنشاء قاعدة معرفة جديدة"
24
+ },
25
+ "tab": {
26
+ "files": "المستندات",
27
+ "settings": "الإعدادات",
28
+ "testing": "اختبار الاسترجاع"
29
+ },
30
+ "title": "قاعدة المعرفة"
31
+ }
@@ -6,5 +6,6 @@
6
6
  "summaryTooltip": "ملخص للمحتوى الحالي"
7
7
  },
8
8
  "emptyArtifactList": "قائمة القطع الأثرية الحالية فارغة، يرجى استخدام الإضافات في الجلسة ومن ثم التحقق مرة أخرى",
9
+ "files": "ملفات",
9
10
  "title": "نافذة موسعة"
10
11
  }
@@ -36,6 +36,24 @@
36
36
  "stop": "Спри",
37
37
  "warp": "Нов ред"
38
38
  },
39
+ "knowledgeBase": {
40
+ "all": "Всички съдържания",
41
+ "allFiles": "Всички файлове",
42
+ "allKnowledgeBases": "Всички знания",
43
+ "disabled": "Текущият режим на внедряване не поддържа диалози с база знания. За да използвате, моля, превключете на внедряване с база данни на сървъра или използвайте услугата LobeChat Cloud.",
44
+ "library": {
45
+ "action": {
46
+ "add": "Добави",
47
+ "detail": "Детайли",
48
+ "remove": "Премахни"
49
+ },
50
+ "title": "Файлове/База знания"
51
+ },
52
+ "relativeFilesOrKnowledgeBases": "Свързани файлове/бази знания",
53
+ "title": "База знания",
54
+ "uploadGuide": "Качените файлове могат да бъдат прегледани в „База знания“",
55
+ "viewMore": "Вижте още"
56
+ },
39
57
  "messageAction": {
40
58
  "delAndRegenerate": "Изтрий и прегенерирай",
41
59
  "regenerate": "Прегенерирай"
@@ -43,6 +61,15 @@
43
61
  "newAgent": "Нов агент",
44
62
  "pin": "Закачи",
45
63
  "pinOff": "Откачи",
64
+ "rag": {
65
+ "referenceChunks": "Цитирани източници",
66
+ "userQuery": {
67
+ "actions": {
68
+ "delete": "Изтрий Query",
69
+ "regenerate": "Прегенерирай Query"
70
+ }
71
+ }
72
+ },
46
73
  "regenerate": "Прегенерирай",
47
74
  "roleAndArchive": "Роля и архив",
48
75
  "searchAgentPlaceholder": "Търсене на агенти и разговори...",
@@ -129,8 +156,24 @@
129
156
  },
130
157
  "updateAgent": "Актуализирай информацията за агента",
131
158
  "upload": {
132
- "actionFiletip": "Загрузите файл",
133
- "actionTooltip": "Качи изображение",
134
- "disabled": "Текущият модел не поддържа визуално разпознаване. Моля, превключи моделите, за да използваш тази функция."
159
+ "action": {
160
+ "fileUpload": "Качване на файл",
161
+ "folderUpload": "Качване на папка",
162
+ "imageDisabled": "Текущият модел не поддържа визуално разпознаване, моля, превключете модела и опитайте отново",
163
+ "imageUpload": "Качване на изображение",
164
+ "tooltip": "Качване"
165
+ },
166
+ "clientMode": {
167
+ "actionFiletip": "Качване на файл",
168
+ "actionTooltip": "Качване",
169
+ "disabled": "Текущият модел не поддържа визуално разпознаване и анализ на файлове, моля, превключете модела и опитайте отново"
170
+ },
171
+ "preview": {
172
+ "prepareTasks": "Подготовка на парчета...",
173
+ "status": {
174
+ "pending": "Подготовка за качване...",
175
+ "processing": "Обработка на файла..."
176
+ }
177
+ }
135
178
  }
136
179
  }
@@ -13,6 +13,7 @@
13
13
  "autoGenerate": "Автоматично генериране",
14
14
  "autoGenerateTooltip": "Автоматично генериране на описание на агент въз основа на подкани",
15
15
  "autoGenerateTooltipDisabled": "Моля, попълнете подсказката, за да използвате функцията за автоматично допълване",
16
+ "back": "Назад",
16
17
  "batchDelete": "Пакетно изтриване",
17
18
  "blog": "Продуктов блог",
18
19
  "cancel": "Отказ",
@@ -50,6 +50,8 @@
50
50
  "chunks": {
51
51
  "embeddingStatus": {
52
52
  "empty": "Текстовите блокове все още не са напълно векторизирани, което ще доведе до недостъпност на семантичното търсене. За подобряване на качеството на търсенето, моля, векторизирайте текстовите блокове.",
53
+ "error": "Неуспешна векторизация",
54
+ "errorResult": "Неуспешна векторизация, моля проверете и опитайте отново. Причина за неуспеха:",
53
55
  "processing": "Текстовите блокове се векторизират, моля, бъдете търпеливи.",
54
56
  "success": "Текущите текстови блокове са напълно векторизирани."
55
57
  },
@@ -115,6 +115,7 @@
115
115
  },
116
116
  "upload": {
117
117
  "desc": "Подробности: {{detail}}",
118
+ "fileOnlySupportInServerMode": "Текущият режим на разполагане не поддържа качване на файлове, различни от изображения. За да качите формат {{ext}}, моля, превключете на разполагане с база данни на сървъра или използвайте услугата LobeChat Cloud.",
118
119
  "title": "Неуспешно качване на файл, моля проверете интернет връзката или опитайте по-късно"
119
120
  }
120
121
  }
@@ -0,0 +1,91 @@
1
+ {
2
+ "desc": "Управлявайте вашите файлове и база знания",
3
+ "detail": {
4
+ "basic": {
5
+ "createdAt": "Дата на създаване",
6
+ "filename": "Име на файла",
7
+ "size": "Размер на файла",
8
+ "title": "Основна информация",
9
+ "type": "Формат",
10
+ "updatedAt": "Дата на актуализация"
11
+ },
12
+ "data": {
13
+ "chunkCount": "Брой части",
14
+ "embedding": {
15
+ "default": "Все още не е векторизирано",
16
+ "error": "Неуспех",
17
+ "pending": "В очакване на стартиране",
18
+ "processing": "В процес на обработка",
19
+ "success": "Завършено"
20
+ },
21
+ "embeddingStatus": "Векторизация"
22
+ }
23
+ },
24
+ "header": {
25
+ "actions": {
26
+ "newFolder": "Нова папка",
27
+ "uploadFile": "Качване на файл",
28
+ "uploadFolder": "Качване на папка"
29
+ },
30
+ "uploadButton": "Качване"
31
+ },
32
+ "knowledgeBase": {
33
+ "list": {
34
+ "confirmRemoveKnowledgeBase": "Сигурни ли сте, че искате да изтриете тази база знания? Файловете в нея няма да бъдат изтрити, а ще бъдат преместени в общите файлове. След изтриването на базата знания, тя не може да бъде възстановена, моля, действайте внимателно.",
35
+ "empty": "Кликнете <1>+</1>, за да започнете създаването на база знания"
36
+ },
37
+ "new": "Нова база знания",
38
+ "title": "База знания"
39
+ },
40
+ "notSupportGuide": {
41
+ "desc": "Текущият инстанс е в режим на клиентска база данни и не поддържа функцията за управление на файлове. Моля, превключете на <1>режим на сървърна база данни</1> или използвайте директно <3>LobeChat Cloud</3>",
42
+ "features": {
43
+ "allKind": {
44
+ "desc": "Поддържа основни файлови формати, включително Word, PPT, Excel, PDF, TXT и други често срещани документи, както и основни кодови файлове като JS и Python",
45
+ "title": "Разширена поддръжка на файлови формати"
46
+ },
47
+ "embeddings": {
48
+ "desc": "Използва високопроизводителни векторни модели за векторизация на текстови части, позволявайки семантично търсене на съдържанието на файловете",
49
+ "title": "Семантична векторизация"
50
+ },
51
+ "repos": {
52
+ "desc": "Поддържа създаване на база знания и позволява добавяне на различни типове файлове, за да изградите собствена област на знание",
53
+ "title": "База знания"
54
+ }
55
+ },
56
+ "title": "Текущият режим на инсталация не поддържа управление на файлове"
57
+ },
58
+ "preview": {
59
+ "unsupportedFile": "Този файлов формат не поддържа онлайн преглед"
60
+ },
61
+ "searchFilePlaceholder": "Търсене на файл",
62
+ "tab": {
63
+ "all": "Всички файлове",
64
+ "audios": "Аудио",
65
+ "documents": "Документи",
66
+ "images": "Снимки",
67
+ "videos": "Видеа",
68
+ "websites": "Уебсайтове"
69
+ },
70
+ "title": "Файлове",
71
+ "uploadDock": {
72
+ "body": {
73
+ "collapse": "Скрий",
74
+ "item": {
75
+ "done": "Качено",
76
+ "error": "Качването не успя, моля, опитайте отново",
77
+ "pending": "Подготовка за качване...",
78
+ "processing": "Обработка на файла...",
79
+ "restTime": "Остава {{time}}"
80
+ }
81
+ },
82
+ "totalCount": "Общо {{count}} елемента",
83
+ "uploadStatus": {
84
+ "error": "Грешка при качване",
85
+ "pending": "В очакване на качване",
86
+ "processing": "Качва се",
87
+ "success": "Качването е завършено",
88
+ "uploading": "Качва се"
89
+ }
90
+ }
91
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "addToKnowledgeBase": {
3
+ "addSuccess": "Файлът беше добавен успешно, <1>прегледайте веднага</1>",
4
+ "confirm": "Добави",
5
+ "id": {
6
+ "placeholder": "Моля, изберете знание база за добавяне",
7
+ "required": "Моля, изберете знание база",
8
+ "title": "Целева знание база"
9
+ },
10
+ "title": "Добавяне към знание база",
11
+ "totalFiles": "Избрани са {{count}} файла"
12
+ },
13
+ "createNew": {
14
+ "confirm": "Създай нов",
15
+ "description": {
16
+ "placeholder": "Описание на знание базата (по избор)"
17
+ },
18
+ "formTitle": "Основна информация",
19
+ "name": {
20
+ "placeholder": "Име на знание базата",
21
+ "required": "Моля, попълнете името на знание базата"
22
+ },
23
+ "title": "Създаване на нова знание база"
24
+ },
25
+ "tab": {
26
+ "files": "Документи",
27
+ "settings": "Настройки",
28
+ "testing": "Тест за извикване"
29
+ },
30
+ "title": "Знание база"
31
+ }
@@ -6,5 +6,6 @@
6
6
  "summaryTooltip": "Обобщение на текущото съдържание"
7
7
  },
8
8
  "emptyArtifactList": "Списъкът с текущите артефакти е празен. Моля, използвайте добавки в разговора и след това проверете отново.",
9
+ "files": "файлове",
9
10
  "title": "Разширено прозорец"
10
11
  }