python3使用openai调用Doubao-Seed-1.6的非思考/自动/思考模式(thinking)的代码

概述

想使用openai-python调用Doubao-Seed-1.6的非思考模式(think, disable),可被字节(抖音火山云)thinking参数恶心到了

thinking配置

extra_body = {"thinking": {"type": "disabled"}}

需求安装包

openai>=1.50.2
Pillow

非思考模式代码

# !/usr/bin/python
# -*- coding: utf-8 -*-
# @time    : 2025/06/16 18:18
# @author  : Mo
# @function: python3使用openai调用Doubao-Seed-1.6的非思考模式(thinking)


import requests
import base64
import os

from openai import OpenAI


# "Doubao-Seed-1.6"
llm_config = {
    "base_url": "https://ark.cn-beijing.volces.com/api/v3",
    "api_key": "xxx",
    "model": "xxx"
}

base_url = llm_config.get("base_url")
api_key = llm_config.get("api_key")
model = llm_config.get("model")

# 初始化OpenAI客户端
client = OpenAI(
    base_url=base_url,
    api_key=api_key,
)

messages = [{"role": "user", "content": "Doubao-Seed-1.6中的Seed是什么意思?"}]
extra_body = {"thinking": {"type": "disabled"}}
# extra_body = {"thinking": {"type": "enabled"}}
# extra_body = {"thinking": {"type": "auto"}}

completion = client.chat.completions.create(
    extra_body=extra_body,
    messages=messages,
    max_tokens=4096,
    stream=False,
    model=model,
)
print(completion)

"""
ChatCompletion(id='xxx', choices=[Choice(finish_reason='stop', index=0, logprobs=None, message=ChatCompletionMessage(content='在技术领域,特别是涉及模型训练或软件版本的命名中,“Seed”(种子)通常有以下含义,结合“Doubao-Seed-1.6”这一名称,可能指向以下解释:\n\n\n### 1. **模型训练的“种子”参数**\n   - **随机种子(Random Seed)**:在机器学习中,模型训练过程中涉及大量随机操作(如初始化权重、数据打乱、 dropout 等)。设置 **随机种子** 可以固定这些随机过程,确保训练结果的可复现性。\n   - **命名可能含义**:如果“Doubao”是某个模型(如对话模型、AI助手)的名称,“Seed”可能代表该版本是基于特定随机种子训练的基础模型,或强调其训练过程的稳定性与可复现性。\n\n\n### 2. **“种子版本”或“基础版本”**\n   - 在软件或模型迭代中,“Seed”有时被用来表示 **初始版本** 或 **基础版本**,后续版本可能在此基础上优化或扩展。例如:\n     - “Seed-1.6”可能表示该模型是“Doubao”系列的第1.6代基础版本,后续可能衍生出更复杂的分支(如针对特定任务的优化版)。\n\n\n### 3. **特定项目或团队的命名习惯**\n   - 部分团队或项目会用“Seed”作为代号,可能与项目愿景(如“播下AI的种子”)或技术特性相关,此时需结合具体背景理解。由于“Doubao”可能指向特定产品(如字节跳动的“豆包”),建议参考官方文档或发布说明以确认准确含义。\n\n\n### 总结\n“Doubao-Seed-1.6”中的 **Seed 最可能指“随机种子”(确保训练可复现性)或“基础版本”**,具体需结合该模型的官方定义。如果这是某个公开模型或项目,建议查阅其技术报告或发布信息以获取精确解释。', refusal=None, role='assistant', audio=None, function_call=None, tool_calls=None))], created=xxx, model='doubao-seed-1-6-250615', object='chat.completion', service_tier='default', system_fingerprint=None, usage=CompletionUsage(completion_tokens=439, prompt_tokens=48, total_tokens=487, completion_tokens_details=CompletionTokensDetails(audio_tokens=None, reasoning_tokens=0), prompt_tokens_details=PromptTokensDetails(audio_tokens=None, cached_tokens=0)))
"""

非思考模式代码(远程图片)

# !/usr/bin/python
# -*- coding: utf-8 -*-
# @time    : 2025/06/16 18:18
# @author  : Mo
# @function: python3使用openai调用Doubao-Seed-1.6的非思考模式(thinking)


import requests
import base64
import os

from openai import OpenAI


# "Doubao-Seed-1.6"
llm_config = {
    "base_url": "https://ark.cn-beijing.volces.com/api/v3",
    "api_key": "xxx",
    "model": "xxx"
}

