Przeglądaj źródła

fix: embedding error

tycoding 9 miesięcy temu
rodzic
commit
03cb500aae

+ 13 - 9
langchat-core/src/main/java/cn/tycoding/langchat/core/service/impl/LangEmbeddingServiceImpl.java

@@ -78,17 +78,21 @@ public class LangEmbeddingServiceImpl implements LangEmbeddingService {
         }
         document.metadata().put(KNOWLEDGE, req.getKnowledgeId()).put(FILENAME, req.getDocsName());
 
-        DocumentSplitter splitter = EmbeddingProvider.splitter(req.getModelName(), req.getModelProvider());
-        List<TextSegment> segments = splitter.split(document);
+        List<EmbeddingR> list = new ArrayList<>();
+        try {
+            DocumentSplitter splitter = EmbeddingProvider.splitter(req.getModelName(), req.getModelProvider());
+            List<TextSegment> segments = splitter.split(document);
 
-        EmbeddingModel embeddingModel = embeddingProvider.getEmbeddingModel(req.getKnowledgeId());
-        EmbeddingStore<TextSegment> embeddingStore = embeddingProvider.getEmbeddingStore(req.getKnowledgeId());
-        List<Embedding> embeddings = embeddingModel.embedAll(segments).content();
-        List<String> ids = embeddingStore.addAll(embeddings, segments);
+            EmbeddingModel embeddingModel = embeddingProvider.getEmbeddingModel(req.getKnowledgeId());
+            EmbeddingStore<TextSegment> embeddingStore = embeddingProvider.getEmbeddingStore(req.getKnowledgeId());
+            List<Embedding> embeddings = embeddingModel.embedAll(segments).content();
+            List<String> ids = embeddingStore.addAll(embeddings, segments);
 
-        List<EmbeddingR> list = new ArrayList<>();
-        for (int i = 0; i < ids.size(); i++) {
-            list.add(new EmbeddingR().setVectorId(ids.get(i)).setText(segments.get(i).text()));
+            for (int i = 0; i < ids.size(); i++) {
+                list.add(new EmbeddingR().setVectorId(ids.get(i)).setText(segments.get(i).text()));
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
         }
 
         log.info(">>>>>>>>>>>>>> Docs文档向量解析结束,KnowledgeId={}, DocsName={}", req.getKnowledgeId(), req.getDocsName());

+ 1 - 1
langchat-ui/src/views/aigc/knowledge/components/ImportFile/components/DocImport.vue

@@ -56,7 +56,7 @@
     <n-upload
       :custom-request="handleImport"
       directory-dnd
-      accept=".doc,.docx,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document,.pdf"
+      accept=".doc,.docx,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document,.pdf,.txt,.md"
     >
       <n-upload-dragger>
         <div style="margin-bottom: 12px">