docs/.vitepress/config.mts
@@ -190,9 +190,10 @@ items: [ {text: '什么是知识库', link: '/knowledge/what-is-knowledge'}, {text: '创建知识库', link: '/knowledge/create-knowledge'} , {text: '管理知识库', link: '/knowledge/management-knowledge'} , {text: '文档分片', link: 'knowledge/splitter'}, {text: 'Embedding 模型', link: 'knowledge/embedding'}, {text: '快速开始', link: '/knowledge/quick-start'}, {text: '向量数据库', link: 'knowledge/vector-database'} ] }, { @@ -202,6 +203,7 @@ {text: '什么是工作流', link: '/workflow/what_is_workflow'}, {text: '快速开始', link: '/workflow/quick_start'}, {text: '执行条件', link: '/workflow/execute-condition'}, {text: '节点上下文', link: '/workflow/node-context'}, {text: '节点配置', collapsed: false, items: [ {text: '循环', link: '/workflow/nodes/loop'}, {text: '大模型', link: '/workflow/nodes/llm'}, docs/zh/development/ai/knowledge.md
@@ -2,12 +2,12 @@ ## RAG 应用 ## 一、RAG 应用前言 ## 1、RAG 应用前言 RAG 是 Retrieval-augmented Generation 的简写,指的是检索增强生成。 2020 年,Facebook AI Research(FAIR) 团队发表名为《Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks》的论文,首次提出了RAG概念,RAG 是当下热门的大模型前沿技术之一。 通过RAG技术,大语言模型在回答问题时,可以从企业知识库中检索最新的相关信息来生成内容,从而提高回答的准确性、关联性和新鲜度,并解决幻觉问题。同时,RAG技术外挂的私有数据不参与大模型训练,保证了企业的数据安全。 ## 二、RAG 的流程和原理 ## 2、RAG 的流程和原理  @@ -15,12 +15,12 @@ ## Embedding ## 一、什么是 Embedding ## 1、什么是 Embedding Embedding 我们可以简单的理解为:有一种算法(或模型),能够把高纬数据映射到一个低维度的向量空间的过程,这个映射的过程,本质上是一个数据特征提取的过程。 低纬度的向量数据,可以减少数据的复杂性,从而提高模型的训练和推理效率。 ## 二、示例代码 ## 2、示例代码 ```java Llm llm = OpenAILlm.of("sk-rts5NF6n*******"); @@ -32,7 +32,7 @@ ## VectorStore ## 一、什么是 VectorStore ## 1、什么是 VectorStore Agents-Flex 的 Store 指的是向量存储器 VectorStore。 其定义了如下的方法,用于对向量数据进行增删改查: @@ -54,7 +54,7 @@ - `agents-flex-store-opensearch`:opensearch 向量存储 - `agents-flex-store-redis`:redis 向量数据存储 ## 二、示例代码 ## 2、示例代码 ```java AliyunVectorStoreConfig storeConfig = new AliyunVectorStoreConfig(); @@ -107,7 +107,7 @@ List<Document> result = store.search(wrapper); ``` ## 三、SearchWrapper ## 3、SearchWrapper 目前,在向量数据库领域中,并不存在一个类似 SQL 的语言,来统一数据库查询。每一家的向量数据库都是提供了不同的 API 或者独特的查询语言。 @@ -136,7 +136,7 @@ ## Document 文档 ## 一、Document 介绍 ## 1、Document 介绍 在 Agents-Flex 中,Document 是一个带有向量数据的文档对象。其定义如下 ```java @@ -165,7 +165,7 @@ - **DocumentParser**: 文档解析器,用于对不同类型的文档进行解析,最终得到 **Document** 对象,比如解析 word、pdf、html 等等。 - **DocumentSplitter**: 文档分割器,用于对大文档进行分割,生成多个小文档,方便 Embedding 计算以及向量数据库存储。 ## 二、DocumentLoader 文档加载器 ## 2、DocumentLoader 文档加载器 在 Agents-Flex 中,提供了如下两种文档加载器(未来会提供更多的类型): @@ -176,14 +176,14 @@ --- ## 三、DocumentParser 文档解析器 ## 3、DocumentParser 文档解析器 文档解析器用于对不同类型的文档进行解析,最终得到 **Document** 对象,Agents-Flex 已内置的文档解析器如下: - **PdfBoxDocumentParser**: 对 PDF 解析 - **PoiDocumentParser**: 对 Word 文档进行解析 ## 四、DocumentSplitter 文档分割器 ## 4、DocumentSplitter 文档分割器 文档分割器是用来对大文档进行分割为多个小文档的场景,不同的分割器可以用于不同的分割场景。目前 Agents-Flex 提供的文档分割器如下: @@ -196,7 +196,7 @@ ## Redis向量数据库 ## 一、部署Redis向量数据库 ## 1、部署Redis向量数据库 Redis向量数据库是包含redisSearch功能组件的Redis,这里使用docker版实现快速部署 @@ -204,7 +204,7 @@ docker run --name redis_stack -e REDIS_ARGS="--requirepass Test2025L" -p 6379:6379 -d --restart=always redis/redis-stack-server:latest ``` ## 二、知识库页面配置 ## 2、知识库页面配置 向量数据库类型选择Redis,向量数据库配置中填写uri = redis://:Test2025L@127.0.0.1:6379,向量数据库集合中填写知识库英文缩写如:redisKnowledge,Embedding 模型中选择一个模型(大模型菜单中能力是Embedding的模型)  @@ -215,14 +215,14 @@ storePrefix = docs: defaultCollectionName = documents ``` ## 三、文件导入 ## 3、文件导入  ## 四、检索测试  ## Milvus 向量数据库 ## 一、安装 DockerDesktop ## 1、安装 DockerDesktop 这里介绍windows使用 dockerDesktop 部署 Milvus 向量数据库 1. 安装dockerDesktop , 点开连接,直接点击Download for Windows即可下载 @@ -243,7 +243,7 @@ docker-compose --version ``` ## 二、部署 Milvus 向量数据库 ## 2、部署 Milvus 向量数据库 1. Milvus下载 从链接中: 下载选择自己所需的版本即可,这里我选择的是最新版本milvus-2.5.11 @@ -261,7 +261,7 @@  ## 三、Milvus 图形化界面attu的安装 ## 3、Milvus 图形化界面attu的安装 1. attu下载 大家可以点击下载attu选择自己所需的版本,我使用的为最新版本Release v2.4.6 @@ -275,7 +275,7 @@  ## 四、Milvus 向量数据库配置 ## 4、Milvus 向量数据库配置 **Milvus 向量数据库配置** 1. 以下为未设置密码的配置样例: @@ -293,7 +293,7 @@ ## Elasticsearch 向量数据库 ## 一、 Elasticsearch 知识库配置样例 ## 1、 Elasticsearch 知识库配置样例 如果没有设置账号和密码,不用添加账号和密码的配置  @@ -303,7 +303,7 @@ ## OpenSearch 向量数据库 ## 一、安装OpenSearch ## 1、安装OpenSearch docker 安装参考地址 @@ -321,6 +321,6 @@  ## 二、OpenSearch 知识库配置样例 ## 2、OpenSearch 知识库配置样例  docs/zh/development/ai/resource/ai_redis_knowledge.pngBinary files differ
docs/zh/development/ai/resource/elastic_search_config.pngdocs/zh/development/ai/resource/install_attu.pngdocs/zh/development/ai/resource/install_attu_1.pngdocs/zh/development/ai/resource/install_milvus_2.pngdocs/zh/development/ai/resource/install_milvus_3.pngdocs/zh/development/ai/resource/milvus_config_no_pwd.pngdocs/zh/development/ai/resource/milvus_config_pwd.pngdocs/zh/development/ai/resource/oepn_search_success.pngdocs/zh/development/ai/resource/ollama_install.pngdocs/zh/development/ai/resource/open_search_config.pngdocs/zh/product/bot-application/quick-start.md
@@ -1,10 +1,10 @@ # 快速开始 ## 创建 Bot ## 1. 创建 Bot  ## 配置大模型 ## 2. 配置大模型  @@ -12,7 +12,7 @@  ## 运行 Bot ## 3. 运行 Bot  docs/zh/product/bot-application/resource/create-bot.pngdocs/zh/product/bot-application/resource/create-model-second.pngdocs/zh/product/bot-application/resource/create-model.pngdocs/zh/product/bot-application/resource/start-bot.pngdocs/zh/product/knowledge/management-knowledge.md
New file @@ -0,0 +1,11 @@ # 管理知识库 ## 如何管理知识库  1. 在这里可以对知识库里面的已经向量化的知识进行管理,可以预览知识库里面的内容,也可以对知识库里面的内容进行修改删除。 2. 修改知识库的内容的时候会重新向量化知识库里面的内容  docs/zh/product/knowledge/quick-start.md
File was deleted docs/zh/product/knowledge/resource/management_knowledge_first.png
docs/zh/product/knowledge/resource/management_knowledge_update.png
docs/zh/product/knowledge/vector-database.md
New file @@ -0,0 +1,132 @@ # 向量数据库 ## Redis向量数据库 ## 1. 部署Redis向量数据库 Redis向量数据库是包含redisSearch功能组件的Redis,这里使用docker版实现快速部署 ```java docker run --name redis_stack -e REDIS_ARGS="--requirepass Test2025L" -p 6379:6379 -d --restart=always redis/redis-stack-server:latest ``` ## 2. 知识库页面配置 向量数据库类型选择Redis,向量数据库配置中填写uri = redis://:Test2025L@127.0.0.1:6379,向量数据库集合中填写知识库英文缩写如:redisKnowledge,Embedding 模型中选择一个模型(大模型菜单中能力是Embedding的模型)  扩展:向量数据库配置中还可以增加storePrefix、defaultCollectionName 等配置,配置了defaultCollectionName 时新增/编辑知识库页面中的“向量数据库集合”可以为空。 ```java storePrefix = docs: defaultCollectionName = documents ``` ## 3. 文件导入  ## 4. 检索测试  ## Milvus 向量数据库 ## 1. 安装 DockerDesktop 这里介绍windows使用 dockerDesktop 部署 Milvus 向量数据库 1. 安装dockerDesktop , 点开连接,直接点击Download for Windows即可下载 https://docs.docker.com/desktop/setup/install/windows-install/  2. 下载好了安装,直接安装即可。安装完了打开Docker可视化页面。 如果页面为以下内容则表示成功(如果页面空白,则需要设置网络,保证能访问docker镜像仓库):  验证是否安装成功 ```cmd #查看docker版本 docker --version #查看docker-compose版本 docker-compose --version ``` ## 2. 部署 Milvus 向量数据库 1. Milvus下载 从链接中: 下载选择自己所需的版本即可,这里我选择的是最新版本milvus-2.5.11 https://github.com/milvus-io/milvus/releases/tag/v2.5.11  在你的本地建立一个milvus文件夹,将下载好的文件拷贝至刚刚创建的milvus下,并改名为:docker-compose.yml。记得一定要改名,不然会报错。  2. Milvus启动与验证 打开cmd命令行,进入docker-compose.yml文件所在的目录。 输入命令: docker compose up -d,这里记得设置自己的网络,不然加载不了。  ## 3. Milvus 图形化界面attu的安装 1. attu下载 大家可以点击下载attu选择自己所需的版本,我使用的为最新版本Release v2.4.6 https://github.com/zilliztech/attu/releases/tag/v2.5.8  2. attu安装 下载安装文件后,直接安装就行。安装后打开的页面是这样:  ## 4. Milvus 向量数据库配置 **Milvus 向量数据库配置** 1. 以下为未设置密码的配置样例:  2. 以下为设置了密码的配置样例:  **此外 Milvus 还支持更多配置参数** databaseName = "default" 数据库集合名称,默认为default token :使用token认证,默认为空,为空则不使用token认证 ## Elasticsearch 向量数据库 ## 1. Elasticsearch 知识库配置样例 如果没有设置账号和密码,不用添加账号和密码的配置  此外 Elasticsearch 还支持更多配置参数 apiKey :使用apiKey认证,默认为空,为空则不使用apiKey认证 ## OpenSearch 向量数据库 ## 1. 安装OpenSearch docker 安装参考地址 https://docs.opensearch.org/docs/latest/install-and-configure/install-opensearch/docker/#windows-settings docker 使用如下如下命令一键设置密码并安装 ```cmd docker run -d -p 9200:9200 -p 9600:9600 -e "discovery.type=single-node" -e "OPENSEARCH_INITIAL_ADMIN_PASSWORD=yourPassword" opensearchproject/opensearch:2.19.1 ``` 浏览器向 9200 端口发送请求。默认用户名为 admin ,密码为您设置的密码。 出现以下内容则表示成功  ## 2. OpenSearch 知识库配置样例  docs/zh/product/workflow/execute-condition.md
@@ -6,6 +6,8 @@ 编写执行条件的语法完全遵循 `JavaScript` 的语法。 执行条件支持复杂的逻辑表达式,包括布尔运算符(如 &&, ||, !)、比较运算符(如 ===, !==, >, <)以及嵌套条件。 ## 边属性设置 在 AIFlowy 中,并没有条件节点的概念,条件分支可以通过边属性设置来控制。 docs/zh/product/workflow/node-context.md
New file @@ -0,0 +1,13 @@ # 节点上下文 可以通过 `_context` 获取节点上下文的相关信息。 ## isUpstreamFullyExecuted 方法 在一些场景中,需要判断上游节点是否已经执行完毕,可以通过 `_context.isUpstreamFullyExecuted()` 方法来判断。 比如上游有多个节点是异步执行的,那就需要在当前节点判断上游节点是否执行完毕,等待上游全部执行完毕才能继续执行当前节点。 如图:  docs/zh/product/workflow/nodes/llm.md
@@ -6,8 +6,6 @@ 模型列表的数据来自大模型管理页面,具体请参考[大模型管理](../../llm/addLlm.md)  ## 采样参数 ### Temperature docs/zh/product/workflow/nodes/plugin.md
@@ -9,13 +9,9 @@ 拖动节点到画布中后,点击选择按钮:  点击后会弹出一个选择框: 点击后会弹出一个选择框,选择已经定义好的插件:  点击你定义好的插件,然后选择一个具体的工具:  选择好之后,会自动填充输入输出参数,这样插件节点就添加完毕了: docs/zh/product/workflow/nodes/search-engine.md
@@ -1,4 +1,7 @@ # 搜索引擎  目前支持 [博查搜索](https://open.bochaai.com/) 可前往申请 apiKey,然后在配置文件里配置: docs/zh/product/workflow/resource/async-exec.png
docs/zh/product/workflow/resource/doc-content.pngdocs/zh/product/workflow/resource/file-gen.pngdocs/zh/product/workflow/resource/llmNode.pngdocs/zh/product/workflow/resource/pluginChose.pngdocs/zh/product/workflow/resource/pluginChosen.pngdocs/zh/product/workflow/resource/pluginInit.pngdocs/zh/product/workflow/resource/search-engine.png
docs/zh/product/workflow/resource/template-node.png