♻️Refactor: RAG 加载处理MarkDown知识库文件
This commit is contained in:
@@ -77,6 +77,12 @@
|
||||
<version>1.0.3</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework.ai</groupId>
|
||||
<artifactId>spring-ai-markdown-document-reader</artifactId>
|
||||
<version>1.0.3</version>
|
||||
</dependency>
|
||||
|
||||
<!-- redis -->
|
||||
<dependency>
|
||||
<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