Skip to content

版本历史

版本状态作者创建日期备注
v1.0已发布姚思崎2023-12-05--
v1.1未发布姚思崎--优化基于sse交互模型交互接口
v1.2已发布陈冰2025-2-8--

1. 接入流程说明

MAAS接入流程

流程说明:

  1. 与商务沟通,开通用户密钥、模型权限,授权成功后用户可在“MaaS-授权模型页-模型授权信息”查看API KEY、Secret Key。
  2. 于“授权模型页”点击激活按钮,进行模型部署。(DeepSeek模型无需激活)
  3. 将 API KEY、Secret Key 加入请求体。对需上传文件的模型,同时调用“文件上传”与“下载文件”的接口。
  4. 发起请求,获取模型接口返回内容。

1.1 服务地址

环境URL备注
生产环境http://maas-openapi.wanjiedata.com/maas-open-api已发布
测试环境单独提供已发布

1.2 调用方式

每个接口有对应的请求方式(GET/POST),请严格按照文档说明选择相应的调用方式。

1.3 请求报文格式

HTTP GET

  • 参数编码在URL中

HTTP POST

  • 参数以JSON格式填入Request的Body中
  • Request的_Content-Type_为application/json; charset=utf-8

1.4 响应报文格式

接口返回结果为JSON格式,Response的Content-Type均为application/json; charset=utf-8

每个接口返回的数据格式如下:

{
    "timestamp": 1688095311701,
    "code": 0,
    "message": "ok",
    "result": {}
}

各参数说明如下:

参数说明
code接口状态码
message接口状态描述
result具体的业务数据
timestamp服务端时间戳

1.5 返回码说明

接口状态码说明
0成功
2000失败
1000密钥对不正确或未生效
1001模型未授权
1002文件上传失败
1003文件下载失败

1.6 请求公共参数

参数名说明
apiKey模型接口key,此参数放入请求头。
secretKeyapiKey的配对密钥,此参数放入请求头。

请求头示例:

apiKey:d0c11993786706E34259647315Ad8715
secretKey:31d2d6CB3E11723FeBaA813d982116ea

2. 接口列表

2.1 文件上传

POST /api/file/v1/uploadFile请求示例:

maasFile = k2.jpeg

请求体参数说明:

名称类型是否必填说明
maasFilemultipart/form-datarequired1. 使用multipart/form-data方式提交数据,key为maasFile。
  1. 图片大小 <= 5MB。
  2. 图片仅支持单文件上传。 |

响应示例:

{
    "success": true,
    "message": "",
    "code": 0,
    "result": {
        "fileKey": "2023-12/00034-2845487295_1701755152007.png",
        "fileCode": "31c9909982eeeb5e8159dc84edad9a41"
    },
    "timestamp": 1701755157984
}

响应参数说明:

名称类型说明
fileCodestring文件下载验证码
fileKeystring文件的key

2.2 下载文件

GET /api/file/v1/download请求示例:

/api/file/v1/download?fileKey=2023-12/00034-2845487295_1701755152007.png&fileCode=31c9909982eeeb5e8159dc84edad9a41

请求参数说明:

名称类型是否必填默认值说明
fileCodestringrequired文件下载验证码
fileKeystringrequired
文件的key

2.3 可用的模型

GET /api/model/v1/getModelList响应示例:

{
	"success": true,
	"message": "",
	"code": 0,
	"result": [
		{
			"id": "1704419089321107458",
			"modelName": "多轮聊天模型",
			"interactionType": 1
		},
		{
			"id": "1719251908753969154",
			"modelName": "OCR",
			"interactionType": 0
		},
		{
			"id": "1719264740270755842",
			"modelName": "通用情感分析",
			"interactionType": 0
		}
	],
	"timestamp": 1701842538273
}

响应参数说明:

名称类型说明
idstring模型id
modelNamestring模型名称
interactionTypeint交互类型:0 短连接 1 sse交互

2.4 模型交互(http短链接)

POST /api/model/v1/shortInteraction?modelId=xxx请求示例:

{
  "modelInteractionList": [
    {"path": "2023-12/00034-2845487295_1701755152007.png"}
  ]
}

请求参数说明:

名称类型是否必填说明
modelIdstringrequired模型id**(通过可用的模型接口获取)**
pathstringoptional文件key,当交互内容是非文本内容时,必填。
messagestringoptional用户输入的内容,当交互内容是文本内容时,必填。

响应示例:

{
    "success": true,
    "message": "",
    "code": 0,
    "result": {
        "url": "2023-12/output_1701757525452775_1701757525679.jpg",
        "fileCode": "99ae49af7889a603f8ce73ca52a1dbd1",
    },
    "timestamp": 1701757527117
}

响应参数说明:

名称类型说明
urlstring文件的key
fileCodestring文件下载验证码

2.5 模型交互(sse交互)

POST /api/model/v1/longInteraction?modelId=xxx请求头示例:

参数名说明
chatId会话id(此参数不传时,响应参数会生成新的会话id,否则原样返回。)

请求头示例:

chatId:6e41345b-3b54-444c-919d-64d312937bc6

请求体示例:

{
    "modelInteractionList": [
        {
            "message": "武汉有什么特产"
        }
    ]
}

请求参数说明:

名称类型是否必填说明
modelIdstringrequired模型id**(通过可用的模型接口获取)**
messagestringrequired用户输入的内容

响应示例:

id:1704336628549
event:message
retry:10000
data:问

id:1704336628587
event:message
retry:10000
data:题

id:1704336628621
event:message
retry:10000
data:。

id:1704336628656
event:message
retry:10000
data:

id:1704336628692
event:complete
retry:10000

响应参数说明:

名称类型说明
idlong会话聊天流式内容唯一标识
eventstring事件类型:
message:sse服务端正常推送数据,但未结束。
complete:sse服务端正常推送数据结束。
retrylong客户端重新发起连接的时间间隔
datastring会话聊天返回内容