阿里云百炼大模型平台-自定义插件接口协议报错排查方案

本文涉及的产品
实时数仓Hologres,5000CU*H 100GB 3个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
实时计算 Flink 版,5000CU*H 3个月
简介: 阿里云百炼大模型平台-自定义插件接口协议报错排查方案

1. 原始openapi specification

openapi: 3.0.1
info:
    title: 小助手
    description: 根据用户输入信息,进行测试
    version: "v2"
servers:
    - url: https://aaa.bbb.com/api/forward
components:
    responses:
        UError:
            description: Bearer token缺失或无效
            content:
                application/json:
                    schema:
                        type: object
                        properties:
                            code:
                                type: integer
                                example: 401
                            message:
                                type: string
                                example: "接口权限校验失败"
        SunError:
            description: 业务异常
            content:
                application/json:
                    schema:
                        type: object
                        properties:
                            code:
                                type: integer
                                example: 0
                            message:
                                type: string
                                example: "业务异常"
paths:
    /forward:
        post:
            operationId: aaa
            summary: 根据用户输入信息,进行测试
            requestBody:
                required: true
                content:
                    application/json:
                        schema:
                            type: object
                            required: [server_flag, server_dir, params]
                            properties:
                                server_flag:
                                    type: string
                                    description: descaaabbbccc
                                    example: "testddd"
                                server_dir:
                                    type: string
                                    description: descddd
                                    example: "Aaaa.bbbb"
                                params:
                                    type: object
                                    description: 第三方所需参数
                                    properties:
                                        clntManagerId:
                                            type: string
                                            description: col1
                                            example: "0d06099fed39eb683782fa104dd33998"
                                        cumerName: 
                                            type: string
                                            description: col2
                                            example: "xxx"
                                        cumerPhone:
                                            type: string
                                            description: col3
                                            example: "123123123"
                                        dlerCode: 
                                            type: string
                                            description: col4
                                            example: "8f52d344eab7fec87e1bb168898ba494"
                                        proctSeries:
                                            type: string
                                            description: col5
                                            example: "D"
                                        rerveTime: 
                                            type: string
                                            description: col6
                                            example: "2024-06-21 15:30"
            responses:
                "200":
                    description: 成功
                    content:
                        application/json:
                            schema:
                                type: object
                                required: [code, message, data]
                                properties:
                                    code:
                                        type: integer
                                        example: 200
                                    message:
                                        type: string
                                        example: "ok"
                                    data:
                                        type: object
                                        properties:
                                            CODE:
                                                type: integer
                                                example: 200
                                            DATA:
                                                type: object
                                                properties:
                                                    eventId:
                                                        type: string
                                                        example: "062e0xxx71a1dde"
                                                eventId:
                                                    type: string
                                                    example: "cdce6xxx13123"
                                            RESULT:
                                                type: string
                                                example: ""
                '401':
                    $ref: '#/path1/path2/U1Error'
                '0':
                    $ref: '#/path1/path2/SuError'

2. 报错

INVALID PARAMETER: apiScheme definition is invalid

3. 排查过程

参考文档排查具体报错:https://editor.swagger.io/

  1. 右侧有这个配置文件具体的报错情况,点击具体报错可以跳转到具体行。第一个可以明显看出74行有个中文冒号,key的颜色都没有匹配上,改成英文冒号后正常

image.png

  1. 修改后可以看到第二个报错,点击跳转后可以到具体报错的地方,这里是仅支持三位的状态码,配置文件中有个状态码是“0”,改成“400”后正常

image.png

  1. 继续修改后可以看到后面的报错,如下路径(可以直接点击跳转到DATA)下,有个名为“eventId”的额外的配置项是不被允许的,仔细看发现配置在properties里面的eventId应该是粘贴重复且层级错误了,去掉后正常。

image.png

  1. 具体状态码的ref需要时文件中已经配置合法的location,这里需要改成对应的如:'#/components/responses/UError'

image.png

4. 修改后的openapi specification

openapi: 3.0.1
info:
    title: 小助手
    description: 根据用户输入信息,进行测试
    version: "v2"
servers:
    - url: https://aaa.bbb.com/api/forward
components:
    # securitySchemes:
    #     BearerAuth:
    #         type: http
    #         scheme: bearer
    #         bearerFormat: JWT
    responses:
        UError:
            description: Bearer token缺失或无效
            content:
                application/json:
                    schema:
                        type: object
                        properties:
                            code:
                                type: integer
                                example: 401
                            message:
                                type: string
                                example: "接口权限校验失败"
        SunError:
            description: 业务异常
            content:
                application/json:
                    schema:
                        type: object
                        properties:
                            code:
                                type: integer
                                example: 0
                            message:
                                type: string
                                example: "业务异常"
