黑炭儿呀
2025-05-16 eefa56751bf4fe1fb888a0c0e7ea912cf862b86e
Merge branch 'main' of https://gitee.com/aiflowy/aiflowy
2个文件已删除
28个文件已修改
7个文件已添加
275 ■■■■■ 已修改文件
docs/.vitepress/config.mts 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
docs/zh/development/ai/knowledge.md 42 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
docs/zh/development/ai/resource/ai_redis_knowledge.png 补丁 | 查看 | 原始文档 | blame | 历史
docs/zh/development/ai/resource/elastic_search_config.png 补丁 | 查看 | 原始文档 | blame | 历史
docs/zh/development/ai/resource/install_attu.png 补丁 | 查看 | 原始文档 | blame | 历史
docs/zh/development/ai/resource/install_attu_1.png 补丁 | 查看 | 原始文档 | blame | 历史
docs/zh/development/ai/resource/install_milvus_2.png 补丁 | 查看 | 原始文档 | blame | 历史
docs/zh/development/ai/resource/install_milvus_3.png 补丁 | 查看 | 原始文档 | blame | 历史
docs/zh/development/ai/resource/milvus_config_no_pwd.png 补丁 | 查看 | 原始文档 | blame | 历史
docs/zh/development/ai/resource/milvus_config_pwd.png 补丁 | 查看 | 原始文档 | blame | 历史
docs/zh/development/ai/resource/oepn_search_success.png 补丁 | 查看 | 原始文档 | blame | 历史
docs/zh/development/ai/resource/ollama_install.png 补丁 | 查看 | 原始文档 | blame | 历史
docs/zh/development/ai/resource/open_search_config.png 补丁 | 查看 | 原始文档 | blame | 历史
docs/zh/product/bot-application/quick-start.md 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
docs/zh/product/bot-application/resource/create-bot.png 补丁 | 查看 | 原始文档 | blame | 历史
docs/zh/product/bot-application/resource/create-model-second.png 补丁 | 查看 | 原始文档 | blame | 历史
docs/zh/product/bot-application/resource/create-model.png 补丁 | 查看 | 原始文档 | blame | 历史
docs/zh/product/bot-application/resource/start-bot.png 补丁 | 查看 | 原始文档 | blame | 历史
docs/zh/product/knowledge/management-knowledge.md 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
docs/zh/product/knowledge/quick-start.md 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
docs/zh/product/knowledge/resource/management_knowledge_first.png 补丁 | 查看 | 原始文档 | blame | 历史
docs/zh/product/knowledge/resource/management_knowledge_update.png 补丁 | 查看 | 原始文档 | blame | 历史
docs/zh/product/knowledge/vector-database.md 132 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
docs/zh/product/workflow/execute-condition.md 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
docs/zh/product/workflow/node-context.md 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
docs/zh/product/workflow/nodes/llm.md 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
docs/zh/product/workflow/nodes/plugin.md 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
docs/zh/product/workflow/nodes/search-engine.md 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
docs/zh/product/workflow/resource/async-exec.png 补丁 | 查看 | 原始文档 | blame | 历史
docs/zh/product/workflow/resource/doc-content.png 补丁 | 查看 | 原始文档 | blame | 历史
docs/zh/product/workflow/resource/file-gen.png 补丁 | 查看 | 原始文档 | blame | 历史
docs/zh/product/workflow/resource/llmNode.png 补丁 | 查看 | 原始文档 | blame | 历史
docs/zh/product/workflow/resource/pluginChose.png 补丁 | 查看 | 原始文档 | blame | 历史
docs/zh/product/workflow/resource/pluginChosen.png 补丁 | 查看 | 原始文档 | blame | 历史
docs/zh/product/workflow/resource/pluginInit.png 补丁 | 查看 | 原始文档 | blame | 历史
docs/zh/product/workflow/resource/search-engine.png 补丁 | 查看 | 原始文档 | blame | 历史
docs/zh/product/workflow/resource/template-node.png 补丁 | 查看 | 原始文档 | blame | 历史
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 的流程和原理
![rag.png](resource/rag.png)
@@ -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的模型)
![输入图片说明](resource/ai_redis_knowledge.png)
@@ -215,14 +215,14 @@
storePrefix = docs:
defaultCollectionName = documents
```
## 三、文件导入
## 3、文件导入
![输入图片说明](resource/ai_redis_file_import.png)
## 四、检索测试
![输入图片说明](resource/ai_redis_search_test.png)
## 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 @@
![install_milvus_3.png](resource/install_milvus_3.png)
## 三、Milvus 图形化界面attu的安装
## 3、Milvus 图形化界面attu的安装
1. attu下载
大家可以点击下载attu选择自己所需的版本,我使用的为最新版本Release v2.4.6
@@ -275,7 +275,7 @@
![install_attu_1.png](resource/install_attu_1.png)
## 四、Milvus 向量数据库配置
## 4、Milvus 向量数据库配置
**Milvus 向量数据库配置**
1. 以下为未设置密码的配置样例:
@@ -293,7 +293,7 @@
## Elasticsearch 向量数据库
## 一、 Elasticsearch 知识库配置样例
## 1、 Elasticsearch 知识库配置样例
如果没有设置账号和密码,不用添加账号和密码的配置
![img.png](resource/elastic_search_config.png)
@@ -303,7 +303,7 @@
## OpenSearch 向量数据库
## 一、安装OpenSearch
## 1、安装OpenSearch
docker 安装参考地址
@@ -321,6 +321,6 @@
![oepn_search_success.png](resource/oepn_search_success.png)
## 二、OpenSearch 知识库配置样例
## 2、OpenSearch 知识库配置样例
![open_search_config.png](resource/open_search_config.png)
docs/zh/development/ai/resource/ai_redis_knowledge.png
Binary files differ
docs/zh/development/ai/resource/elastic_search_config.png

docs/zh/development/ai/resource/install_attu.png

docs/zh/development/ai/resource/install_attu_1.png

docs/zh/development/ai/resource/install_milvus_2.png

docs/zh/development/ai/resource/install_milvus_3.png

docs/zh/development/ai/resource/milvus_config_no_pwd.png

docs/zh/development/ai/resource/milvus_config_pwd.png

docs/zh/development/ai/resource/oepn_search_success.png

docs/zh/development/ai/resource/ollama_install.png

docs/zh/development/ai/resource/open_search_config.png

docs/zh/product/bot-application/quick-start.md
@@ -1,10 +1,10 @@
# 快速开始
## 创建 Bot
## 1. 创建 Bot
![create-bot.png](resource/create-bot.png)
## 配置大模型
## 2. 配置大模型
![create-model.png](resource/create-model.png)
@@ -12,7 +12,7 @@
![create-model-second.png](resource/create-model-second.png)
## 运行 Bot
## 3. 运行 Bot
![start-bot.png](resource/start-bot.png)
docs/zh/product/bot-application/resource/create-bot.png

docs/zh/product/bot-application/resource/create-model-second.png

docs/zh/product/bot-application/resource/create-model.png

docs/zh/product/bot-application/resource/start-bot.png

docs/zh/product/knowledge/management-knowledge.md
New file
@@ -0,0 +1,11 @@
# 管理知识库
## 如何管理知识库
![management_knowledge_first.png](resource/management_knowledge_first.png)
1. 在这里可以对知识库里面的已经向量化的知识进行管理,可以预览知识库里面的内容,也可以对知识库里面的内容进行修改删除。
2. 修改知识库的内容的时候会重新向量化知识库里面的内容
![management_knowledge_update.png](resource/management_knowledge_update.png)
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的模型)
![输入图片说明](../../development/ai/resource/ai_redis_knowledge.png)
扩展:向量数据库配置中还可以增加storePrefix、defaultCollectionName 等配置,配置了defaultCollectionName 时新增/编辑知识库页面中的“向量数据库集合”可以为空。
```java
storePrefix = docs:
defaultCollectionName = documents
```
## 3. 文件导入
![输入图片说明](../../development/ai/resource/ai_redis_file_import.png)
## 4. 检索测试
![输入图片说明](../../development/ai/resource/ai_redis_search_test.png)
## Milvus 向量数据库
## 1. 安装 DockerDesktop
这里介绍windows使用 dockerDesktop 部署 Milvus 向量数据库
1. 安装dockerDesktop , 点开连接,直接点击Download for Windows即可下载
   https://docs.docker.com/desktop/setup/install/windows-install/
![install_dockerDesktop.png](../../development/ai/resource/install_dockerDesktop.png)
2. 下载好了安装,直接安装即可。安装完了打开Docker可视化页面。
   如果页面为以下内容则表示成功(如果页面空白,则需要设置网络,保证能访问docker镜像仓库):
![install_desktop_1.png](../../development/ai/resource/install_desktop_1.png)
验证是否安装成功
```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
![install_milvus_1.png](../../development/ai/resource/install_milvus_1.png)
在你的本地建立一个milvus文件夹,将下载好的文件拷贝至刚刚创建的milvus下,并改名为:docker-compose.yml。记得一定要改名,不然会报错。
![install_milvus_2.png](../../development/ai/resource/install_milvus_2.png)
2. Milvus启动与验证
   打开cmd命令行,进入docker-compose.yml文件所在的目录。
   输入命令: docker compose up -d,这里记得设置自己的网络,不然加载不了。
