Private Connector 指南
Private Connector 是赋能有开发能力的用户基于ActionBook的框架创建自定义的Connector的扩展。 可应用(但不限于)以下场景:
- 私有APP/API/数据库
- 内网访问
- 私有代码
开发须知
- 主要开发语言为python
- 请确保所需要的python库可以由pip install安装
Private Connector 组成部分
1.配置文件
配置文件中包含Connector的描述和给ActionBook AI的描述。 具体如下:
- tips:包含给ActionBook生成调用代码时的提示, 一般来说应包含不要安装自己这个python包的prompt(因为private connector并不是通过pip install方式安装)
- actions: 本connector所支持的action列表, 每一个action对应connector中的一个function
- name:action名字, 请注意一定要取有意义的名字
- tips:给ActionBook AI生成调用代码时的提示, 无特殊情况可以为空
- sampleCode : markdown格式的code sample,尽量完整但简单可执行,带输入和输出,注意拼写/大小写准确,ActionBook AI所需。
- description:描述这个action的作用, ActionBook AI所需。
- sampleInputSchema: markdown格式的json, 有时action的input是一个复杂的json object,在这里提供一个sample的input json, 最好带真实的数据, ActionBook AI所需。
- sampleOutputSchema:markdown格式的json,有时action的output是一个复杂的json object,在这里提供一个sample的output json, 最好带真实的数据, ActionBook AI所需。
- inputParamExplained: markdown格式的说明(全部用blockquote), 每个input字段均在这里解释, 包含名字/类型/说明/可选项(enum)/合法/不合法/格式要求等。
- inputSchemaExplained: markdown格式的说明(全部用blockquote), 每个input json的字段均在这里解释, 包含名字/类型/说明/可选项(enum)/合法/不合法/格式要求等, 和上面inputParamExplained可以混合使用。
- outputParamExplained: markdown格式的说明(全部用blockquote), 每个output字段(或者output json的字段)均在这里解释, 包含名字/类型/说明/可选项(enum)/合法/不合法/格式要求等。
- description:本connector覆盖的范围,描述什么应该是这个connector处理而什么应该不是 ,ActionBook AI所需
2.Connector 实现
包含Connector文件夹和内部的python文件。
✨注意:文件夹名字即是python的package名, 文件名即是class名。 Python的默认规则如此。例如上面的图片中, 在使用的时候即为from Private Connector import sample Tempalte Client
SampleClient:
包含所有action的实现
SampleConnector:
包含connector生命周期中的各种支持
开发步骤
- 编写Connector实现
- 编写配置文件
- 本地测试(见本地测试说明)
- 上传到ActionBook
- 访问 : https://ab.bottime.com/connectors?code=1
- 页面最下方点 +Custom Template
- 图片
- 图片
- 填写connector Name(注意和code里面的template type保持一致)
- Foreground/Background:显示在AI Block中的时候的字体和背景颜色
- CodePackLink:将代码文件(包含文件夹)压缩成zip后上传
- 图片
- TemplateData: 配置文件
5.之后正常创建connector测试即可
✨注意这个template只在当前用户下有效。
依赖库处理
Private Connector现在还未提供正式的依赖安装方式, 如有第三方库需求请在代码开始位置添加:
本地测试说明
新建测试Py文件,导入Private Connector,示例代码如下:
运行效果: