Solon v3.7.2

aiflow - 组件 - RAG组件介绍

</> markdown

(知库)仓库组件

通过 meta 配置,或者由前面节点产生的数据,构建出属性,并转到 FlowContext

组件产出属性描述可输入输出
InMemoryRepositoryrepository构建的知识库String,
ChatMessage,
Document,
List<Document>
ChatMessage
ChatMessage
文档入库
文档入库
RedisRepositoryrepository构建的知识库同上同上
EmbeddingModelembeddingModel构建 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 构建的知识库。可以实始化文档

属性描述示例
redisConfigRedis 仓库配置,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"