Package com.bytedesk.kbase.llm_text
Class TextVectorService
java.lang.Object
com.bytedesk.kbase.llm_text.TextVectorService
Text向量检索服务
用于处理Text的向量存储和相似度搜索
- Author:
- jackning
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final org.springframework.ai.embedding.EmbeddingModel
private final TextRestService
private final org.springframework.ai.vectorstore.elasticsearch.ElasticsearchVectorStore
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate void
checkAndDeleteExistingDoc
(String docId) 检查并删除已存在的文档deleteTextVector
(TextEntity text) 从向量存储中删除文本void
indexTextVector
(TextEntity text) 将文本内容添加到向量存储中searchTextVector
(String query, String kbUid, String categoryUid, String orgUid, int limit) 在向量存储中进行语义搜索void
updateAllVectorIndex
(TextRequest request) 更新所有文本的向量索引void
updateVectorIndex
(TextRequest request) 更新文本的向量索引
-
Field Details
-
vectorStore
private final org.springframework.ai.vectorstore.elasticsearch.ElasticsearchVectorStore vectorStore -
textRestService
-
embeddingModel
@Qualifier("bytedeskOllamaEmbeddingModel") private final org.springframework.ai.embedding.EmbeddingModel embeddingModel
-
-
Constructor Details
-
TextVectorService
public TextVectorService()
-
-
Method Details
-
indexTextVector
将文本内容添加到向量存储中- Parameters:
text
- 文本实体
-
updateVectorIndex
更新文本的向量索引- Parameters:
request
- 文本请求对象
-
updateAllVectorIndex
更新所有文本的向量索引- Parameters:
request
- 文本请求对象,包含知识库ID
-
deleteTextVector
从向量存储中删除文本- 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
检查并删除已存在的文档- Parameters:
docId
- 文档ID
-