Class WebpageVectorService

java.lang.Object
com.bytedesk.kbase.llm_webpage.vector.WebpageVectorService

@Service @ConditionalOnBean(org.springframework.ai.vectorstore.elasticsearch.ElasticsearchVectorStore.class) public class WebpageVectorService extends Object
网页向量检索服务 用于处理网页的向量存储和相似度搜索
Author:
jackning
  • Field Details

    • vectorStore

      private final org.springframework.ai.vectorstore.elasticsearch.ElasticsearchVectorStore vectorStore
    • webpageRestService

      private final WebpageRestService webpageRestService
  • Constructor Details

    • WebpageVectorService

      public WebpageVectorService()
  • Method Details

    • indexWebpageVector

      @Transactional public void indexWebpageVector(WebpageEntity webpage)
      将网页内容添加到向量存储中
      Parameters:
      webpage - 网页实体
    • updateVectorIndex

      public void updateVectorIndex(WebpageRequest request)
      更新网页的向量索引
      Parameters:
      request - 网页请求对象
    • updateAllVectorIndex

      public void updateAllVectorIndex(WebpageRequest request)
      更新所有网页的向量索引
      Parameters:
      request - 网页请求对象,包含知识库ID
    • deleteWebpageVector

      @Transactional(readOnly=true) public Boolean deleteWebpageVector(WebpageEntity webpage)
      从向量存储中删除网页向量文档 修改为不更新实体的方式,只进行向量删除操作,避免实体并发修改冲突
      Parameters:
      webpage - 网页实体
      Returns:
      删除成功返回true,否则返回false
    • searchWebpageVector

      public List<WebpageVectorSearchResult> searchWebpageVector(String query, String kbUid, String categoryUid, String orgUid, int limit)
      在向量存储中进行语义搜索
      Parameters:
      query - 搜索关键词
      kbUid - 知识库UID(可选)
      categoryUid - 分类UID(可选)
      orgUid - 组织UID(可选)
      limit - 返回结果数量限制
      Returns:
      相似度搜索结果列表
    • createSimpleWebpageVectorFromDocument

      private WebpageVector createSimpleWebpageVectorFromDocument(org.springframework.ai.document.Document doc)
      从文档创建简化版的WebpageVector对象 用于在找不到对应的网页实体时提供基础信息
      Parameters:
      doc - 文档对象
      Returns:
      简化的WebpageVector对象