Package com.bytedesk.ai.springai.spring
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 Summary
FieldsModifier and TypeFieldDescriptionprivate final BytedeskEventPublisher
private final Optional<org.springframework.ai.vectorstore.redis.RedisVectorStore>
private final Optional<org.springframework.ai.vectorstore.redis.RedisVectorStore>
private final FaqRestService
private final FileRestService
private final SplitRestService
private final TextRestService
private final UploadRestService
private final WebsiteRestService
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
void
void
readByTika
(String fileName, FileEntity file) List<org.springframework.ai.document.Document>
void
readJson
(String fileName, FileEntity file) void
readMarkdown
(String fileName, FileEntity file) void
readPdfPage
(String fileName, FileEntity file) void
readPdfParagraph
(String fileName, FileEntity file) void
https://docs.spring.io/spring-ai/reference/api/etl-pipeline.htmlList<org.springframework.ai.document.Document>
readText
(TextEntity textEntity) List<org.springframework.ai.document.Document>
void
readTxt
(String fileName, FileEntity file) List<org.springframework.ai.document.Document>
readWebsite
(WebsiteEntity websiteEntity) searchText
(String query) searchText
(String query, String kbUid) private void
storeDocuments
(List<org.springframework.ai.document.Document> docList, FileEntity file) void
更新向量存储中的文档内容void
updateDocs
(List<org.springframework.ai.document.Document> documents) 批量更新向量存储中的文档内容 Listdocuments = List.of( new Document("doc1", "内容1", null), new Document("doc2", "内容2", null) );
-
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
-
textRestService
-
splitRestService
-
websiteRestService
-
faqRestService
-
uploadRestService
-
bytedeskEventPublisher
-
-
Constructor Details
-
SpringAIVectorService
public SpringAIVectorService()
-
-
Method Details
-
readSplitWriteToVectorStore
https://docs.spring.io/spring-ai/reference/api/etl-pipeline.html -
readPdfPage
-
readPdfParagraph
-
readJson
-
readMarkdown
-
readTxt
-
readByTika
-
readText
-
readText
-
readFaq
-
readWebsite
-
storeDocuments
private void storeDocuments(List<org.springframework.ai.document.Document> docList, FileEntity file) -
searchText
-
searchText
-
updateDoc
更新向量存储中的文档内容- Parameters:
docId
- 文档IDcontent
- 新的文档内容
-
updateDocs
批量更新向量存储中的文档内容 Listdocuments = List.of( new Document("doc1", "内容1", null), new Document("doc2", "内容2", null) ); - Parameters:
documents
- 要更新的文档列表
-
deleteDoc
-
deleteDoc
-