AI 请求/响应转换

功能说明

通过配置 AI 请求/响应转换插件,用户可以不用写代码,直接使用自然语言的方式对网关的请求/响应进行修改。例如测试人员在测试 API 时,对待测 API 进行插件配置,将原始请求/响应作为 example,来生成进行边界条件测试的请求/响应。大模型很多时候会比人考虑的更全面,更容易测试出一些边界 case。

配置说明

名称数据类型填写要求默认值描述
request.enablebool必填-是否在request阶段开启转换
request.promptstring必填-request阶段转换使用的prompt
response.enablestring必填-是否在response阶段开启转换
response.promptstring必填-response阶段转换使用的prompt
provider.serviceNamestring必填-DNS类型的服务名,目前仅支持通义千问
provider.domainstring必填-LLM服务域名
provider.apiKeystring必填-阿里云dashscope服务的API Key

配置示例

  1. request:
    enable: false
    prompt: “如果请求path是以/httpbin开头的,帮我去掉/httpbin前缀,其他的不要改。”
    response:
    enable: true
    prompt: “帮我修改以下HTTP应答信息,要求:1. content-type修改为application/json2. bodyxml转化为json3. 移除content-length。”
    provider:
    serviceName: qwen
    domain: dashscope.aliyuncs.com
    apiKey: xxxxxxxxxxxxx

访问原始的 httbin 的 /xml 接口,结果为:

  1. <?xml version=’1.0 encoding=’us-ascii’?>
  2. <!— A SAMPLE set of slides —>
  3. <slideshow
    title=”Sample Slide Show
    date=”Date of publication
    author=”Yours Truly
    >
  4. <!— TITLE SLIDE —>
    <slide type=”all”>
    <title>Wake up to WonderWidgets!</title>
    </slide>
  5. <!— OVERVIEW —>
    <slide type=”all”>
    <title>Overview</title>
    <item>Why <em>WonderWidgets</em> are great</item>
    <item/>
    <item>Who <em>buys</em> WonderWidgets</item>
    </slide>
  6. </slideshow>

使用以上配置,通过网关访问 httpbin 的 /xml 接口,结果为:

  1. {
    slideshow”: {
    title”: Sample Slide Show”,
    date”: Date of publication”,
    author”: Yours Truly”,
    slides”: [
    {
    type”: all”,
    title”: Wake up to WonderWidgets!”
    },
    {
    type”: all”,
    title”: Overview”,
    items”: [
    Why <em>WonderWidgets</em> are great”,
    “”,
    “Who <em>buys</em> WonderWidgets
    ]
    }
    ]
    }
    }