功能说明
一个可定制化的 API AI Agent,支持配置 http method 类型为 GET 与 POST 的 API,支持多轮对话,支持流式与非流式模式。 agent流程图如下:
运行属性
插件执行阶段:默认阶段
插件执行优先级:200
配置字段
基本配置
名称 | 数据类型 | 填写要求 | 默认值 | 描述 |
---|
llm | object | 必填 | - | 配置 AI 服务提供商的信息 |
apis | object | 必填 | - | 配置外部 API 服务提供商的信息 |
promptTemplate | object | 非必填 | - | 配置 Agent ReAct 模板的信息 |
llm
的配置字段说明如下:
名称 | 数据类型 | 填写要求 | 默认值 | 描述 |
---|
apiKey | string | 必填 | - | 用于在访问大模型服务时进行认证的令牌。 |
serviceName | string | 必填 | - | 大模型服务名 |
servicePort | int | 必填 | - | 大模型服务端口 |
domain | string | 必填 | - | 访问大模型服务时域名 |
path | string | 必填 | - | 访问大模型服务时路径 |
model | string | 必填 | - | 访问大模型服务时模型名 |
maxIterations | int | 必填 | 15 | 结束执行循环前的最大步数 |
maxExecutionTime | int | 必填 | 50000 | 每一次请求大模型的超时时间,单位毫秒 |
maxTokens | int | 必填 | 1000 | 每一次请求大模型的输出token限制 |
apis
的配置字段说明如下:
名称 | 数据类型 | 填写要求 | 默认值 | 描述 |
---|
apiProvider | object | 必填 | - | 外部 API 服务信息 |
api | string | 必填 | - | 工具的 OpenAPI 文档 |
apiProvider
的配置字段说明如下:
名称 | 数据类型 | 填写要求 | 默认值 | 描述 |
---|
apiKey | object | 非必填 | - | 用于在访问外部 API 服务时进行认证的令牌。 |
maxExecutionTime | int | 非必填 | 50000 | 每一次请求API的超时时间,单位毫秒。 |
serviceName | string | 必填 | - | 访问外部 API 服务名 |
servicePort | int | 必填 | - | 访问外部 API 服务端口 |
domain | string | 必填 | - | 访访问外部 API 时域名 |
apiKey
的配置字段说明如下:
名称 | 数据类型 | 填写要求 | 默认值 | 描述 |
---|
in | string | 非必填 | none | 在访问外部 API 服务时进行认证的令牌是放在 header 中还是放在 query 中,如果API没有令牌,填none。 |
name | string | 非必填 | - | 用于在访问外部 API 服务时进行认证的令牌的名称。 |
value | string | 非必填 | - | 用于在访问外部 API 服务时进行认证的令牌的值。 |
promptTemplate
的配置字段说明如下:
名称 | 数据类型 | 填写要求 | 默认值 | 描述 |
---|
language | string | 非必填 | EN | Agent ReAct 模板的语言类型,包括 CH 和 EN 两种 |
chTemplate | object | 非必填 | - | Agent ReAct 中文模板 |
enTemplate | object | 非必填 | - | Agent ReAct 英文模板 |
chTemplate
和enTemplate
的配置字段说明如下:
名称 | 数据类型 | 填写要求 | 默认值 | 描述 |
---|
question | string | 非必填 | - | Agent ReAct 模板的 question 部分 |
thought1 | string | 非必填 | - | Agent ReAct 模板的 thought1 部分 |
observation | string | 非必填 | - | Agent ReAct 模板的 observation 部分 |
thought2 | string | 非必填 | - | Agent ReAct 模板的 thought2 部分 |
用法示例
配置信息
本示例配置了三个服务,演示了get与post两种类型的工具。其中get类型的工具包括高德地图与心知天气,post类型的工具是deepl翻译。三个服务都需要现在Higress的服务中以DNS域名的方式配置好,并确保健康。 高德地图提供了两个工具,分别是获取指定地点的坐标,以及搜索坐标附近的感兴趣的地点。文档:https://lbs.amap.com/api/webservice/guide/api-advanced/newpoisearch 心知天气提供了一个工具,用于获取指定城市的实时天气情况,支持中文,英文,日语返回,以及摄氏度和华氏度的表示。文档:https://seniverse.yuque.com/hyper_data/api_v3/nyiu3t deepl提供了一个工具,用于翻译给定的句子,支持多语言。。文档:https://developers.deepl.com/docs/v/zh/api-reference/translate?fallback=true
以下为测试用例,为了效果的稳定性,建议保持大模型版本的稳定,本例子中使用的qwen-max-0403:
请求示例
响应示例
请求示例
响应示例
请求示例
响应示例
请求示例
响应示例
请求示例
响应示例