base_url = llm_config.get("base_url")
api_key = llm_config.get("api_key")
model = llm_config.get("model")

# 初始化OpenAI客户端
client = OpenAI(
    base_url=base_url,
    api_key=api_key,
)

url = "https://i-blog.csdnimg.cn/direct/b1991fc21bec48f08907e688db98b60b.png"
messages = [
        {
            "role": "user",
            "content": [
                {
                    "type": "image_url",
                    "image_url": {
                        "url": url
                    },
                },
                {"type": "text", "text": "图片里45度斜着的英文是什么?"}
            ]
        }
]

extra_body = {"thinking": {"type": "disabled"}}
# extra_body = {"thinking": {"type": "enabled"}}
# extra_body = {"thinking": {"type": "auto"}}

completion = client.chat.completions.create(
    extra_body=extra_body,
    messages=messages,
    max_tokens=4096,
    stream=False,
    model=model,
)
print(completion)
"""
ChatCompletion(id='xxx', choices=[Choice(finish_reason='stop', index=0, logprobs=None, message=ChatCompletionMessage(content='图片中斜着的英文是“macro-correct”。', refusal=None, role='assistant', audio=None, function_call=None, tool_calls=None))], created=xxx, model='doubao-seed-1-6-250615', object='chat.completion', service_tier='default', system_fingerprint=None, usage=CompletionUsage(completion_tokens=13, prompt_tokens=154, total_tokens=167, completion_tokens_details=CompletionTokensDetails(audio_tokens=None, reasoning_tokens=0), prompt_tokens_details=PromptTokensDetails(audio_tokens=None, cached_tokens=0)))
"""

非思考模式代码(本地图片)

# !/usr/bin/python
# -*- coding: utf-8 -*-
# @time    : 2025/06/16 18:18
# @author  : Mo
# @function: python3使用openai调用Doubao-Seed-1.6的非思考模式(thinking)


import requests
import base64
import os

from openai import OpenAI
from PIL import Image


# "Doubao-Seed-1.6"
llm_config = {
    "base_url": "https://ark.cn-beijing.volces.com/api/v3",
    "api_key": "xxx",
    "model": "xxx"
}

base_url = llm_config.get("base_url")
api_key = llm_config.get("api_key")
model = llm_config.get("model")

# 初始化OpenAI客户端
client = OpenAI(
    base_url=base_url,
    api_key=api_key,
)

image_file = "xxx"
fo = open(image_file, "rb")
image_base64 = base64.b64encode(fo.read()).decode("utf-8")
image_format = Image.open(image_file).format.lower()
messages = [
        {
            "role": "user",
            "content": [
                {
                    "type": "image_url",
                    "image_url": f"data:image/{image_format};base64,{image_base64}"
                },
                {"type": "text", "text": "这道题怎么解?"}
            ]
        }
]

extra_body = {"thinking": {"type": "disabled"}}
# extra_body = {"thinking": {"type": "enabled"}}
# extra_body = {"thinking": {"type": "auto"}}

completion = client.chat.completions.create(
    extra_body=extra_body,
    messages=messages,
    max_tokens=4096,
    stream=False,
    model=model,
)
print(completion)
"""
ChatCompletion(id='xxx', choices=[Choice(finish_reason='stop', index=0, logprobs=None, message=ChatCompletionMessage(content='这道题是要计算一共有多少本书。我们可以看到图中有一个盒子,里面有8本书,盒子旁边还有单独摆放的4本书。要求“一共有多少本”,就是要把盒子里的书和盒子外的书合起来,用加法计算。\n\n**解题步骤:**\n1. **确定已知条件**:盒子里有8本书,盒子外有4本书。\n2. **选择计算方法**:求总数,用加法:\\(8 + 4\\)。\n3. **计算结果**:\\(8 + 4 = 12\\)。\n\n**答案**:\\(8 + 4 = 12\\)(本)', refusal=None, role='assistant', audio=None, function_call=None, tool_calls=None))], created=xxx, model='doubao-seed-1-6-250615', object='chat.completion', service_tier='default', system_fingerprint=None, usage=CompletionUsage(completion_tokens=150, prompt_tokens=164, total_tokens=314, completion_tokens_details=CompletionTokensDetails(audio_tokens=None, reasoning_tokens=0), prompt_tokens_details=PromptTokensDetails(audio_tokens=None, cached_tokens=0)))
"""

最后

希望对你有所帮助!

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