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 Summary
FieldsModifier and TypeFieldDescriptionprivate final org.springframework.ai.vectorstore.elasticsearch.ElasticsearchVectorStore
private final WebpageRestService
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate WebpageVector
createSimpleWebpageVectorFromDocument
(org.springframework.ai.document.Document doc) 从文档创建简化版的WebpageVector对象 用于在找不到对应的网页实体时提供基础信息deleteWebpageVector
(WebpageEntity webpage) 从向量存储中删除网页向量文档 修改为不更新实体的方式,只进行向量删除操作,避免实体并发修改冲突void
indexWebpageVector
(WebpageEntity webpage) 将网页内容添加到向量存储中searchWebpageVector
(String query, String kbUid, String categoryUid, String orgUid, int limit) 在向量存储中进行语义搜索void
updateAllVectorIndex
(WebpageRequest request) 更新所有网页的向量索引void
updateVectorIndex
(WebpageRequest request) 更新网页的向量索引
-
Field Details
-
vectorStore
private final org.springframework.ai.vectorstore.elasticsearch.ElasticsearchVectorStore vectorStore -
webpageRestService
-
-
Constructor Details
-
WebpageVectorService
public WebpageVectorService()
-
-
Method Details
-
indexWebpageVector
将网页内容添加到向量存储中- Parameters:
webpage
- 网页实体
-
updateVectorIndex
更新网页的向量索引- Parameters:
request
- 网页请求对象
-
updateAllVectorIndex
更新所有网页的向量索引- Parameters:
request
- 网页请求对象,包含知识库ID
-
deleteWebpageVector
从向量存储中删除网页向量文档 修改为不更新实体的方式,只进行向量删除操作,避免实体并发修改冲突- 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对象
-