Class SpringAIVectorService

java.lang.Object
com.bytedesk.ai.springai.spring.SpringAIVectorService

@Service @ConditionalOnProperty(name="spring.ai.ollama.embedding.enabled", havingValue="true", matchIfMissing=false) public class SpringAIVectorService extends Object
  • Field Details

    • bytedeskOllamaRedisVectorStore

      private final Optional<org.springframework.ai.vectorstore.redis.RedisVectorStore> bytedeskOllamaRedisVectorStore
    • bytedeskZhipuaiRedisVectorStore

      private final Optional<org.springframework.ai.vectorstore.redis.RedisVectorStore> bytedeskZhipuaiRedisVectorStore
    • fileRestService

      private final FileRestService fileRestService
    • textRestService

      private final TextRestService textRestService
    • splitRestService

      private final SplitRestService splitRestService
    • websiteRestService

      private final WebsiteRestService websiteRestService
    • faqRestService

      private final FaqRestService faqRestService
    • uploadRestService

      private final UploadRestService uploadRestService
    • bytedeskEventPublisher

      private final BytedeskEventPublisher bytedeskEventPublisher
  • Constructor Details

    • SpringAIVectorService

      public SpringAIVectorService()
  • Method Details

    • readSplitWriteToVectorStore

      public void readSplitWriteToVectorStore(@NonNull FileEntity file)
      https://docs.spring.io/spring-ai/reference/api/etl-pipeline.html
    • readPdfPage

      public void readPdfPage(String fileName, FileEntity file)
    • readPdfParagraph

      public void readPdfParagraph(String fileName, FileEntity file)
    • readJson

      public void readJson(String fileName, FileEntity file)
    • readMarkdown

      public void readMarkdown(String fileName, FileEntity file)
    • readTxt

      public void readTxt(String fileName, FileEntity file)
    • readByTika

      public void readByTika(String fileName, FileEntity file)
    • readText

      public List<org.springframework.ai.document.Document> readText(String name, String content, String kbUid, String orgUid)
    • readText

      public List<org.springframework.ai.document.Document> readText(TextEntity textEntity)
    • readFaq

      public List<org.springframework.ai.document.Document> readFaq(FaqEntity fqaEntity)
    • readWebsite

      public List<org.springframework.ai.document.Document> readWebsite(WebsiteEntity websiteEntity)
    • storeDocuments

      private void storeDocuments(List<org.springframework.ai.document.Document> docList, FileEntity file)
    • searchText

      public List<String> searchText(String query)
    • searchText

      public List<String> searchText(String query, String kbUid)
    • updateDoc

      public void updateDoc(String docId, String content, String kbUid)
      更新向量存储中的文档内容
      Parameters:
      docId - 文档ID
      content - 新的文档内容
    • updateDocs

      public void updateDocs(List<org.springframework.ai.document.Document> documents)
      批量更新向量存储中的文档内容 List documents = List.of( new Document("doc1", "内容1", null), new Document("doc2", "内容2", null) );
      Parameters:
      documents - 要更新的文档列表
    • deleteDoc

      public void deleteDoc(String docId)
    • deleteDoc

      public void deleteDoc(List<String> docIdList)