工作流创建组件
步骤 1 : 创建组件
可以通过工作流编排的方式来创建组件,生成的组件可以发布到我的组件中,组件可以用于在 Agent 应用中被 LLM 大模型 function call 调用。
你可以在【个人中心—组件】页面下看到组件列表,在页面右上角点击创建组件即可创建工作流。
- 组件名称:设置组件中文名称,组件名称在组件列表页以及 Agent 应用配置页中展示。
- 英文名称:组件英文名称将用于被大模型 function call 识别及调用,系统会自动将组件名称转化为一个唯一的英文名称,你也可以自己修改英文名称。
- 组件描述:当创建的组件在应用中使用时,大模型会根据英文名称及组件描述来识别是否调用该组件,因此请准确描述组件的应用场景
- 头像设定:支持上传自己的头像,也支持使用AI生成功能,根据组件名称来生成一个头像。
- 预置画布:系统提供了几种预置的工作流画布,默认选择为空画布,你可以选择一种预置画布开始创作,进入后可直接点击调试并输入参数运行,也支持根据自己的需求和场景基于以上画布进行改造。
预置画布
空画布
进入后默认展示输入节点和输出节点,需要根据需求自行添加节点并创作工作流。
知识库问答
预置了知识库问答工作流,包括输入节点、知识库节点、大模型节点、输出节点,知识库节点中预置了一份千帆文档的数据集,你可以在个人空间—知识库中创建自己的数据集,并在工作流知识库节点中更换知识库。也可根据问答场景需要修改大模型节点的prompt。
对话与内容生成
预置了大模型节点的对话与内容生成工作流,在大模型节点中内置了一个童话绘本生成类的prompt,进入后可以点击调试,并输入一个故事主题,工作流会根据输入的主题生成一个1000字的童话故事。同样,你可以修改prompt 设计自己的工作流。
API接入
预置了API节点的工作流画布,在API节点中内置了一个旅游景点查询API,可输入国内著名景点名称试运行,输出为景点名称、景点地址、景点等级、景点价格等。你也可以在API节点—编辑原始API信息中配置自己的API。
多类型复合
预置了以旅游攻略为主题,包含了API、大模型、分支器等节点的工作流,能够根据景点等级生成不同的旅游攻略,可输入国内著名景点名称试运行。
步骤 2: 配置节点
节点是 AppBuilder 工作流编排的基础功能单元。通过连接并配置不同的节点,可以灵活且稳定的实现业务流程编排。
创建画布后,可以通过底部菜单,点击 “节点”,并拖动所需要的节点到画布指定位置。
点击画布中的节点,画布右侧会弹出的编辑面板。通过编辑面板可以配置每个节点的参数信息和功能。
2.1 开始节点
开始节点是工作流运行的起点。在进入画布后,画布中会包含一个开始节点。开始节点不可以被复制或删除。
开始节点中可以配置:
输入参数:定义组件运行需要的输入参数。大模型调用该组件时, 将根据输入参数的描述,理解对话内容并获取参数。
包含原始对话:开启后,开始节点可引用原始消息内容,作为输入参数。
2.2 大模型节点
大模型节点可调用大语言模型,根据输入参数和提示词生成回复。
大模型节点中可以配置:
大模型配置模板:提供预制的示例模板,快速填写节点配置信息。
模型配置:支持选择模型和多样性参数。
输入:可以引用前序节点的参数,作为输入。此处的输入可以插入提示词中,作为变量。
提示词:编写大模型的提示词,使大模型实现对应功能。通过插入花括号的方式,如 {{input}} ,可以引用对应的参数值。此处也可以在输出定义参数,并在提示词中引用,如 {{output1}},指定大模型将对应信息按照参数的格式输出。
输出:通过参数输出大模型的结果。有多个输出参数时,需要准确填写参数描述,并在提示词中指定每个参数的输出内容。
2.3 知识库节点
知识库节点支持根据输入的query,在选定的知识库中检索相关片段并召回,返回切片列表。你可以上传文件并建立知识库,在知识库节点中勾选想要使用的知识库进行检索。
输入参数:参数名不可修改,参数类型为string,上级节点的输出参数会强制转换为string类型作为知识库节点的输入,输入参数有两种类型:1)引用类型为引用上一个节点的输出变量,2)常量类型,可以输入一个string类型的入参。
选择知识库:选择需要检索的知识库,支持选择多个知识库。
检索策略:按照指定的检索策略从知识库中寻找匹配的片段,不同的检索策略可以更有效地找到正确的信息,提高最终生成的答案的准确性和可用性。
召回数量:设置从知识库中召回与输入Query匹配的知识片段的个数,设定的数量越大,召回的片段越多
匹配分:在检索过程中,用来计算输入Query和知识库片段的相似度,高于匹配分数的片段将会被检索召回
输出参数:在知识库中检索输出的变量信息及变量类型
2.4 分支器节点
分支器节点可以连接两个下游节点。设定的条件成立则运行”如果"分支,不成立则运行“否则"分支。在如果分支中,可以选择条件关系,以及添加多个条件。
复杂的条件关系可以通过串联多个分支器节点实现。
2.5 API 节点
API节点是基础节点类型之一,您可以通过该节点,将已有服务注册为组件,帮助扩展应用能力边界。
比如您有一个可以查询教育信息的接口,通过在API节点中注册接口信息,并发布为组件,就可以在应用配置的【组件】中选择该组件,那么该应用将按照要求查询对应信息。
当前API节点可支持标准的HTTP请求。
使用说明:
- 添加API节点,编辑API节点的基本信息,包括:请求方式、访问资源URL、Headers信息、鉴权信息、请求参数信息、返回参数信息。您可以只填写必需的输入参数和返回参数。比如在返回参数配置中,若需输出返回数据中某个对象的完整内容,仅需设置最顶层参数信息并选择适当的参数类型。
- 在API调试环节,可以通过表单或JSON方式填写输入参数并点击运行,运行成功后点击【保存】。
- 继续在右侧面板中对输入参数进行值配置,您可以引用前序节点输出,或手动输入对应参数值。需要确保引用类型与设置类型一致。
- 在整体流程调试前,API节点需要为调试通过状态。
- 点击调试,您可以对整个流程进行调试,查看每个节点的运行情况和最终输出结果。
2.6 代码节点
在代码节点中,可通过编写代码实现自定义的处理功能。引入代码节点到画布中,可在编辑器(IDE)内看到默认的示例代码。
编辑器的使用:
- 引用输入:配置了输入参数名和参数值后,可以在编辑器中引用输入参数。编辑器引入输入参数时,需要通过字典变量 params 引入代码节点的输入参数。
- 返回输出:需要在编辑器中定义一个字典变量,作为编辑器中函数的输出。代码节点的输出参数是该字典变量的键(key)。
- 运行时环境:编辑器支持的运行时环境为 Python 3 。 运行环境预制了 NumPy 包。
编辑器测试功能:
- 输入测试:在输入测试区域可以输入测试数据,并进行调试运行。“自动填入” 功能可以根据当前输入参数类型,生成输入数据。
- 输出测试:测试数据的运行结果会展示在输出测试区域中。运行成功后可以使用 “更新节点 Schema” 功能。使用后,代码节点的输出配置信息将被输出测试的 schema 自动覆盖。
2.7 结束节点
结束节点是组件的最终节点,输出组件运行后的最终结果。该结果将输出给调用此组件的应用或下游组件。
组件节点可以配置:
回复模式:可以选择两种输出方式:
- 选择 “返回以下参数值” 时,组件输出为对应参数类型和参数值;
- 选择 “按模板配置格式返回文本” 时,组件输出为参数值与模板的组合文本。
输出参数:定义组件需要输出的参数。
步骤 3: 调试和发布
完成对节点的编辑和编排后,需要先进行调试。通过调试运行后的组件才可以进行发布。
- 点击底部菜单的 “调试” 按钮,画布会对每个节点的校验,校验每个节点内部是否符合规范,如果节点中配置信息不符合规范,则会报错并无法进入后面的调试。请参考顶部弹出的提示和节点报错标识进行修改。当所有节点校验通过后,画布右侧弹出调试面板,填写输入参数后可以运行调试。点击右侧面板中的 “开始运行” 则开始依次运行节点。每个节点的运行结果、运行状态和运行耗时将显示在节点下方。最后的输出结果将展示在右侧面板中。
- 运行成功后,点击顶部 “发布” 按钮,可以将组件发布到 “我的组件” 列表中。
- 可以在 创建应用 的过程中,引用已发布的组件。