2026年 openlux 通义千问 api 调用示例:请求参数与流式输出

2026年 openlux 通义千问 api 调用示例:请求参数与流式输出 2026年 openlux 通义千问 api 调用示例:请求参数与流式输出 把通义千问接进自己的应用,真正需要确认的其实只有三件事:请求发到哪个地址、参数怎么填、流式输出怎么读。这篇用最小示例讲清 openlux 通义千问 api 的调用方式,重点放在请求参数和流式返回的处理上。 示例中的地址和模型名一律用变量代替。中转服务和控制台的命名可能随时调整,最终还是以

2026年 openlux 通义千问 api 调用示例:请求参数与流式输出

2026年 openlux 通义千问 api 调用示例:请求参数与流式输出

把通义千问接进自己的应用,真正需要确认的其实只有三件事:请求发到哪个地址、参数怎么填、流式输出怎么读。这篇用最小示例讲清 openlux 通义千问 api 的调用方式,重点放在请求参数和流式返回的处理上。

示例中的地址和模型名一律用变量代替。中转服务和控制台的命名可能随时调整,最终还是以你控制台里显示的值、以及所使用平台的文档说明为准。

一、调用前先确认三项信息

1. Base URL 与接口路径

兼容 OpenAI 协议的对话接口,通常挂在 {Base URL}/chat/completions。需要注意,有的控制台给出的地址已经带上了 /v1,有的没有,拼接时容易多一层或少一层。建议先把完整地址写成常量,跑通之后再抽象进配置文件。

2. 模型名称

通义千问系列有多个版本,命名规则并不完全统一。不要凭印象手写模型名,直接从控制台的模型列表复制。模型名写错时返回的通常是 404 或“模型不存在”,而不是鉴权错误,这一点在排查时很有区分度。

3. API Key

Key 建议放进环境变量,不要提交到代码仓库。如果你同时要调用多个厂商的模型,千聚AI中转站 这类聚合入口可以把接口地址和 Key 统一在一处管理,减少在多平台之间来回切换配置的麻烦。

二、非流式请求的最小结构

先跑通一次非流式请求,确认鉴权、地址、模型名三项都对,再去做流式。请求结构大致如下:

POST {BASE_URL}/chat/completions
Authorization: Bearer {API_KEY}
Content-Type: application/json

关键字段只有三个:model 填控制台显示的模型名称,messages 按角色组织对话内容,stream 设为 false。先不要加温度、工具调用等可选参数,把变量降到最少,第一次跑通会快很多。

三、请求参数逐项说明

openlux 通义千问 api 的请求参数可以分为必填和可选两类,下面这张表覆盖了日常调用最常用的几个。

参数作用常见取值注意点
model指定调用的模型控制台显示的模型名称不要手写,避免版本或大小写错误
messages组织对话上下文包含 role 与 content 的数组role 通常为 system、user、assistant
stream控制是否逐块返回true 或 false流式需要客户端逐行读取并处理结束标记
temperature控制输出随机性通常取 0 到 1 之间与 top_p 一般只调其中一个
max_tokens限制输出长度按业务需要设定设置过小会导致内容被截断

关于 temperature 和 top_p

这两个参数都在控制随机性,通常只调其中一个。需要稳定复现的输出就把温度调低,需要多样表达的创作场景可以适当调高。这里没有通用最优值,用几条真实业务输入试跑一轮,比查参数说明更有效。

四、流式输出怎么接

返回的数据长什么样

开启流式后,服务端以 SSE 形式持续返回数据块,每一行以 data: 开头,最后以 data: [DONE] 结束。openlux 通义千问 api 的流式输出同样遵循这套格式,每个数据块是一个 JSON,正文内容位于 choices[0].delta.content,可能是空字符串,也可能只包含一个标点。

Python 增量拼接示例

import json, os, requests

resp = requests.post(
    os.environ['BASE_URL'] + '/chat/completions',
    headers={
        'Authorization': 'Bearer ' + os.environ['OPENLUX_API_KEY'],
        'Content-Type': 'application/json',
    },
    json={
        'model': os.environ['MODEL_NAME'],
        'messages': [{'role': 'user', 'content': '用三句话介绍通义千问'}],
        'stream': True,
    },
    stream=True,
    timeout=60,
)

for line in resp.iter_lines():
    if not line or not line.startswith(b'data:'):
        continue
    payload = line[5:].strip()
    if payload == b'[DONE]':
        break
    delta = json.loads(payload)['choices'][0]['delta']
    print(delta.get('content', ''), end='', flush=True)

几个容易踩的点:data: 后面的空格要先去掉再解析;空行要跳过;[DONE] 不是 JSON,不能直接丢给解析器;网络中断时要有重试或降级为非流式的兜底逻辑。

五、常见报错与自检清单

  • 返回 401:检查 Key 是否完整,Bearer 前缀与空格是否正确。
  • 返回 404:检查 Base URL 是否多一层或少一层,模型名称是否与控制台一致。
  • 返回 429:属于限流,降低并发或缩短请求频率,不是配置错误。
  • 流式没有输出:确认 stream 为 true,同时确认客户端没有开启缓冲,导致内容被整体缓存。
  • 中文乱码或断句异常:确认按 UTF-8 解码,前端按增量追加而不是整体替换。

六、从示例跑通到稳定使用

示例能跑通,只说明配置没错。要放进正式业务,还需要把 Base URL、API Key、模型名称收进环境变量,给流式请求加超时与重试,并把不同模型的调用入口统一管理。使用 千聚AI中转站 这类 AI 聚合平台时,可以用一个 Base URL 和一把 Key 覆盖多个模型的调用,切换模型只在参数层面调整;具体支持的模型、兼容协议与计费方式,请以控制台页面和实际文档为准。


把示例跑通之后,下一步是把接口地址、API Key 和模型名称收进环境变量,再用你自己的业务请求验证一次流式输出是否稳定。需要现成的地址与 Key 时,可以直接进控制台查看。

进入千聚控制台查看模型并获取 API Key