![install_milvus_3.png](../../development/ai/resource/install_milvus_3.png)
## 3. Milvus 图形化界面attu的安装
1. attu下载
   大家可以点击下载attu选择自己所需的版本,我使用的为最新版本Release v2.4.6
https://github.com/zilliztech/attu/releases/tag/v2.5.8
![install_attu.png](../../development/ai/resource/install_attu.png)
2. attu安装
   下载安装文件后,直接安装就行。安装后打开的页面是这样:
![install_attu_1.png](../../development/ai/resource/install_attu_1.png)
## 4. Milvus 向量数据库配置
**Milvus 向量数据库配置**
1. 以下为未设置密码的配置样例:
![milvus_config_no_pwd.png](../../development/ai/resource/milvus_config_no_pwd.png)
2. 以下为设置了密码的配置样例:
![milvus_config_pwd.png](../../development/ai/resource/milvus_config_pwd.png)
**此外 Milvus 还支持更多配置参数**
databaseName = "default" 数据库集合名称,默认为default
token :使用token认证,默认为空,为空则不使用token认证
## Elasticsearch 向量数据库
## 1. Elasticsearch 知识库配置样例
如果没有设置账号和密码,不用添加账号和密码的配置
![img.png](../../development/ai/resource/elastic_search_config.png)
此外  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 ,密码为您设置的密码。
出现以下内容则表示成功
![oepn_search_success.png](../../development/ai/resource/oepn_search_success.png)
## 2. OpenSearch 知识库配置样例
![open_search_config.png](../../development/ai/resource/open_search_config.png)
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()` 方法来判断。
比如上游有多个节点是异步执行的,那就需要在当前节点判断上游节点是否执行完毕,等待上游全部执行完毕才能继续执行当前节点。
如图:
![async-exec.png](resource/async-exec.png)
docs/zh/product/workflow/nodes/llm.md
@@ -6,8 +6,6 @@
模型列表的数据来自大模型管理页面,具体请参考[大模型管理](../../llm/addLlm.md)
![llmList.png](../resource/llmList.png)
## 采样参数
### Temperature
docs/zh/product/workflow/nodes/plugin.md
@@ -9,13 +9,9 @@
拖动节点到画布中后,点击选择按钮:
![pluginInit.png](../resource/pluginInit.png)
点击后会弹出一个选择框:
点击后会弹出一个选择框,选择已经定义好的插件:
![pluginChose.png](../resource/pluginChose.png)
点击你定义好的插件,然后选择一个具体的工具:
![pluginTool.png](../resource/pluginTool.png)
选择好之后,会自动填充输入输出参数,这样插件节点就添加完毕了:
docs/zh/product/workflow/nodes/search-engine.md
@@ -1,4 +1,7 @@
# 搜索引擎
![search-engine.png](../resource/search-engine.png)
目前支持 [博查搜索](https://open.bochaai.com/)
可前往申请 apiKey,然后在配置文件里配置:
docs/zh/product/workflow/resource/async-exec.png
docs/zh/product/workflow/resource/doc-content.png

docs/zh/product/workflow/resource/file-gen.png

docs/zh/product/workflow/resource/llmNode.png

docs/zh/product/workflow/resource/pluginChose.png

docs/zh/product/workflow/resource/pluginChosen.png

docs/zh/product/workflow/resource/pluginInit.png

docs/zh/product/workflow/resource/search-engine.png
docs/zh/product/workflow/resource/template-node.png