
紫东太初
获取紫东太初 API Key 并完成首次对话与多模态调用
面向需要接入紫东太初大模型开放平台的开发者,说明注册、实名认证、创建与查看 API Key 的完整流程,并用 curl 完成文本对话与多模态问答的首次调用,附请求参数、返回字段与常见错误码对照。
紫东太初大模型开放平台面向需要做跨模态理解的开发者,提供文本生成、图像问答等能力。要把它接进自己的应用,第一步是拿到一个可用的 API Key,第二步是用一次最小请求确认密钥、模型编码和请求格式都对得上。这篇教程就围绕这两件事展开:先在控制台完成注册、实名认证与密钥创建,再用 curl 分别打通语言大模型与多模态大模型的接口,最后把参数、返回字段和错误码逐项对照清楚。文中涉及的模型编码、参数默认值与配额信息,请以官网当前公布的信息为准。如果你更习惯先看工具页再动手,可以从 紫东太初 进入,但真正的密钥仍然只能在开放平台控制台里生成。
准备工作
在动手之前,先把下面几项确认清楚,可以避免大部分「密钥拿到了却调不通」的情况。
- 一个可注册的账号:首次使用需要在开放平台注册。注册页要求填写用户名、密码、手机号,并完成短信验证码校验;提交后跳转到登录页,用刚设置的账号登录即可。
- 实名认证:这是硬性前置条件。没有完成实名认证的账号,即使已经创建了 API Key,调用时也会被拒绝。个人认证与企业认证二选一,按自己的使用主体选择。
- 调用工具:任意能发 HTTP 请求的客户端都可以,本文用 curl 演示。如果你打算在代码里集成,也可以改用对应语言的 SDK,但请求体结构与本文一致。
- 模型编码:语言大模型使用
taichu_llm,多模态问答使用taichu_vqa。模型编码写错会直接返回权限或参数类错误。 - 余额与测试金:平台按输入与输出的总 token 数量计量计费。新用户注册时会有一定额度的测试金,具体金额与是否仍在发放,以官网当前信息为准;余额不足时接口会返回明确的错误提示。
需要提醒的是,实名认证中的个人认证会校验身份证信息与上传的人脸照片是否为同一人,因此填写真实姓名与身份证号时必须准确无误,照片也要是本人正脸照。企业认证则需要选择组织类型、填写认证授权代表信息,并下载授权委托书、填写后上传才能提交,审核周期相对更长,需要预留时间。
操作步骤
第一步:注册并登录开放平台
访问紫东太初大模型开放平台,在登录页点击「点此注册」进入注册页面。依次填写用户名、密码、手机号,获取并填入验证码,提交后页面会跳回登录页。用刚注册的账号登录,进入控制台。
第二步:完成实名认证
登录后进入控制台的「账户中心」,找到「实名认证」页面,根据你的使用主体选择个人认证或企业认证。
个人认证的流程分三步:
- 填写真实姓名与身份证号,确认无误后提交。
- 上传一张本人正脸的人脸照片。
- 系统校验身份证信息与上传的人脸照片是否属于同一人,校验通过即完成认证。
企业认证的流程分两步:
- 选择组织类型并填写组织相关信息。
- 填写认证授权代表信息,下载授权委托书,填写并上传后提交认证。
企业认证的审核时间预计为 5 到 7 个工作日,如果项目排期紧张,建议提前启动。个人认证通常可以即时完成,适合先跑通调用流程。
第三步:创建并查看 API Key
实名认证通过后,进入控制台的「API 访问管理」,打开「API Key 管理」页面。在这里可以创建新的密钥,也可以查看已有密钥。密钥只在创建时完整展示,之后一般以掩码形式呈现,因此拿到后应立即复制到安全的地方保存,不要写进前端代码或公开仓库。
调用时密钥放在请求头里,格式为 Authorization: Bearer $API_KEY,注意 Bearer 与密钥之间有一个空格。
第四步:用 curl 做一次可用性测试
拿到密钥后,先用一条最简单的对话请求验证链路是否通畅。把 $API_KEY 替换成你自己的密钥:
curl --location '' \
--header 'Authorization: Bearer $API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"model": "taichu_llm",
"messages": [
{ "role": "user", "content": "你好" }
],
"stream": false
}'
请求成功后,会返回一个 JSON 响应,包含本次请求的唯一标识、使用的模型名称、回复内容以及 token 用量。一个典型的返回结构如下:
{
"id": "cmpl-91113f8d8e294790ba6394d47dc5f5ce",
"object": "chat.completion",
"created": 1713521143,
"model": "taichu_llm",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "你好!有什么问题或者需要帮助的地方吗?"
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 11,
"total_tokens": 30,
"completion_tokens": 19
}
}
看到 choices[0].message.content 里有正常回复,说明密钥、模型编码和请求格式都没有问题。如果返回的是错误信息,先对照本文后面的错误码表排查。
第五步:理解语言大模型的请求参数
可用性测试通过后,就可以按业务需要调整参数了。语言大模型接口的请求头包含两项:Content-Type 固定为 application/json,Authorization 填入 Bearer 格式的密钥。请求体参数如下:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 是 | 要调用的模型编码,语言模型填 taichu_llm |
messages | list | 是 | 由历史消息组成的列表,每条消息包含 role 与 content |
stream | bool | 否 | 同步调用时设为 false,模型生成完所有内容后一次性返回;设为 true 时通过标准 Event Stream 逐块返回,结束时返回一条 data: [DONE] 消息。默认值为 true |
temperature | float | 否 | 生成温度,取值范围为 [0.01, 1.00] 闭区间,默认值 0.8,最小调节粒度 0.01 |
top_p | float | 否 | token 几率阈值,取值范围为 (0.0, 1.0) 开区间,默认值 0.9,最小调节粒度 0.1 |
max_tokens | int | 否 | 模型输出最大 token 数,最大输出 8192,默认值 3000 |
tools | list | 否 | 可供模型调用的工具列表 |
tool_choice | string | 否 | 控制模型如何选择要调用的函数,仅在工具类型为 function 时补充,默认 auto,当前仅支持 auto |
messages 中每条消息的 role 有四种取值:system 表示系统提示,user 表示用户输入,assistant 表示模型返回,tool 表示工具调用的返回信息。content 的含义随 role 变化,分别对应系统提示信息、用户输入信息、模型返回信息和工具调用返回信息。
返回参数方面,顶层包含 id(本次请求唯一标识)、model(本次使用的模型名称)、choices(生成结果列表)与 usage(token 使用数量)。choices 中的每一项包含 messages、delta 与 finish_reason;usage 中则细分出 completion_tokens、prompt_tokens 与 total_tokens,计费依据就是这里的 token 数量。
第六步:调用多模态大模型做图像问答
多模态接口与语言接口的请求方式不同,参数不是放在 JSON 请求体里,而是以表单字段的形式提交。必填字段包括:
api_key:在 API Key 管理页面获取的密钥。model_code:模型编码,此处为taichu_vqa。question:用户输入的问题文本。picture:图片的 base64 编码。
可选字段包括:
context:上下文信息。首次请求不需要携带,后续请求使用接口返回的context值;当picture发生变化时,context需要重置为空。temperature:生成温度,取值范围 [0.01, 1.00] 闭区间,默认值 1.0,最小调节粒度 0.01。top_p:token 几率阈值,取值范围 (0.0, 1.0) 开区间,默认值 0.9,最小调节粒度 0.1。repetition_penalty:惩罚值,取值范围 (1.0, 2.0) 开区间,默认值 1.0,最小调节粒度 0.1。
返回结构比语言模型简单:顶层是 code(错误码,非 0 表示异常)、msg(错误信息)与 data;data 中包含 content(回答内容)与 context(下一轮对话需要回传的上下文)。做多轮图像问答时,把上一轮返回的 context 原样带上即可延续对话;一旦换了图片,就必须把 context 清空,否则模型会拿旧图的上下文去理解新图。
一个完整示例
下面把前面的步骤串成一个最小可跑通的流程,从注册到拿到第一条回复。
第 1 步,注册与登录。在开放平台注册页填写用户名、密码、手机号与验证码,提交后回到登录页登录,进入控制台。
第 2 步,实名认证。进入「账户中心」的「实名认证」页面,选择个人认证,填写真实姓名与身份证号,上传本人正脸照片,等待校验通过。没有这一步,后面的密钥即使创建出来也无法调用。
第 3 步,创建密钥。进入「API 访问管理」的「API Key 管理」页面,创建密钥并复制保存。
第 4 步,发起对话请求。把密钥填入下面的命令,执行:
export API_KEY="你的密钥"
curl --location '' \
--header "Authorization: Bearer $API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"model": "taichu_llm",
"messages": [
{ "role": "system", "content": "你是一个简洁的技术助手。" },
{ "role": "user", "content": "用一句话说明什么是多模态大模型。" }
],
"stream": false,
"temperature": 0.8,
"top_p": 0.9,
"max_tokens": 3000
}'
第 5 步,检查返回。确认 choices[0].message.content 中有回复,finish_reason 为 stop,并记录 usage 中的 total_tokens,用于估算后续调用成本。
第 6 步,扩展到多模态。把一张本地图片转成 base64 字符串,作为 picture 字段提交,model_code 填 taichu_vqa,question 填你想问的问题。首次请求不要带 context;拿到返回后,把 data.context 保存下来,下一轮同一张图继续提问时回传该值。
到这里,文本与图像两条调用链路都已经打通。接下来要做的就是把请求封装进自己的服务端,做好密钥管理、超时重试与用量统计。
注意事项
错误码对照
调用失败时,先看 HTTP 状态码与错误信息,大部分问题能直接定位:
| HTTP 状态码 | 错误信息 | 排查方向 |
|---|---|---|
| 400 | 请求参数错误 | 检查请求体字段名、类型与取值范围 |
| 401 | apikey 缺失 | 请求头中没有携带 Authorization,或格式不是 Bearer |
| 401 | apikey 不存在 | 密钥复制不完整或已被删除 |
| 403 | apikey 被禁用 | 密钥状态异常,需在控制台确认 |
| 403 | 请先完成实名认证 | 账号未通过实名认证 |
| 403 | apikey 无权限调用该模型 | 密钥权限与目标模型不匹配 |
| 403 | 当前用户无权限调用该模型 | 账号层面没有该模型的调用权限 |
| 403 | 余额不足,请及时充值 | 账户余额或测试金已用尽 |
| 403 | 非常抱歉,这个问题我暂时无法回答 | 内容触发了模型的回答限制,可调整提问方式 |
| 500 | 系统异常,请联系技术支持 | 服务端异常,稍后重试或联系技术支持 |
| 503 | 服务繁忙,请稍后再试 | 服务端繁忙,退避后重试 |
| 503 | 内部模型服务鉴权失败 | 服务端内部问题,联系技术支持 |
| 503 | 内部模型服务不存在 | 模型编码可能不正确 |
| 503 | 内部模型服务禁止预测 | 服务端内部问题,联系技术支持 |
参数与调用上的坑
stream的默认值是true。如果你按同步方式解析响应,却忘了显式设置stream: false,拿到的会是流式分块数据,直接按 JSON 解析会失败。- 取值范围是开区间还是闭区间要看清。
temperature是 [0.01, 1.00] 闭区间,top_p是 (0.0, 1.0) 开区间,repetition_penalty是 (1.0, 2.0) 开区间。把top_p设成 1.0 或 0.0 都会越界。 max_tokens上限为 8192,默认 3000。需要长输出时记得显式调高,否则回复可能被截断,finish_reason也会体现这一点。tool_choice当前仅支持auto,不要传入其他取值。- 多模态的
context与图片绑定。换图必须清空context,否则上下文会串。 - 多模态接口的参数是表单字段,不是 JSON 请求体,与语言接口的提交方式不同,封装时不要混用。
用量、计费与监控
平台按模型输入与输出的总 token 数量计量计费,因此每次调用返回的 usage.total_tokens 就是成本核算的依据。想查看调用情况与调用记录,可以进入「账户中心」下的「监控 API」页面。价格、免费额度与测试金政策会调整,务必以官网当前信息为准,不要按本文中的任何数字做预算。
密钥安全
API Key 等同于账号的调用凭证,泄露后可能被他人消耗额度。建议只在服务端保存与使用,不要硬编码进前端页面、移动端包体或公开代码仓库;不同项目使用不同密钥,便于单独吊销与用量归因。
遇到错误时,排查顺序建议是:先确认密钥是否正确携带、账号是否已完成实名认证,再核对模型编码与参数取值范围,最后看余额与权限。如果错误码指向服务端异常或内部鉴权失败,重试无效时联系技术支持,并附上请求时间与返回的 id,便于定位。