首页 > 产品服务 > API服务 > 文档中心

文档中心
融合模态模型
实时交互融合模态模型
文生图模型
拟人对话模型
融合模态模型
本文自2024年10月29日起生效

一、模型介绍

SenseNova V6 Pro

模型版本V6.0
模型简介日日新-商量融合模态大模型
更新日期2025/4/9
模型最大上下文长度限制32K(32768),单位 token
模型权限公开调用
模型速率限制60 RPM,128K TPM
适配接口适配接口

SenseNova V6 Turbo

模型版本V6.0
模型简介日日新-商量融合模态大模型
更新日期2025/4/9
模型最大上下文长度限制32K(32768),单位 token
模型权限公开调用
模型速率限制60 RPM,128K TPM
适配接口适配接口

SenseNova V6 Reasoner

模型版本V6.0
模型简介日日新-商量融合模态大模型
更新日期2025/4/9
模型最大上下文长度限制32K(32768),单位 token
模型权限公开调用
模型速率限制60 RPM,128K TPM
适配接口适配接口

二、引导

如何使用【图文对话生成】

在本入门教程中,我们将演示如何通过我们的 OpenAPI ,使用对话生成。


1.调用前的准备工作

首先,您需要完成一些调用前的准备工作,主要包括:

1. “获取访问密钥”

2. “生成API_TOKEN”

2.获取您可用的模型列表

调用 “获取模型列表” 接口,查看您可用的模型ID。 关于每个模型的介绍,可以查看 模型清单


3.上传图片

调用 “创建并上传文件” 接口,上传成功后可以获得上传图片的文件ID(即file_id)。

  • 也可以在直接在content字段中,直接使用image_url,将要上传的图片URL放在请求体中

4.使用图文对话生成

调用 “图文对话生成” 接口,进行对话。其中,有几个参数的使用方法需要注意:

  1. 请求体中的 model 参数 直接填写您从第二步获取到的模型ID即可。
  2. 请求体中的 messages 参数 您可以在这个参数中填写您想跟大模型对话的内容,参数image_file_id直接填写您从第三步获取到的上传图片的文件ID即可,例如:
  • 图片识别:


json
{
    "messages": [
        {
            "role": "user",
            "content": [
              {
                "type": "image_file_id",
                "image_file_id": "file_id"
              },
              {
                "type": "text",
                "text": "这是什么?"
              }
            ]
        }
    ]
}

视觉对话:


json
{
    "messages": [
        {
            "role": "user",
            "content": [
              {
                "type": "image_file_id",
                "image_file_id": "file_id"
              },
              {
                "type": "text",
                "text": "图片中的小猫在干什么?"
              }
            ]
        }
    ]
}

到这里,您已经完成了一个简单的多模态对话生成的使用,如果过程中出现了以上文档没有解释到的其他问题,欢迎您随时联系我们!

三、图文对话生成

接口描述(Description)

最新更新:扩大了请求体的大小限制(45MB),同时支持了视频解析,参考video_urlvideo_file_id 基于给定的聊天对话信息,创建模型响应,支持在会话历史中传图片或视频相关信息,图片和视频不可同时填写:

  • 如果传图片,最多可接收6张图片,出于响应速度和处理时长考虑,单次请求中的图片总大小要求小于45MB,超过限制则接口报错响应。
  • 如果传视频,最多可接收1个视频,同样要求文件大小小于45MB,超过限制则接口报错响应。
  • 如果同时传图片和视频,则接口报错响应。

请求地址(Request URL)

[POST] https://api.sensenova.cn/v1/llm/chat-completions

请求头(Request Header)

无特殊Header,请参考接口鉴权


请求体(Request Body)

请注意,单次请求,用户输入的token总数(即所有content的token总数) + 用户期望模型生成的最大token数(即max_new_tokens的值),必须 <= 模型最大上下文长度(不同模型的上下文长度支持情况,参考模型清单)。


