功能说明

AI 请求响应转换插件,通过LLM对请求/响应的header以及body进行修改。

运行属性

插件执行阶段:认证阶段 插件执行优先级:410

配置说明

NameTypeRequirementDefaultDescription
request.enableboolrequried-是否在request阶段开启转换
request.promptstringrequried-request阶段转换使用的prompt
response.enablestringrequried-是否在response阶段开启转换
response.promptstringrequried-response阶段转换使用的prompt
provider.serviceNamestringrequried-DNS类型的服务名,目前仅支持通义千问
provider.domainstringrequried-LLM服务域名
provider.apiKeystringrequried-阿里云dashscope服务的API Key

配置示例

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

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

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

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

  1. {
  2. slideshow”: {
  3. title”: Sample Slide Show”,
  4. date”: Date of publication”,
  5. author”: Yours Truly”,
  6. slides”: [
  7. {
  8. type”: all”,
  9. title”: Wake up to WonderWidgets!”
  10. },
  11. {
  12. type”: all”,
  13. title”: Overview”,
  14. items”: [
  15. Why <em>WonderWidgets</em> are great”,
  16. “”,
  17. Who <em>buys</em> WonderWidgets
  18. ]
  19. }
  20. ]
  21. }
  22. }