|
51 | 51 | import org.springframework.ai.image.ImageMessage;
|
52 | 52 | import org.springframework.ai.image.ImagePrompt;
|
53 | 53 | import org.springframework.ai.image.ImageResponse;
|
54 |
| -import org.springframework.ai.model.Content; |
55 | 54 | import org.springframework.ai.model.Media;
|
56 | 55 | import org.springframework.ai.vectorstore.SearchRequest;
|
57 | 56 | import org.springframework.ai.vectorstore.VectorStore;
|
@@ -237,15 +236,16 @@ else if (RAGEnums.UserTypeEnums.AI.equals(createByType)) {
|
237 | 236 | Filter.Expression filter = filterExpressionBuilder
|
238 | 237 | .eq(RAGEnums.VectorMetadataEnums.KNOWLEDGE_ID.getCode(), aiKnowledge.getKnowledgeId())
|
239 | 238 | .build();
|
240 |
| - SearchRequest searchRequest = SearchRequest |
| 239 | + SearchRequest searchRequest = SearchRequest.builder() |
241 | 240 | // 搜索向量内容
|
242 | 241 | .query(messageDTO.getContent())
|
243 | 242 | // 向量匹配最多条数
|
244 |
| - .withTopK(aiKnowledge.getTopK()) |
| 243 | + .topK(aiKnowledge.getTopK()) |
245 | 244 | // 匹配相似度准度
|
246 |
| - .withSimilarityThreshold(aiKnowledge.getScore()) |
| 245 | + .similarityThreshold(aiKnowledge.getScore()) |
247 | 246 | // 过滤元数据
|
248 |
| - .withFilterExpression(filter); |
| 247 | + .filterExpression(filter) |
| 248 | + .build(); |
249 | 249 |
|
250 | 250 | return vectorStore.similaritySearch(searchRequest);
|
251 | 251 | }, TUtils.threadPoolExecutor);
|
@@ -273,7 +273,7 @@ else if (RAGEnums.UserTypeEnums.AI.equals(createByType)) {
|
273 | 273 | // 加入知识库内容
|
274 | 274 | // 获取documents里的content
|
275 | 275 | String documentContext = docs.stream()
|
276 |
| - .map(Content::getContent) |
| 276 | + .map(Document::getText) |
277 | 277 | .collect(Collectors.joining(System.lineSeparator()));
|
278 | 278 | // 创建系统提示词
|
279 | 279 | SystemPromptTemplate promptTemplate = new SystemPromptTemplate(RAGConstants.RAG_SYSTEM_PROMPT);
|
@@ -421,7 +421,7 @@ public Flux<MessageVO> multiChatStream(MessageDTO messageDTO) {
|
421 | 421 | .chatResponse();
|
422 | 422 |
|
423 | 423 | MessageVO messageVO = new MessageVO();
|
424 |
| - messageVO.setContent(response.getResult().getOutput().getContent()); |
| 424 | + messageVO.setContent(Objects.requireNonNull(response).getResult().getOutput().getContent()); |
425 | 425 | return Flux.just(messageVO);
|
426 | 426 |
|
427 | 427 | }
|
@@ -468,8 +468,8 @@ public Flux<MessageVO> ocrChatStream(MessageDTO messageDTO) {
|
468 | 468 | .call()
|
469 | 469 | .chatResponse();
|
470 | 470 |
|
471 |
| - InvoiceOCR convert = converter |
472 |
| - .convert(String.join("", Objects.requireNonNull(flux.getResult().getOutput().getContent()))); |
| 471 | + InvoiceOCR convert = converter.convert(String.join("", |
| 472 | + Objects.requireNonNull(Objects.requireNonNull(flux).getResult().getOutput().getContent()))); |
473 | 473 | MessageVO messageVO = new MessageVO();
|
474 | 474 | messageVO.setContent(JacksonUtils.toJson(convert));
|
475 | 475 | return Flux.just(messageVO);
|
|
0 commit comments