paths:
    /forward:
        post:
            operationId: aaa
            summary: 根据用户输入信息,进行测试
            requestBody:
                required: true
                content:
                    application/json:
                        schema:
                            type: object
                            required: [server_flag, server_dir, params]
                            properties:
                                server_flag:
                                    type: string
                                    description: descaaabbbccc
                                    example: "testddd"
                                server_dir:
                                    type: string
                                    description: descddd
                                    example: "Aaaa.bbbb"
                                params:
                                    type: object
                                    description: 第三方所需参数
                                    properties:
                                        clntManagerId:
                                            type: string
                                            description: col1
                                            example: "0d06099fed39eb683782fa104dd33998"
                                        cumerName: 
                                            type: string
                                            description: col2
                                            example: "xxx"
                                        cumerPhone:
                                            type: string
                                            description: col3
                                            example: "123123123"
                                        dlerCode: 
                                            type: string
                                            description: col4
                                            example: "8f52d344eab7fec87e1bb168898ba494"
                                        proctSeries:
                                            type: string
                                            description: col5
                                            example: "D"
                                        rerveTime: 
                                            type: string
                                            description: col6
                                            example: "2024-06-21 15:30"
            responses:
                "200":
                    description: 成功
                    content:
                        application/json:
                            schema:
                                type: object
                                required: [code, message, data]
                                properties:
                                    code:
                                        type: integer
                                        example: 200
                                    message:
                                        type: string
                                        example: "ok"
                                    data:
                                        type: object
                                        properties:
                                            CODE:
                                                type: integer
                                                example: 200
                                            DATA:
                                                type: object
                                                properties:
                                                    eventId:
                                                        type: string
                                                        example: "062e0xxx71a1dde"
                                            RESULT:
                                                type: string
                                                example: ""
                '401':
                    $ref: '#/components/responses/UError'
                '400':
                    $ref: '#/components/responses/SunError'
相关实践学习
如何快速体验知识检索增强应用
在应用广场中您可以挑选智能体API应用、官方预置完整工程链路的知识检索增强(RAG)应用、流程编排应用,以及官方最佳实践的写作应用妙笔等,通过应用快速将通义千问系列等大语言模型能力接入到业务解决方案中。
相关文章
|
9天前
|
人工智能 关系型数据库 MySQL
数据魔力,一触即发 —— Dataphin数据服务API,百炼插件新星降临!
本文通过一个利用百炼大模型平台和Dataphin数据服务API构建一个客户360智能应用的案例,介绍如何使用Dataphin数据服务API在百炼平台创建一个自定义插件,用于智能应用的开发,提升企业智能化应用水平。
数据魔力,一触即发 —— Dataphin数据服务API,百炼插件新星降临!
|
开发工具
阿里云百炼应用中心--QuickStart
针对阿里云最新推出的大模型平台:百炼,试用其应用中心的功能,通过Step By Step详细演示该产品的使用。
647 1
|
17天前
|
存储 Serverless API
基于百炼平台构建智能体应用——十分钟构造能主动提问的导购智能体
本文介绍了如何使用阿里云百炼大模型服务平台构建一个多智能体的智能导购应用,并将其部署到钉钉。通过百炼的Assistant API,您可以快速构建一个包含规划助理、手机导购、冰箱导购和电视导购的智能导购系统。文章详细讲解了从创建函数计算应用、访问网站、验证智能导购效果到将商品检索应用集成到智能导购中的全过程,帮助您快速实现智能导购功能。
基于百炼平台构建智能体应用——十分钟构造能主动提问的导购智能体
|
3月前
|
人工智能 自然语言处理 Serverless
阿里云百炼应用实践系列-让微信公众号成为智能客服
本文主要介绍如何基于百炼平台快速在10分钟让您的微信公众号(订阅号)变成 AI 智能客服。我们基于百炼平台的能力,以官方帮助文档为参考,让您的微信公众号(订阅号)成 为AI 智能客服,以便全天候(7x24)回应客户咨询,提升用户体验,介绍了相关技术方案和主要代码,供开发者参考。
阿里云百炼应用实践系列-让微信公众号成为智能客服
|
4月前
|
自然语言处理 数据管理 数据挖掘
阿里云百炼知识检索应用评测:构建智能问答助手【开发者评测|阿里云百炼】
阿里云百炼是基于大模型的一站式开发平台,支持快速构建智能问答助手。评测中,通过上传企业数据创建知识库,并配置应用参数如温度系数、最长回复长度等,最终通过API实现问答功能。实操难点包括数据上传限制及参数配置复杂度。建议增加上传灵活性、提供更多配置指南和功能扩展插件。总体而言,阿里云百炼提供了强大且灵活的工具,有助于高效开发大模型应用。
2282 5
|
4月前
|
数据管理 API 调度
阿里云百炼平台知识检索应用评测:搭建之旅与一点建议
阿里云百炼平台成为企业智能化转型的重要工具之一。
|
4月前
|
自然语言处理 监控 搜索推荐
阿里云百炼知识检索应用评测:搭建个人/企业专属智能问答助手
阿里云百炼知识检索应用评测:搭建个人/企业专属智能问答助手
244 3
|
4月前
|
数据采集 自然语言处理 监控
阿里云百炼知识检索应用测评
阿里云百炼知识检索应用测评
|
4月前
|
数据采集 人工智能 监控
阿里云百炼模型训练实战流程:从入门到实战应用
【7月更文第2天】阿里云百炼是AI大模型开发平台,提供一站式服务,涵盖模型训练到部署。用户从注册登录、创建应用开始,选择模型框架,配置资源。接着,进行数据准备、预处理,上传至阿里云OSS。模型训练涉及设置参数、启动训练及调优。训练后,模型导出并部署为API,集成到应用中。平台提供监控工具确保服务性能。通过百炼,开发者能高效地进行大模型实战,开启AI创新。
1404 2
|
5月前
|
人工智能 机器人 API
用AppFlow玩转通义百炼大模型应用
阿里云百炼平台提供一站式大模型开发服务,支持创建和定制应用,预置丰富插件和API。用户可以通过平台快速构建大模型应用,并利用AppFlow将其接入钉钉群聊,以AI卡片形式展示。