From 29ccd9919082e0157f57989ae83b303f314bad6b Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期一, 08 六月 2026 16:01:55 +0800
Subject: [PATCH] feat(financial): 新增凭证分录科目明细字段
---
src/main/java/com/ruoyi/ai/config/XiaozhiAgentConfig.java | 60 ++++++++----------------------------------------------------
1 files changed, 8 insertions(+), 52 deletions(-)
diff --git a/src/main/java/com/ruoyi/ai/config/XiaozhiAgentConfig.java b/src/main/java/com/ruoyi/ai/config/XiaozhiAgentConfig.java
index 58be3a6..0b1a9e6 100644
--- a/src/main/java/com/ruoyi/ai/config/XiaozhiAgentConfig.java
+++ b/src/main/java/com/ruoyi/ai/config/XiaozhiAgentConfig.java
@@ -1,26 +1,20 @@
package com.ruoyi.ai.config;
import com.ruoyi.ai.store.MongoChatMemoryStore;
-import dev.langchain4j.data.document.Document;
-import dev.langchain4j.data.document.loader.FileSystemDocumentLoader;
-import dev.langchain4j.data.segment.TextSegment;
import dev.langchain4j.memory.chat.ChatMemoryProvider;
import dev.langchain4j.memory.chat.MessageWindowChatMemory;
import dev.langchain4j.model.embedding.EmbeddingModel;
import dev.langchain4j.rag.content.retriever.ContentRetriever;
import dev.langchain4j.rag.content.retriever.EmbeddingStoreContentRetriever;
import dev.langchain4j.store.embedding.EmbeddingStore;
-import dev.langchain4j.store.embedding.EmbeddingStoreIngestor;
-import dev.langchain4j.store.embedding.inmemory.InMemoryEmbeddingStore;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
-import java.util.Collections;
-import java.util.List;
-
/**
+ * AI Agent 閰嶇疆绫�
+ * 鐭ヨ瘑搴撴绱娇鐢ㄦ暟鎹簱绠$悊鐨勫悜閲忔暟鎹紝閫氳繃 KnowledgeBaseVector 琛ㄧ鐞嗘枃浠跺悜閲忚褰�
+ *
* @author :yys
* @date : 2025/5/2 20:01
*/
@@ -35,15 +29,6 @@
@Autowired
private EmbeddingModel embeddingModel;
- @Value("${knowledge.one}")
- private String one;
-//
-// @Value("${knowledge.two}")
-// private String two;
-//
-// @Value("${knowledge.three}")
-// private String three;
-
@Bean
ChatMemoryProvider chatMemoryProviderXiaozhi() {
return memoryId -> MessageWindowChatMemory.builder()
@@ -53,48 +38,19 @@
.build();
}
+ /**
+ * 鐭ヨ瘑搴撳唴瀹规绱㈠櫒
+ * 浠庡悜閲忔暟鎹簱锛圥inecone锛夋绱㈠凡鍚戦噺鍖栫殑鐭ヨ瘑搴撳唴瀹�
+ * 鐭ヨ瘑搴撴枃浠堕�氳繃 KnowledgeBaseVector 琛ㄧ鐞嗭紝鐢� KnowledgeRagService 澶勭悊鍚戦噺鍖�
+ */
@Bean
ContentRetriever contentRetrieverXiaozhi() {
- //浣跨敤FileSystemDocumentLoader璇诲彇鎸囧畾鐩綍涓嬬殑鐭ヨ瘑搴撴枃妗�
- //骞朵娇鐢ㄩ粯璁ょ殑鏂囨。瑙f瀽鍣ㄥ鏂囨。杩涜瑙f瀽
- Document document1 = FileSystemDocumentLoader.loadDocument(one);
-// Document document2 = FileSystemDocumentLoader.loadDocument(two);
-// Document document3 = FileSystemDocumentLoader.loadDocument(three);
-// List<Document> documents = Arrays.asList(document1, document2, document3);
-
- List<Document> documents = Collections.singletonList(document1);
-// 2. 灏嗘暟鎹簱鏁版嵁杞负LangChain4j鐨凞ocument瀵硅薄
-// List<Document> documents = new ArrayList<>();
-
- //浣跨敤鍐呭瓨鍚戦噺瀛樺偍
- InMemoryEmbeddingStore<TextSegment> inMemoryEmbeddingStore = new InMemoryEmbeddingStore<>();
- //浣跨敤榛樿鐨勬枃妗e垎鍓插櫒
- EmbeddingStoreIngestor.builder()
- .embeddingModel(embeddingModel)
- .embeddingStore(inMemoryEmbeddingStore)
- .build()
- .ingest(documents);
- //浠庡祵鍏ュ瓨鍌紙EmbeddingStore锛夐噷妫�绱㈠拰鏌ヨ鍐呭鐩稿叧鐨勪俊鎭�
- return EmbeddingStoreContentRetriever.builder()
- .embeddingModel(embeddingModel)
- .embeddingStore(inMemoryEmbeddingStore)
- .build();
- }
-
- @Bean
- ContentRetriever contentRetrieverXiaozhiPincone() {
- // 鍒涘缓涓�涓� EmbeddingStoreContentRetriever 瀵硅薄锛岀敤浜庝粠宓屽叆瀛樺偍涓绱㈠唴瀹�
return EmbeddingStoreContentRetriever
.builder()
- // 璁剧疆鐢ㄤ簬鐢熸垚宓屽叆鍚戦噺鐨勫祵鍏ユā鍨�
.embeddingModel(embeddingModel)
- // 鎸囧畾瑕佷娇鐢ㄧ殑宓屽叆瀛樺偍
.embeddingStore(embeddingStore)
- // 璁剧疆鏈�澶ф绱㈢粨鏋滄暟閲忥紝杩欓噷琛ㄧず鏈�澶氳繑鍥� 1 鏉″尮閰嶇粨鏋�
.maxResults(1)
- // 璁剧疆鏈�灏忓緱鍒嗛槇鍊硷紝鍙湁寰楀垎澶т簬绛変簬 0.8 鐨勭粨鏋滄墠浼氳杩斿洖
.minScore(0.8)
- // 鏋勫缓鏈�缁堢殑 EmbeddingStoreContentRetriever 瀹炰緥
.build();
}
}
--
Gitblit v1.9.3