【AI流程应用】智能知识库搭建与实战应用
JeecgBoot 平台的 AIGC 功能模块,是一套类似 Dify 的 AIGC应用开发平台 + 知识库问答 子系统,是一款基于 LLM 大语言模型 AI 应用平台和 RAG 的知识库问答系统。 其直观的界面结合了 AI 流程编排、RAG 管道、知识库管理、模型管理、对接向量库、实时运行可观察等,让您可以快速从原型到生产,拥有 AI 服务能力。
体验地址:https://boot3.jeecg.com
源码下载:https://github.com/jeecgboot/JeecgBoot
在上一节中,我们构建了一个能够深入理解 积木报表 的智能助手,但它的回答范围仅限于该领域。
本节将进一步扩展,使其不仅熟悉 积木报表 ,还能够理解 JeecgBoot,并能根据用户的问题智能匹配相关知识库进行回答。
0. 前置条件
参考上一节知识库创建内容,创建新的知识库:JeecgBoot文档
1. 创建工作流
1.1 创建流程
进入 AI 流程设计页面,点击添加流程,填写流程基础信息,进入编排界面。
1.2 条件分支节点
点击节点后的加号添加新的节点,选择条件分支节点。
点击条件分支节点,右侧弹出节点配置。
配置两个条件分支:
- 分支1:用户问题包含
jeecg
或JeecgBoot
;OR
关系。 - 分支2:用户问题包含
jimu
、积木
或报表
;OR
关系 。
现在条件分支节点有三个分支(IF、ELIF、ELSE)
1.3 知识库节点
为分之一(CASE 1)和分支二(CASE 2)添加后续节点:知识库
- 查询变量选择
开始/用户问题
- 知识库选择:分之一选择:
JeecgBoot文档
;分支二选择:积木报表文档
- 分别修改知识库节点名称:
Jeecg知识库
;Jimu知识库
(名称只是为了方便区分)
1.4 LLM 节点。
为每个知识库检索节点添加LLM 节点。
- 输入变量 :
开始/用户问题
:用户的提问。Jeecg知识库/文档内容
:知识库检索到的文档内容。
- 模型 :选择在
AI模型
中创建的聊天模型
。 - 系统提示 :设定 AI 助手的背景信息,例如:
# 角色:知识库助手根据知识库检索的结果,回答用户的问题。## 目标:1. 提供准确、全面的信息查询服务。2. 帮助用户解决具体问题或获取知识。## 输出格式:- 清晰的标题和小节- 列表形式的要点总结- 引用来源和参考资料链接
- 用户提示 :
{{question}}
。
- 最后,修改节点名称:
JeecgAI助理
用同样的方式再为积木报表知识库添加LLM节点
1.5 为 LLM 节点添加结束节点。
为JeecgAI助理添加结束节点
再将JimuAI助理和这个结束节点连接起来
结束节点设置:
- 输出变量:传入两个 LLM 节点的输出。
JeecgAI助理/回复内容
:JeecgAI助理的回复内容JimuAI助理/回复内容
:JimuAI助理的回复内容
- 勾选 返回文本 ,内容文本填写:
{{jeecgRes}}{{jimuRes}}
1.6 为条件分支的 else 分支添加结束节点
为条件分支的 else 分支添加结束节点
结束节点设置:
- 勾选 返回文本 ,内容文本填写:
抱歉,我不知道怎么回答这个问题。
1.7 保存流程。
2. 创建高级编排应用
进入 AI 应用 模块,点击 创建空白应用。
填写应用名称、描述等信息,选择 高级配置,然后确认新建,进入编排界面。
关联流程,选择刚刚创建的流程。
3. 体验工作流应用
进入 AI 应用的演示页面,输入问题:
jeecg是什么?
可以看到,AI 结合 JeecgBoot 知识库 提供精准回答。
再尝试提问:
你可以干什么?
如果该问题不在知识库范围内,AI 将返回默认回答:
我不知道这个问题怎么回答呦。
通过以上步骤,您已成功创建一个能够理解 积木报表 和 JeecgBoot 并智能应答的 AI 机器人。
相关文章:
【AI流程应用】智能知识库搭建与实战应用
JeecgBoot 平台的 AIGC 功能模块,是一套类似 Dify 的 AIGC应用开发平台 知识库问答 子系统,是一款基于 LLM 大语言模型 AI 应用平台和 RAG 的知识库问答系统。 其直观的界面结合了 AI 流程编排、RAG 管道、知识库管理、模型管理、对接向量库、实时运行可…...
微店平台店铺商品接口开发指南
微店API获取店铺所有商品实现方案 以下是使用微店开放平台API获取店铺所有商品的完整实现代码,包含请求封装、分页处理和错误处理机制。 点击获取key和secret from weidian_api import WeidianAPI # 配置你的微店应用凭证 APP_KEY "your_app_key" APP_…...
springboot3+vue3融合项目实战-大事件文章管理系统-更新文章分类和增加文章分类优化-分组校验
因为我们之前在category实体类里面增加了notnull注解,而之前新增文章分类模块新增文章是不需要id的,而id是由数据库自动分配的,这就导致不能新增文章了,所以我们要进行分组校验 思路如下: 我们更改category代码&…...
Vue.js教学第九章:Vue动态与异步组件,高效开发全攻略
Vue 组件的动态与异步:探索高效开发路径 在 Vue.js 开发领域中,组件的动态与异步加载机制是构建复杂且高性能前端应用的关键策略。本研究深入探究 Vue 中动态组件与异步组件的原理、用法及性能优化实践,旨在为开发者提供全面且深入的技术指引,助力其在实际项目中高效运用。…...
CVE-2018-1270源码分析与漏洞复现(spring-messaging 表达式注入)
漏洞概述 CVE-2018-1270 是 Spring 框架中的一个高危远程代码执行(RCE)漏洞,影响版本为 Spring Framework 5.0–5.0.4 和 4.3–4.3.14。攻击者通过构造包含恶意 SpEL(Spring Expression Language)表达式的 STOMP&…...
DevOps学习回顾03-ops三部曲之配置管理(CM)
快速回顾 Ops 中配置管理的一些常见的方式,以及一些配置文件常见的组织形式 参考来源 极客时间-全栈工程师修炼指南-OPS三部曲之配置管理 什么是配置管理?–IBM 五大最流行的配置管理工具 为啥需要配置管理? CM 的主要目标是控制复杂系统…...
二进制编码、定点数与浮点数
1. 二进制编码 1.1. 字符串的表示,从编码到数字 不仅数值可以用二进制表示,字符乃至更多的信息都能用二进制表示。最典型的例子就是字符串(Character String)。最早计算机只需要使用英文字符,加上数字和一些特殊符号…...
CentOS:搭建国内软件repository,以实现自动yum网络安装
centosgit仓库_寂寞沙冷州的技术博客_51CTO博客 yum 很慢 centos yum安装慢_mob64ca1417b0c6的技术博客_51CTO博客 yum配置,文件,命令详解-CSDN博客 yum仓库简介_yum库是什么-CSDN博客 rootwww:/etc/yum.repos.d# pwd /etc/yum.repos.d ###创建下面这个.…...
C# AOP编程
AOP(面向切片编程的概念我这里就不介绍了,这里先介绍一下C#中的AOP编程框架。 1.AOP的分类 .net下支持AOP的框架很多,搜了一下有:PostSharp、AspectInjector、Fody 、Castle Windsor、Spring.NET、Ninject、Unity等,实现的方式主要…...
【Element UI排序】JavaScript 的表格排序sortable=“custom“和 @sort-change
目录 一、elementUI排序功能实际案例二、 实例2三、 实例3 Sortable — 是一个 JavaScript 库,用于在现代浏览器和触摸设备上对拖放列表进行重新排序。 一、elementUI排序功能实际案例 表格每一项中加上sortable,可以展示排序的小图标。 在列中设置so…...
使用Jenkins部署nodejs前端项目
1. 安装node环境 1.1 下载 https://nodejs.org/zh-cn/download 1.2 解压到安装目录 tar -xJvf node-v22.15.1-linux-x64.tar.xz mv node-v22.15.1-linux-x64 /home/soft/ mv node-v22.15.1-linux-x64/ node22原本计划安装 node22和node18,但是CentOS7.9 GLIBCXX …...
阿里云域名 绑定 华为云服务器ip
阿里云(万网)域名转入华为云域名图文教程 上-云社区-华为云 阿里云(万网)域名转入华为云域名图文教程-云社区-华为云 在阿里云备案了域名,解析到华为云服务器,不在同一个服务商这样可以使用么?…...
在局域网(LAN)中查看设备的 IP 地址
在局域网(LAN)中查看设备的 IP 地址,可以使用以下几种方法: 方法 1:使用 ipconfig(Windows) 1. 打开 CMD: 按 Win R,输入 cmd,回车。 2. 输入命令&#…...
第3周作业-1层隐藏层的神经网络分类二维数据
文章目录 ***1层隐藏层的神经网络分类二维数据***1. 导入包2. 数据集2.1 导入数据集2.2 查看数据集图案2.3 查看数据集维度 3. Logistic回归3.1 Logistic回归简介3.2 Logistic回归模型3.3 绘制边界 4. 神经网络模型4.1 神经网络简介4.2 神经网络数学模型4.3 建立神经网络方法4.…...
中天智能装备科技有限公司:智能仓储领域的卓越之选
在仓储智能化转型的时代浪潮中,中天智能装备科技有限公司以深厚的技术积淀与创新实力,成为众多企业迈向高效仓储的理想合作伙伴。无论是自动化立体库的精准搭建,还是 AGV 系统的智能部署,中天都以专业姿态为行业树立标杆。 硬核…...
Linux nbd 网络块设备(2)-内核实现
Linux nbd网络块设备(2)-内核实现 关注我,一起学习吧,后续持续更新内核相关 1. 概述: 内核linux/drivers/block/nbd.c 是nbd 网络设备的底层驱动实现逻辑。本文主要介绍nbd 设备注册及I/O请求的处理逻辑。 2. nbd 设备的初始化࿱…...
Python输出与输入
White graces:个人主页 🙉专栏推荐:Java入门知识🙉 🐹今日诗词:吟怀未许老重阳,霜雪无端入鬓长🐹 ⛳️点赞 ☀️收藏⭐️关注💬卑微小博主🙏 ⛳️点赞 ☀️收藏⭐️关注Ǵ…...
【C语言】复习~数组和指针
数组和指针 1.字符指针 char* 使用方法一: 使用方法二: 这里本质上是把常量字符串的首地址放到了指针变量pstr里面 看下面的面试题 str3和str4指向的是同一个常量字符串,c/c会把常量字符串存储到一个单独的内存区域, 当几…...
rocketmq优先级控制 + 并发度控制
背景 最近在做大模型的项目,算法部门提供的文档解析接口, 并发度为1, 业务这边需要在ai问答和上传文档时进行解析和向量化,文档解析只能单线程跑,问答的文档解析需要高优先级处理。 采用 rocketmq 做文档上传和解析的…...
从0开始学linux韦东山教程第四章问题小结(2)
本人从0开始学习linux,使用的是韦东山的教程,在跟着课程学习的情况下的所遇到的问题的总结,理论虽枯燥但是是基础。说实在的越看视频越感觉他讲的有点乱后续将以他的新版PDF手册为中心,视频作为辅助理解的工具。参考手册为嵌入式Linux应用开发…...
洛谷P1226 【模板】快速幂
题目来源 P1226 【模板】快速幂 - 洛谷 题目描述 给你三个整数 a,b,p,求 abmodp。 输入格式 输入只有一行三个整数,分别代表 a,b,p。 输出格式 输出一行一个字符串 a^b mod ps,其中 a,b,p 分别为题目给定的值, s 为运算结果…...
自动点焊机:在多类电池生产中筑牢质量与效率根基
在电池制造产业飞速发展的当下,焊接作为电池组装的关键环节,其质量与效率直接影响着电池的性能与安全性。自动点焊机凭借其高效、精准、稳定的特性,在电动工具电池、扭扭车电池、储能电池包、滑板车电池以及电动车电池等多个电池制造领域大放…...
信息系统项目管理师考前练习1
以下是结合《信息系统项目管理师教程》(第5版)核心考点和当前行业热点的20道选择题押题,涵盖重点知识和新兴趋势,供考前冲刺练习: 项目生命周期模型选择 在敏捷开发项目中,客户需求频繁变更,且团队希望快速交付最小可行产品(MVP),最适合采用的生命周期模型是: A. …...
C++ for QWidget:正则表达式和QRegExp
正则表达式 正则表达式,又称规则表达式,(Regular Expression,在代码中常简写为regex、regexp或RE),是计算机科学的一个概念。以下是对正则表达式的详细介绍: 一、定义与作用 正则表达式是一种文…...
day019-特殊符号、正则表达式与三剑客
文章目录 1. 磁盘空间不足-排查流程2. 李导推荐书籍2.1 大话存储2.2 性能之巅 3. 特殊符号3.1 引号系列(面试题)3.2 重定向符号3.2.1 cat与重定向3.2.2 tr命令:替换字符3.2.3 xargs:参数转换3.2.4 标准全量追加重定向 4. 正则表达…...
学习黑客了解5分钟了解中间人攻击(MITM)
5分钟了解中间人攻击(MITM)🕵️♂️ 什么是中间人攻击(Man-in-the-Middle, MITM)? 中间人攻击是一种网络攻击方式,攻击者悄无声息地“夹在”通信两端之间,偷偷读取、篡改、伪造或…...
亚马逊第四个机器人中心将如何降低30%配送成本?
近年来,亚马逊越来越依赖自动化技术来提升仓储效率和配送速度。2024年,亚马逊宣布其全球第四个机器人中心在美国正式投入运营,这一中心将成为改变供应链策略的新变量。据亚马逊官方消息,这一机器人中心有望帮助公司进一步削减运营…...
「AR智慧应急」新时代:当AR眼镜遇上智能监控,打造立体化应急指挥系统
引言:应急管理的未来已来 数字化浪潮正重塑应急管理领域。传统监控系统依赖固定屏幕、被动告警的短板,在复杂突发事件中暴露无遗。而AR眼镜视频监控管理平台应急应急管理平台的三维融合,正开启"上帝视角"指挥时代——通过虚实叠加…...
docker 启动一个python环境的项目
安装镜像 docker pull python:3.8-slim8902端口 启动容器 tail -f /dev/null 持续监听空文件,保持容器活跃 docker run -it \-p 8902:8902 \--name api_mock2 \-v /home/py/test:/app \-w /app \python:3.8-slim \tail -f /dev/null进入容器 docker exec -it api…...
Docker run命令-p参数详解
端口映射基础语法 docker run -p <宿主机端口>:<容器端口> 操作示例 docker run -d --restartalways --namespug -p 5000:80 registry.aliyuncs.com/openspug/spug参数解析 -d:后台运行容器--restartalways:设置容器自动重启--namespug&…...
vue3请求设置responseType: ‘blob‘,导致失败后获取不到返回信息
vue3请求设置responseType: ‘blob’,导致失败后获取不到返回信息 使用FileReader解决 dataCollect().downloadAll(data).then((res: any) > {if (res.type application/json) {const fileReader new FileReader();fileReader.readAsText(new Blob([res], { type: applica…...
在 Windows 系统部署对冲基金分析工具 ai-hedge-fund 的笔记
#工作记录 一、环境准备 在部署对冲基金分析工具ai-hedge-fund前,需提前安装好必备软件,为后续工作搭建好基础环境。 1. 安装 Anaconda Anaconda 集成了 Python 及众多科学计算库,是项目运行的重要基础。从Anaconda 官方网站下载适合 Win…...
基于python的机器学习(八)—— 评估算法(一)
目录 一、机器学习评估的基本概念 1.1 评估的定义与目标 1.2 常见评估指标 1.3 训练集、验证集与测试集的划分 二、分离数据集 2.1 分离训练数据集和评估数据集 2.2 k折交叉验证分离 2.3 弃一交叉验证分离 2.4 重复随机评估和训练数据集分离 三、交叉验证技术 3.…...
广东省省考备考(第十六天5.21)—言语:语句排序题(听课后强化)
错题 解析 对比选项,确定首句。①句介绍目前人类可以利用一些技术手段进入元宇宙,凭借网络重新定义自己,体验一种全新的生活,②句介绍对于多数人来说,首先要弄清楚什么是元宇宙,③句介绍元宇宙是指超越现实…...
什么是实时流数据?核心概念与应用场景解析
在当今数字经济时代,实时流数据正成为企业核心竞争力。金融机构需要实时风控系统在欺诈交易发生的瞬间进行拦截;电商平台需要根据用户实时行为提供个性化推荐;工业物联网需要监控设备状态预防故障。这些场景都要求系统能够“即时感知、即时分…...
计算机视觉与深度学习 | Python实现CEEMDAN-ABC-VMD-DBO-CNN-LSTM时间序列预测(完整源码和数据)
以下是一个结合CEEMDAN、ABC优化VMD、DBO优化CNN-LSTM的完整时间序列预测实现方案。该方案包含完整的数据生成、算法实现和模型构建代码。 完整实现代码 import numpy as np import pandas as pd from PyEMD import CEEMDAN from vmdpy import VMD from sklearn.preprocessing…...
每日Prompt:实物与手绘涂鸦创意广告
提示词 一则简约且富有创意的广告,设置在纯白背景上。 一个真实的 [真实物体] 与手绘黑色墨水涂鸦相结合,线条松散而俏皮。涂鸦描绘了:[涂鸦概念及交互:以巧妙、富有想象力的方式与物体互动]。在顶部或中部加入粗体黑色 [广告文案…...
期刊采编系统安装升级错误
我们以ojs系统为例: PHP Fatal error: Uncaught Error: Call to a member function getId() on null in /esci/data/html/classes/install/Upgrade.inc.php:1019 Stacktrace: #0 /esci/data/html/lib/pkp/classes/install/Installer.inc.php(415): Upgrade->con…...
【linux命令】git命令简单使用
git命令简单使用 1. 将代码下载到到本地2. 查看分支是否正确3. 将工作目录中的变更添加到暂存区,为下一次提交做准备4. 提交更改,添加提交信息5. 将本地的提交推送到远程仓库6.从远端仓库拉取分支代码7.查看修改日志8. 解决冲突 1. 将代码下载到到本地 …...
使用Tkinter写一个发送kafka消息的工具
文章目录 背景工具界面展示功能代码讲解运行环境创建GUI程序搭建前端样式编写功能实现代码 背景 公司是做AR实景产品的,近几年无人机特别的火,一来公司比较关注低空经济这个新型领域,二来很多政企、事业单位都采购了无人机用于日常工作。那么…...
【VS2017】cpp文件字符编码异常导致编译报错
这是一个 wav 转 pcm 的简单demo,但VS2017编译报错 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <inttypes.h> #pragma pack(push, 1) struct TWavHead {int8_t riff[4]; /*!< (4)资源交换文件标志 RIFF */uint32_t file_si…...
Vue3 中 Route 与 Router 的区别
在 Vue Router 中,Route 和 Router 是两个相关但完全不同的概念: 1、Router (路由实例) 定义:Router 是路由器的实例,负责整个应用的路由管理 功能: 管理路由映射表(路由配置) 提供编程式导航…...
gcc还会有自己的头文件呢?
1. GCC自己的头文件目录 路径: .../lib/gcc/<target>/<version>/include 作用: 这里存放的是GCC编译器自身实现的一些头文件,比如 stdarg.h、float.h、limits.h、varargs.h 等。这些头文件是C/C标准规定必须有的,但…...
YOLO训练输入尺寸代表什么 --input_width 和 --input_height 参数
参数作用 硬件对齐要求 许多边缘计算芯片(如 K230)的 NPU 对输入尺寸有 内存对齐要求(例如 32 的倍数)。脚本会自动将你填写的输入尺寸向上对齐到最近的 32 倍数: input_width int(math.ceil(args.input_width / 32.0…...
缓存穿透、缓存击穿、缓存雪崩解决方案
在分布式系统中,缓存是提升性能的关键组件,但也可能面临 缓存穿透、缓存击穿、缓存雪崩 三大典型问题。以下是三者的核心概念、区别及解决方案: 一、缓存穿透(Cache Penetration) 概念 场景:客户端请求 不存在的数据(如恶意攻击的非法 Key),由于缓存和数...
前端面经-nginx/docker
1.如何查看 Linux 系统负载?如何判断负载是否过高? 使用 top、htop 或 uptime 查看系统负载。 负载值(Load Average)反映 CPU 繁忙程度,理想情况下应小于 CPU 核心数。例如,4 核 CPU 的负载持续超过 4 表示…...
权限控制相关实现
Spring Boot-Shiro-Vue: 这个项目可以满足基本的权限控制需求,前后端都有,开箱即用...
[论文精读]Ward: Provable RAG Dataset Inference via LLM Watermarks
Ward: Provable RAG Dataset Inference via LLM Watermarks [2410.03537] Ward: Provable RAG Dataset Inference via LLM Watermarks ICLR 2025 Rebuttal:Ward: 可证明的 RAG 数据集推理通过 LLM 水印 | OpenReview --- Ward: Provable RAG Dataset Inference v…...
第23天-Python Flet 开发指南
环境准备 pip install flet 示例1:基础计数器应用 import flet as ftdef main(page: ft.Page):page.title = "计数器"page.vertical_alignment = ft.MainAxisAlignment.CENTERtxt_number = ft.TextField(value="0", text_align=ft.TextAlign.RIGHT, wid…...
LangGraph(五)——自定义状态
目录 1. 向状态添加键2. 更新工具中的状态3. 构建状态图4. 提示聊天机器人5. 添加人工协助6. 手动更新状态参考 1. 向状态添加键 通过向状态添加name和birthday键来更新聊天机器人对实体生日的研究: from typing import Annotated from typing_extensions import T…...