♻️Refactor: RAG 加载处理MarkDown知识库文件
This commit is contained in:
@@ -77,6 +77,12 @@
|
|||||||
<version>1.0.3</version>
|
<version>1.0.3</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework.ai</groupId>
|
||||||
|
<artifactId>spring-ai-markdown-document-reader</artifactId>
|
||||||
|
<version>1.0.3</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
<!-- redis -->
|
<!-- redis -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.springframework.boot</groupId>
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
|||||||
@@ -0,0 +1,34 @@
|
|||||||
|
package com.wonder.bi.rag;
|
||||||
|
|
||||||
|
import org.springframework.ai.document.Document;
|
||||||
|
import org.springframework.ai.reader.markdown.MarkdownDocumentReader;
|
||||||
|
import org.springframework.ai.reader.markdown.config.MarkdownDocumentReaderConfig;
|
||||||
|
import org.springframework.core.io.Resource;
|
||||||
|
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
|
||||||
|
import org.springframework.core.io.support.ResourcePatternResolver;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Component
|
||||||
|
public class MyMarkdownReader {
|
||||||
|
|
||||||
|
private final Resource[] docs;
|
||||||
|
|
||||||
|
MyMarkdownReader() throws IOException {
|
||||||
|
ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
|
||||||
|
this.docs = resolver.getResources("classpath:rag/*.md");
|
||||||
|
}
|
||||||
|
|
||||||
|
List<Document> loadMarkdown() {
|
||||||
|
MarkdownDocumentReaderConfig config = MarkdownDocumentReaderConfig.builder()
|
||||||
|
.withHorizontalRuleCreateDocument(true)
|
||||||
|
.withIncludeCodeBlock(false)
|
||||||
|
.withIncludeBlockquote(false)
|
||||||
|
.build();
|
||||||
|
|
||||||
|
MarkdownDocumentReader reader = new MarkdownDocumentReader(docs[0], config);
|
||||||
|
return reader.get();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
# 成绩统计规则集
|
||||||
|
|
||||||
|
- 约束:当涉及到“成绩”“绩点”关键词时应用此规则集
|
||||||
|
- 约定:默认成绩分层 1:3:5:1,分别为优秀、良好、合格、待改进
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
package com.wonder.bi.rag;
|
||||||
|
|
||||||
|
import jakarta.annotation.Resource;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
import org.springframework.ai.document.Document;
|
||||||
|
import org.springframework.boot.test.context.SpringBootTest;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.*;
|
||||||
|
|
||||||
|
@SpringBootTest
|
||||||
|
class MyMarkdownReaderTest {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private MyMarkdownReader markdownReader;
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void loadMarkdown() {
|
||||||
|
List<Document> documents = markdownReader.loadMarkdown();
|
||||||
|
for (Document document : documents) {
|
||||||
|
System.out.println(document);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user