模型对话与图像生成
大约 4 分钟开放接口开发指南
模型推理接口
对话接口按模型目录名称调用已启用的对话模型;图像接口调用图像用途模型。模型名称来自当前租户目录,供应商参数由后端适配。
一、查询模型
GET /v1/models 返回当前密钥可访问的模型目录。对话与图像分别使用对应用途的模型,请求中的 model 填写目录返回的模型名称。
二、对话请求
POST /v1/chat/completions
curl "$AI_API_BASE/v1/chat/completions" \
-H "Authorization: Bearer $AI_API_KEY" \
-H 'Content-Type: application/json' \
--data '{
"model": "deepseek-chat",
"messages": [{"role":"user","content":"用一句话介绍知识检索。"}],
"maxTokens": 256,
"stream": false
}'| 字段 | 类型 | 必填 | 取值与缺省行为 |
|---|---|---|---|
model | string | 是 | 当前租户已启用的对话模型名称 |
messages | array | 是 | 按顺序提交消息;文本消息为 {role, content} |
temperature | number | 否 | 0–2;未传时沿用模型驱动配置 |
topP | number | 否 | 0–1;未传时沿用模型驱动配置 |
maxTokens | integer | 否 | 最大生成 token 数,须在模型支持范围内 |
stream | boolean | 否 | true 为 SSE,其余为同步 |
conversationId | string | 否 | 首轮省略;续接使用 extra.conversationId 返回值 |
conversationToken | string | 否 | 随会话返回;匿名入口续接会话时需要 |
memory | object | 否 | {enabled:true,maxTurns:5};未启用时不自动加载历史,轮数缺省 10、上限 50 |
stop | string[] | 否 | 停止序列,支持范围由驱动决定 |
frequencyPenalty、presencePenalty | number | 否 | 频率与重复惩罚,按所选模型支持范围传入 |
responseFormat | object | 否 | 响应格式,配置类型与可选 jsonSchema;需模型驱动支持 |
functions | object[] | 否 | 函数定义,需模型驱动支持 |
functionCall | string | 否 | 函数选择策略,需模型驱动支持 |
think | boolean | 否 | false 时抑制流程的思维内容输出 |
user、ip | string | 否 | 调用方用户标识与 IP |
scene | string | 否 | 直接推理场景 assistant、playground 或 studio,缺省 assistant |
extraParams | object | 否 | 模型额外参数 |
参数名以当前接口模型为准。extraParams 不覆盖平台决定的模型、消息和流式开关。
三、读取回答
同步响应的结构如下,数值及文本为协议示例:
{
"id": "demo-chat-response",
"object": "chat.completion",
"created": 1793577600,
"model": "deepseek-chat",
"choices": [{
"index": 0,
"message": {"role": "assistant", "content": "知识检索从资料中查找与问题相关的内容。"},
"finish_reason": "stop"
}],
"usage": {"promptTokens": 18, "completionTokens": 16, "totalTokens": 34},
"result": {"done": true},
"extra": {"conversationId": "<会话主键>"}
}| 响应字段 | 说明 |
|---|---|
id、created、model | 响应标识、秒级时间戳、模型名称 |
choices[].message | 同步消息;正文为 content,思维为 reasoning_content |
choices[].delta | SSE 增量消息,按到达顺序追加 |
choices[].finish_reason | 结束原因;length 表示达到生成上限,content_filter 表示过滤 |
usage | promptTokens、completionTokens、totalTokens,采用当前模型的驼峰字段 |
result | done 标记业务结束,error 携带执行错误 |
extra | 会话标识及入口扩展信息;应用还可能包含节点进度和最终执行对象 |
首轮保存 extra.conversationId。开启记忆后,后续带同一会话主键与本轮用户消息;未开启记忆时由调用方提交需要保留的消息历史。conversationId 只标识平台会话,续接请求同样需要携带开放密钥。
流式调用将 stream 改为 true,并使用支持 SSE 的客户端持续读取;命令行加入 -N 关闭输出缓冲。解析方法见 响应协议与异常处理。
四、图像生成
POST /v1/images/generations
{
"model": "<已配置的图像模型>",
"prompt": "浅色背景上的企业知识服务插画",
"n": 1,
"size": "1024x1024",
"responseFormat": "url"
}| 字段 | 类型 | 说明 |
|---|---|---|
model、prompt | string | 已启用的图像模型及生成描述 |
negativePrompt | string | 需要排除的内容 |
n | integer | 生成数量 |
size | string | 如 1024x1024,优先于单独的宽高 |
width、height | integer | 未使用 size 时的宽高 |
quality、style | string | 驱动支持的质量与风格 |
referenceImages | string[] | 参考图地址或 data URL,用于支持图生图的驱动 |
responseFormat | string | url 或 b64_json |
outputFormat | string | 驱动支持时使用 png 或 jpeg |
conversationId | string | 可选会话主键,用于将结果保存为会话消息 |
scene | string | assistant、playground 或 studio |
user、ip | string | 调用方用户标识与 IP |
extraParams | object | 模型特定参数 |
尺寸、数量及参考图能力以所选驱动支持范围为准。响应包含 id、object、created、model、data、usage 与 extra:
| 响应字段 | 说明 |
|---|---|
data[].url | URL 模式的图像地址 |
data[].b64_json | Base64 模式的图像内容 |
data[].revised_prompt | 供应商返回的修订提示词,可为空 |
usage.totalImages、usage.totalCost | 生成数量与平台计费记录 |
费用归属
接入时先以短文本和单张图片调用,再在用量账单中核对模型、用途与消耗。模型连接测试只检查连通性,业务参数以完整请求核对。
操作见 演练场。