名称类型必须默认值可选值描述
modelstring-参考模型清单模型ID
messagesobject[]--输入给模型的对话上下文,数组中的每个对象为聊天的上下文信息
max_new_tokensint1024[1,16384]期望模型生成的最大token数(不同模型支持的上下文长度不同,因此最大值也不同,参考模型清单
repetition_penaltyfloat1(0,2]重复惩罚系数,1代表不惩罚,大于1倾向于生成不重复token,小于1倾向于生成重复token,推荐使用范围为[1,1.2]
streambooleanFALSE"开启:true
关闭:false"
是否使用流式传输,如果开启,数据将按照data-only SSE(server-sent events)返回中间结果,并以 data: [DONE] 结束
temperaturefloat0.8(0,2]温度采样参数,大于1的值倾向于生成更加多样的回复,小于1倾向于生成更加稳定的回复(最多支持小数点后六位)
top_pfloat0.7(0,1)核采样参数,解码生成token时,在概率和大于等于top_p的最小token集合中进行采样
userstring--外部用户ID,应用开发者可将应用系统用户ID传入,方便追踪

  • messages 部分参数如下:

名称类型必须默认值可选值描述
rolestring-"枚举值
user
assistant
system"
消息作者的角色,枚举值。请注意,数组中最后一项必须为 user
contentobject[]--消息的内容

type的枚举值:text`` image_url image_file_id image_base64 video_url``video_file_id


  • content 文本部分,可复数,参数如下:

名称类型必须默认值可选值描述
typestringtext-消息内容类型
textstring--文本内容

  • content 图像部分,可复数,以下参数格式三选一,不同图片信息可选择不同的参数格式,参数如下:

名称类型必须默认值可选值描述
typestringimage_url-消息内容类型
image_urlstring--图片的url地址

名称类型必须默认值可选值描述
typestringimage_file_id-消息内容类型
image_file_idstring--通过文件管理接口上传的图片文件的file_id

  • 此处image_file_id源自 文件上传部分,描述了用户可以在ModelStudio自带的文件管理中,存储调用模型所需要的图片文件ID

名称类型必须默认值可选值描述
typestringimage_base64-消息内容类型
image_base64string--图片经过base64编码后的内容

  • content 视频部分,只能单数,以下参数格式二选一,不可与图像部分同时存在,参数如下:

名称类型必须默认值可选值描述
typestringvideo_url-消息内容类型
video_urlstring--视频文件的url地址

名称类型必须默认值可选值描述
typestringvideo_file_id-消息内容类型
video_file_idstring--通过文件管理接口上传的视频文件的file_id

  • 此处video_file_id源自 文件上传部分,描述了用户可以在ModelStudio自带的文件管理中,存储调用模型所需要的视频文件ID

请求示例(Request Example)

bash
curl --request POST "https://api.sensenova.cn/v1/llm/chat-completions" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $API_TOKEN" \
  -d '{
        "model": "string",
        "messages": [
          {
            "role": "string", 
            "content": [
              {
                "type": "image_url", 
                "image_url": "string"
              },
              {
                "type": "text",
                "text": "string"
              }
            ]
          }
        ],
        "max_new_tokens": 1024, 
        "repetition_penalty": 1.0, 
        "stream": false,
        "temperature": 0.8,
        "top_p": 0.7,
        "user": "string"        
  }'

响应(Response)

名称类型描述
dataobject生成内容

  • data 部分参数如下:

名称类型描述
idstring消息ID
choicesobject[]生成的回复列表
usageobjecttoken使用量

  • choices 部分参数如下:

名称类型描述
messagestring非流式请求时,生成的回复内容
finish_reasonstring"停止生成的原因,枚举值因结束符停止生成:stop;因达到最大生成长度停止生成:length;因触发敏感词停止生成: sensitive;因触发模型上下文长度限制: context"
indexint生成的回复序号
rolestring回复消息的角色
deltastring流式请求时,生成的回复内容

  • usage 部分参数如下:

名称类型描述
prompt_tokensint用户输入内容的token数
knowledge_tokensint知识库内容输入模型的token数(仅在使用了知识库且检索到知识库内容的情况下不为0)
completion_tokensint生成消息对应的token数
total_tokensint总token数

响应示例(Response Example)

- 流式


json
data:{"data":{"id":"123456789012345","choices":[{"delta":"This","finish_reason":"","index": 0,"role":"assistant"}],"usage":{"prompt_tokens":6,"knowledge_tokens": 0,"completion_tokens":1,"total_tokens":7}},"status":{"code":0, "message": "ok"}}

data:{"data":{"id":"123456789012345","choices":[{"delta":"is","finish_reason":"","index": 0,"role":"assistant"}],"usage":{"prompt_tokens":6,"knowledge_tokens": 0,"completion_tokens":2,"total_tokens":8}},"status":{"code":0, "message": "ok"}}

data:{"data":{"id":"123456789012345","choices":[{"delta":"a","finish_reason":"","index": 0,"role":"assistant"}],"usage":{"prompt_tokens":6,"knowledge_tokens": 0,"completion_tokens":3,"total_tokens":9}},"status":{"code":0, "message": "ok"}}

data:{"data":{"id":"123456789012345","choices":[{"delta":"test","finish_reason":"","index": 0,"role":"assistant"}],"usage":{"prompt_tokens":6,"knowledge_tokens": 0,"completion_tokens":4,"total_tokens":10}},"status":{"code":0, "message": "ok"}}

data:{"data":{"id":"123456789012345","choices":[{"delta":"!","finish_reason":"","index": 0,"role":"assistant"}],"usage":{"prompt_tokens":6,"knowledge_tokens": 0,"completion_tokens":5,"total_tokens":11}},"status":{"code":0, "message": "ok"}}

data:{"data":{"id":"123456789012345","choices":[{"delta":"","finish_reason":"stop","index": 0,"role":"assistant"}],"usage":{"prompt_tokens":6,"knowledge_tokens": 0,"completion_tokens":6,"total_tokens":13}},"status":{"code":0, "message": "ok"}}

