aiflow - 组件 - RAG组件介绍
(知库)仓库组件
通过 meta 配置,或者由前面节点产生的数据,构建出属性,并转到 FlowContext
| 组件 | 产出属性 | 描述 | 可输入 | 输出 |
|---|---|---|---|---|
| InMemoryRepository | repository | 构建的知识库 | String,ChatMessage,Document,List<Document> | ChatMessageChatMessage文档入库 文档入库 |
| RedisRepository | repository | 构建的知识库 | 同上 | 同上 |
| EmbeddingModel | embeddingModel | 构建 embeddingModel 给仓库组件使用 | / | / |
可以包装更多 Solon AI RAG Repository 进入 solon aiflow
1、InMemoryRepository 组件属性
基于 InMemoryRepository 构建的知识库。 可以实始化文档
| 属性 | 描述 | 示例 |
|---|---|---|
| documentSources | 文档源(数组)。本地或网络 url | |
| splitPipeline | 文档分割管道(数组) |
示例:
- task: "@InMemoryRepository"
meta:
documentSources: #用于初始化文档
- "https://solon.noear.org/article/about?format=md"
splitPipeline:
- "org.noear.solon.ai.rag.splitter.RegexTextSplitter"
- "org.noear.solon.ai.rag.splitter.TokenSizeTextSplitter"
2、RedisRepository 组件属性
基于 RedisRepository 构建的知识库。可以实始化文档
| 属性 | 描述 | 示例 |
|---|---|---|
| redisConfig | Redis 仓库配置,RedisConfig 类型 | |
| documentSources | 文档源(数组)。本地或网络 url | |
| splitPipeline | 文档分割管道(数组) |
示例:
- task: "@RedisRepository"
meta:
redisConfig: # "@type":"org.noear.solon.ai.flow.components.repositorys.RedisConfig"
server: "xxx"
password: "xxx"
documentSources: #用于初始化文档
- "https://solon.noear.org/article/about?format=md"
splitPipeline:
- "org.noear.solon.ai.rag.splitter.RegexTextSplitter"
- "org.noear.solon.ai.rag.splitter.TokenSizeTextSplitter"
3、EmbeddingModel 组件属性
这个组件主要是为仓库类组件服务的
| 属性 | 描述 | 示例 |
|---|---|---|
| embeddingConfig | 嵌入模型配置,EmbeddingConfig 类型 |
示例:
- task: "@EmbeddingModel"
meta:
embeddingConfig: # "@type": "org.noear.solon.ai.embedding.EmbeddingConfig"
provider: "ollama"
model: "bge-m3"
apiUrl: "http://127.0.0.1:11434/api/embed"