1.1.0 • Published 5 months ago
bsin-agent-ui v1.1.0
bsin-agent-ui
Bsin AI Agent UI 是一个可视化的定义AI智能体的编排服务组件,根据用户个性化需求,定义智能体,实现业务自动化和智能化。
特性
- 📦 开箱即用,提高效率
- 🎨 多样化样式,避免单调
- 🔮 丰富功能,方便灵活
- 🥇 功能丰富,灵活方便
- 🥇 强大团队支持
- 🧐 可视化动态流程
- 👀 清晰文档,快速上手
快速入手
安装包
npm i bsin-agent-ui
导入组件
import { AiAgentDesign } from 'bsin-agent-ui';
使用组件
<AiAgentDesign xmlStr="{}"></AiAgentDesign>
<!--传入你的数据-->
预览效果
使用以上步骤完成配置后,即可预览效果。
交互效果
节点介绍
- 1、流程开始(starEvent):开场白
- 2、流程结束(endEvent):把输入作为答案输出
- 2、知识检索(knowledgeBase): 配置一个知识库检索(RAG)
- 3、dubbo请求(dubboInvoke):dubbo接口调用节点,类似http
- 5、SQL脚本(sqlScript): 可根据输入变量执行sql脚本
- 6、智能决策(intelligentDecision):根据输入json参数进入智能决策流程
- 7、大模型(llm):选择大模型:配置key
流程开始
在开始节点中,您可以自定义启动工作流的输入变量
- 1、开场白输入
- 2、自定义输入变量:文本、数字
流程结束
在结束节点中,您可以自定义最终输出内容变量和输出的形式
- 1、输出内容形式:文字、语音
- 2、自定义输入变量:文本、数字
知识检索
构建基于外部数据/知识的 AI 问答系统(RAG)
- 1、可以选择一个或多个相同向量模型的知识库
- 2、展示选择的知识库列表
dubbo请求
允许通过 dubbo 协议发送服务器请求
- 1、调用的服务和方法输入框
- 2、自定义输入变量:文本、数字
- 3、自定义输出变量:文本、数字
SQL脚本
执行一段简单的sql脚本代码
- 1、选择sql类型:mysql,pgsql,ob,达梦
- 2、输入sql脚本
- 3、自定义输出变量: 字段变量名称、类型
智能决策
在智能决策点中,您可以自定义最终输出内容变量和输出的形式
- 1、输出内容形式:文字、语音
- 2、自定义输入变量:文本、数字
大模型
选择合适的模型,配置模型参数
- 1、选择模型
- 2、配置模型参数:key,温度、TopP,最大标记、回复格式等
节点json数据规范
{
"id": "1",
"type": "startEvent",
"data": {
"prologue": ""
"input": [
{
"valueTakingMethod?": "指标的取值方式:1、直接填写 2、请求参数中获取 3、通过泛化调用获取",
"valueTakingMethod": "1",
"type": "String",
"name": "用户名",
"metricsKey": "username",
"metricsValue": "bolei"
},
{
"valueTakingMethod?": "指标的取值方式:1、直接填写 2、请求参数中获取 3、通过泛化调用获取",
"valueTakingMethod": "1",
"type": "String",
"name": "用户名",
"metricsKey": "username",
"metricsValue": "bolei"
}
],
"output": [
{
"prologue": "提示词",
"prologue?": "我是一个app-agent助手,擅长json数据处理"
}
]
}
}
节点编排JSON格式:
{
"nodes": [
{
"id": "1",
"type": "startEvent",
"input": [
{
"valueTakingMethod?": "指标的取值方式:1、直接填写 2、请求参数中获取 3、通过泛化调用获取",
"valueTakingMethod": "1",
"type": "String",
"name": "用户名",
"metricsKey": "username",
"metricsValue": "bolei"
},
{
"valueTakingMethod?": "指标的取值方式:1、直接填写 2、请求参数中获取 3、通过泛化调用获取",
"valueTakingMethod": "1",
"type": "String",
"name": "用户名",
"metricsKey": "username",
"metricsValue": "bolei"
}
],
"output": [
{
"prologue": "提示词",
"prologue?": "我是一个app-agent助手,擅长json数据处理"
}
]
},
{
"id": "2",
"type": "llm",
"input": [
{
"llm": "chatgpt",
"model": "3.5",
"label": "根据角色定义获取营销热点信息"
}
]
},
{
"id": "3",
"type": "endEvent",
"input": [
],
"output": [
{
"label": "结束节点"
}
]
},
{
"id": "4",
"type": "intelligentDecision",
"input": [
],
"output": [
{
"model": "3.5",
"label": "关联规则事件模型"
}
]
},
{
"id": "5",
"type": "dubboInvoke",
"input": [
],
"output": [
{
"model": "3.5",
"label": "dubbo调用"
}
]
}
],
"edges": [
{
"id": "e1-2",
"source": "1",
"target": "2"
},
{
"id": "e2-3",
"source": "2",
"target": "4"
},
{
"id": "e2-3",
"source": "4",
"target": "5"
},
{
"id": "e3-4",
"source": "5",
"target": "3"
}
],
"viewport": {
"x": 1,
"y": 1,
"zoom": 1
}
}
贡献者
TODO
未完成 x 已完成
- 节点封装:提取节点的json数据(封装一个示例)
- 流程json数据:组合每个节点的json数据,形成最后的流程json数据
- 后端对json数据的解析 @博羸