data:[DONE]

- 非流式


json
data:{"data":{"id":"123456789012345","choices":[{"delta":"This","finish_reason":"","index": 0,"role":"assistant"}],"usage":{"prompt_tokens":6,"knowledge_tokens": 0,"completion_tokens":1,"total_tokens":7}},"status":{"code":0, "message": "ok"}}

data:{"data":{"id":"123456789012345","choices":[{"delta":"is","finish_reason":"","index": 0,"role":"assistant"}],"usage":{"prompt_tokens":6,"knowledge_tokens": 0,"completion_tokens":2,"total_tokens":8}},"status":{"code":0, "message": "ok"}}

data:{"data":{"id":"123456789012345","choices":[{"delta":"a","finish_reason":"","index": 0,"role":"assistant"}],"usage":{"prompt_tokens":6,"knowledge_tokens": 0,"completion_tokens":3,"total_tokens":9}},"status":{"code":0, "message": "ok"}}

data:{"data":{"id":"123456789012345","choices":[{"delta":"test","finish_reason":"","index": 0,"role":"assistant"}],"usage":{"prompt_tokens":6,"knowledge_tokens": 0,"completion_tokens":4,"total_tokens":10}},"status":{"code":0, "message": "ok"}}

data:{"data":{"id":"123456789012345","choices":[{"delta":"!","finish_reason":"","index": 0,"role":"assistant"}],"usage":{"prompt_tokens":6,"knowledge_tokens": 0,"completion_tokens":5,"total_tokens":11}},"status":{"code":0, "message": "ok"}}

data:{"data":{"id":"123456789012345","choices":[{"delta":"","finish_reason":"stop","index": 0,"role":"assistant"}],"usage":{"prompt_tokens":6,"knowledge_tokens": 0,"completion_tokens":6,"total_tokens":13}},"status":{"code":0, "message": "ok"}}

data:[DONE]

- 非流式


json
{
  "data": {
    "id": "4b44cd86cd2c000", 
    "choices": [ 
      {
        "message": "This is a test!",
        "finish_reason": "stop",
        "index": 0,
        "role": "string"       
      }
    ],
    "usage": {
      "prompt_tokens": 6,
      "knowledge_tokens": 0,
      "completion_tokens": 6,
      "total_tokens": 12
    }   
  }
}

四、错误信息

返回头(Response Header)

请求的返回头部信息中,会包含 HTTP 状态码x-request-id ,用途如下:

  • HTTP 状态码 :用于标识请求的状态信息,跟返回体错误信息里的 error.code存在映射关系,具体见下方映射关系表
  • x-request-id :每个请求唯一ID,用于跟踪请求情况及问题排查

返回体(Response Body)

接口调用报错时,返回示例:


json
{
    "error":{
        "code": 0, //错误码
        "message": "string", //错误信息
        "details": [] //错误细节
    }
}

其中, codeHTTP 状态码 的映射关系如下:


codeHTTP 状态码解释报错原因解决方案
-200请求成功--
-302重定向--
1408取消调用客户端取消调用;-
2500内部错误服务器内部错误;稍后重试,或者联系我们
3400参数无效"请求的参数名不对;请求的参数值不符合校验规则;"检查请求参数是否正确
4504调用超时服务器内部超时;稍后重试,或者联系我们
5404资源无效请求的资源是无效的or model not found;检查请求的模型,在模型服务管理的状态是否为开通,若没有开通,或看不到此调用的模型ID,即没有调用权限,可联系大装置客服处理
6409资源冲突请求的资源是重复的;检查请求参数
7403没有权限账户没有访问对应资源权限;检查账号具备的接口访问权限(登录“用户控制台-订阅中心”查看),或者检查请求的参数值是否被允许
8429超出限制"请求的速度太快;请求的资源数量超过限制;"调整您的请求,参考每个模块的接口列表里的调用限制,以及接口文档里对于资源的数量限制
9400请求失败请求无法在当前系统状态下执行;稍后重试,或者联系我们
10409并发冲突并发冲突,例如读取/修改/写入错误;稍后重试,或者联系我们
11400范围无效请求指定的范围无效;检查请求参数
12501未实现请求的方法/功能未实现;检查请求的方法或路径
13500内部错误服务器内部错误;稍后重试,或者联系我们
14503内部错误服务正在维护,暂不可用;稍后重试,或者联系我们
15500内部错误服务器内部错误;稍后重试,或者联系我们
16401鉴权失败请求的API鉴权信息不正确,可能是令牌错误,或者生成的 API_TOKEN 过期;检查传入的接口鉴权信息是否正确
17400参数无效对话生成触发模型上下文长度限制;检查messages中的输入tokens+ max_new_tokens≤ 模型上下文长度限制
18400参数无效输入/输出内容触发平台安全策略;检查messages中的输入内容,尝试更换内容重新请求