Skip to content

阿里云百炼使用

阿里云百炼云平台

介绍

阿里云百炼是一站式大模型开发与应用平台,集成了通义千问及主流第三方模型。它为开发者提供了兼容OpenAI的API及全链路模型服务;同时,也提供可视化应用构建能力,让业务人员能快速创建智能体、知识库问答等AI应用。

获取API KEY

  • 登录阿里云百炼——应用开发——应用管理——立即创建

image-20251114162408014

  • 创建后,选择模型——更多,选择“通义千问3-Max”。然后点击发布。
  • 应用发布成功后,返回到应用开发——应用管理,能看到上面创建并发布的大模型测试

image-20251114163754937

  • 点击密钥管理——创建API-KEY,选择用户——确定。复制并保管好API KEY,不要对外泄露。

聊天机器人示例

  • 登录阿里云百炼——模型服务——模型广场,点击通义千文3-Max
  • 可以看到免费的额度,以及代码示例

image-20251114184945391

通义聊天机器人示例

python
from openai import OpenAI
import streamlit as st

client = OpenAI(
    # 注意保密API KEY
    api_key="",
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)

st.title("我的聊天机器人")
st.divider()

user_input = st.chat_input("请输入消息...")


# 初始化对话历史,显示历史消息
if "messages" not in st.session_state:
    st.session_state.messages = []
for msg in st.session_state.messages:
    with st.chat_message(msg["role"]):
        st.write(msg["content"])

if user_input:
    # 添加用户消息到历史,并显示
    st.session_state.messages.append({"role": "user", "content": user_input})
    with st.chat_message("user"):
        st.write(user_input)

    # 助手思考回答过程
    with st.chat_message("assistant"):
        with st.spinner("思考中..."):
            completion = client.chat.completions.create(
                model="qwen3-max",
                messages=st.session_state.messages,
            )
            assistant_response = completion.choices[0].message.content
            st.write(assistant_response)

    # 添加助手回复到历史
    st.session_state.messages.append(
        {"role": "assistant", "content": assistant_response}
    )

请求参数

参考文档

参数名类型是否必填说明
modelString指定调用的模型 ID,例如通用模型 “qwen-plus”、DeepSeek 系列 “deepseek-v3.2-exp”、向量模型 “text-embedding-async-v2” 等,不同模型对应不同功能场景。
messagesArray对话历史列表,每条数据包含role(角色,如 user/assistant)和content(内容),用于为模型提供上下文语境,例如 [{"role": "user", "content": "你是谁"}]。
streamBoolean控制输出方式。设为true时为流式输出,适合实时展示回复;设为false时为一次性输出完整结果,多数深度思考模型优先支持流式输出。默认为false
enable_searchBoolean是否开启联网搜索。默认值为 false
temperatureFloat控制生成内容的随机性,取值范围(0,2)。数值越高,生成内容越多样;数值越低,生成结果越稳定、贴合固定逻辑,默认值通常适配对应模型的通用场景

messages 传递给大模型的上下文,按对话顺序排列

  • System Message *object* (可选)系统消息,用于设定大模型的角色、语气、任务目标或约束条件等。一般放在messages数组的第一位。注意:QwQ 模型不建议设置 System Message,QVQ 模型设置 System Message不会生效。
    • 示例:你是专业的数学老师,用简洁语言解答数学题
    • 示例:你是东哥的助手小月
  • User Message *object* (必选)用户消息,用于向模型传递问题、指令或上下文等。
  • Assistant Message *object* (可选)模型的回复。通常用于在多轮对话中作为上下文回传给模型。
json
{
    "model": "qwen-plus",
    "messages": [
        {
            "role": "system",
            "content": "你是一名得力助手"
        },
        {
            "role": "user",
            "content": "列出最新的一条新闻,并给出日期"
        }
    ],
    "stream": false,
    "enable_search":true
}

响应参数

参数名类型说明
idString本次调用请求的唯一标识,用于问题排查和请求追踪。
objectString响应对象类型,如流式调用时可能返回 “chat.completion.chunk”,非流式为 “chat.completion”。
createdInteger响应生成的时间戳,以秒为单位,对应 Unix 时间格式。
choicesArray(重要)核心响应数组,包含模型的输出内容。数组中元素含message对象,其role字段值为 “assistant”,content字段存储模型的最终回复文本。
usageObject(重要)Token 消耗统计,仅非流式或开启stream_options={"include_usage": True}的流式调用会返回。包含prompt_tokens(输入 Token 数)、completion_tokens(输出 Token 数)、total_tokens(总 Token 数)。
json
{
    "choices": [
        {
            "message": {
                "role": "assistant",
                "content": "最新的一条新闻是:**文化和旅游部郑重提醒中国游客近期避免前往日本旅游**。\n\n该新闻的日期为:**2025年11月17日**。\n\n(信息来源:新闻8点见丨四川舰顺利完成首航试验;中国游客近期避免前往日本)"
            },
            "finish_reason": "stop",
            "index": 0,
            "logprobs": null
        }
    ],
    "object": "chat.completion",
    "usage": {
        "prompt_tokens": 3241,
        "completion_tokens": 64,
        "total_tokens": 3305,
        "prompt_tokens_details": {
            "cached_tokens": 0
        }
    },
    "created": 1763360155,
    "system_fingerprint": null,
    "model": "qwen-plus",
    "id": "chatcmpl-629b0618-6f98-4b5c-a3e3-a9cd45bd43af"
}

参考资料

请求示例

使用Apifox请求

登录阿里云百炼——模型服务——模型广场,点击通义千文3-Max,点击“查看API示例”

bash
curl -X POST https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
    "model": "qwen-plus",
    "messages": [
        {
            "role": "system",
            "content": "You are a helpful assistant."
        },
        {
            "role": "user",
            "content": "你是谁?"
        }
    ]
}'

Apifox访问百炼模型API:新建快捷请求,参考上面代码填写

  • 设置请求方式:POST,填写URL地址
  • 设置Headers,设置Body参数

image-20251116174137997

使用SDK请求-非流式

非流式请求

python
from openai import OpenAI

client = OpenAI(
    api_key="sk-",
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)

completion = client.chat.completions.create(
    model="deepseek-v3.2",
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "你好"},
    ],
)
# 非流式响应
print(completion.model_dump_json())

非流式响应

json
{
  "id": "chatcmpl-b88f8ac8-b573-9cd4-b114-d95fab1766d2",
  "choices": [
    {
      "finish_reason": "stop",
      "index": 0,
      "logprobs": null,
      "message": {
        "content": "你好!很高兴见到你。有什么我可以帮助你的吗?无论是解答问题、提供建议,还是闲聊,我都很乐意陪伴你哦! 😊",
        "refusal": null,
        "role": "assistant",
        "annotations": null,
        "audio": null,
        "function_call": null,
        "tool_calls": null
      }
    }
  ],
  "created": 1769505790,
  "model": "deepseek-v3.2",
  "object": "chat.completion",
  "service_tier": null,
  "system_fingerprint": null,
  "usage": {
    "completion_tokens": 31,
    "prompt_tokens": 11,
    "total_tokens": 42,
    "completion_tokens_details": null,
    "prompt_tokens_details": { "audio_tokens": null, "cached_tokens": 0 }
  }
}

使用SDK请求-流式

流式请求

python
from openai import OpenAI

client = OpenAI(
    api_key="sk-",
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)

completion = client.chat.completions.create(
    model="deepseek-v3.2",
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "你好"},
    ],
    stream=True,
)
# 流式响应处理
for chunk in completion:
    # print(chunk.choices[0].delta.content, end="", flush=True)
    print(chunk)