Merge pull request 'fix: 修复增加 FAQ 报错的 bug' (#1) from hotfix/embedding_error into main

Reviewed-on: #1
This commit was merged in pull request #1.
This commit is contained in:
2026-06-14 16:18:46 +08:00

View File

@@ -1,5 +1,6 @@
package tech.easyflow.ai.service.impl;
import cn.dev33.satoken.stp.StpUtil;
import cn.idev.excel.EasyExcel;
import cn.idev.excel.ExcelWriter;
import cn.idev.excel.FastExcel;
@@ -8,7 +9,6 @@ import cn.idev.excel.metadata.data.ReadCellData;
import cn.idev.excel.read.listener.ReadListener;
import cn.idev.excel.write.metadata.WriteSheet;
import cn.idev.excel.write.style.column.SimpleColumnWidthStyleStrategy;
import cn.dev33.satoken.stp.StpUtil;
import com.easyagents.core.model.embedding.EmbeddingModel;
import com.easyagents.core.model.embedding.EmbeddingOptions;
import com.easyagents.core.store.DocumentStore;
@@ -20,15 +20,15 @@ import com.mybatisflex.core.query.QueryWrapper;
import com.mybatisflex.spring.service.impl.ServiceImpl;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import org.jsoup.safety.Safelist;
import org.jsoup.select.Elements;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.PlatformTransactionManager;
import org.springframework.transaction.TransactionDefinition;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.support.TransactionTemplate;
import org.springframework.web.multipart.MultipartFile;
import tech.easyflow.ai.config.SearcherFactory;
@@ -366,6 +366,15 @@ public class FaqItemServiceImpl extends ServiceImpl<FaqItemMapper, FaqItem> impl
searcher.addDocument(doc);
}
markCollectionEmbedded(collection, preparedStore.embeddingModel);
} catch (BusinessException e) {
throw e;
} catch (RuntimeException e) {
LOG.error("FAQ vectorization failed. collectionId={}, faqId={}, isUpdate={}",
collection == null ? null : collection.getId(),
entity == null ? null : entity.getId(),
isUpdate,
e);
throw new BusinessException("FAQ向量化失败请检查知识库绑定的向量模型、请求路径、维度或向量库配置");
} finally {
DocumentStoreLifecycleSupport.closeQuietly(preparedStore.documentStore);
}