Class TextVectorService

java.lang.Object
com.bytedesk.kbase.llm_text.TextVectorService

@Service public class TextVectorService extends Object
Text向量检索服务 用于处理Text的向量存储和相似度搜索
Author:
jackning
  • Field Details

    • vectorStore

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

      private final TextRestService textRestService
    • embeddingModel

      @Qualifier("bytedeskOllamaEmbeddingModel") private final org.springframework.ai.embedding.EmbeddingModel embeddingModel
  • Constructor Details

    • TextVectorService

      public TextVectorService()
  • Method Details

    • indexTextVector

      @Transactional public void indexTextVector(TextEntity text)
      将文本内容添加到向量存储中
      Parameters:
      text - 文本实体
    • updateVectorIndex

      public void updateVectorIndex(TextRequest request)
      更新文本的向量索引
      Parameters:
      request - 文本请求对象
    • updateAllVectorIndex

      public void updateAllVectorIndex(TextRequest request)
      更新所有文本的向量索引
      Parameters:
      request - 文本请求对象,包含知识库ID
    • deleteTextVector

      public Boolean deleteTextVector(TextEntity text)
      从向量存储中删除文本
      Parameters:
      text - 要删除的文本实体
      Returns:
      是否删除成功
    • searchTextVector

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

      private void checkAndDeleteExistingDoc(String docId)
      检查并删除已存在的文档
      Parameters:
      docId - 文档ID