1.1.0 • Published 5 months ago

bsin-agent-ui v1.1.0

Weekly downloads
-
License
MIT
Repository
-
Last release
5 months ago

bsin-agent-ui

Bsin AI Agent UI 是一个可视化的定义AI智能体的编排服务组件,根据用户个性化需求,定义智能体,实现业务自动化和智能化。

特性

  • 📦 开箱即用,提高效率
  • 🎨 多样化样式,避免单调
  • 🔮 丰富功能,方便灵活
  • 🥇 功能丰富,灵活方便
  • 🥇 强大团队支持
  • 🧐 可视化动态流程
  • 👀 清晰文档,快速上手

快速入手

安装包

npm i bsin-agent-ui

导入组件

import { AiAgentDesign } from 'bsin-agent-ui';

使用组件

<AiAgentDesign xmlStr="{}"></AiAgentDesign>
<!--传入你的数据-->

预览效果

使用以上步骤完成配置后,即可预览效果。

交互效果

avatar

avatar

节点介绍

  • 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数据的解析 @博羸