Todos los productos
Search
Centro de documentos

Alibaba Cloud Model Studio:DeepSeek

Última actualización: Oct 19, 2026

Este tema describe cómo llamar a los modelos de la serie DeepSeek en la plataforma Alibaba Cloud Model Studio utilizando una interfaz compatible con OpenAI o el SDK de DashScope.

Endpoints de servicio

El endpoint de servicio es diferente para cada región. Configure la URL base según la región seleccionada (Reemplace {WorkspaceId} con el ID de espacio de trabajo real). Los modelos disponibles y los límites de tasa también varían según la región. Para más información, consulte el documento de Limitación de tasa.

Compatible con OpenAI

China (Beijing)

El base_url para la configuración de llamadas al SDK es https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/compatible-mode/v1

La dirección de solicitud HTTP es POST https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/compatible-mode/v1/chat/completions

EE. UU. (Virginia)

El base_url para la configuración de llamadas al SDK es https://{WorkspaceId}.us-east-1.maas.aliyuncs.com/compatible-mode/v1

La dirección de solicitud HTTP es POST https://{WorkspaceId}.us-east-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions

Singapore

El base_url para la configuración de llamadas al SDK es https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1

La dirección de solicitud HTTP es POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions

Germany (Frankfurt)

El base_url para la configuración de llamadas al SDK es https://{WorkspaceId}.eu-central-1.maas.aliyuncs.com/compatible-mode/v1

La dirección de solicitud HTTP es POST https://{WorkspaceId}.eu-central-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions

Japan (Tokyo)

El base_url para la configuración de llamadas al SDK es https://{WorkspaceId}.ap-northeast-1.maas.aliyuncs.com/compatible-mode/v1

La dirección de solicitud HTTP es POST https://{WorkspaceId}.ap-northeast-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions

Compatible con OpenAI - Responses API

NotaLos siguientes cuatro modelos admiten la Responses API: deepseek-v4.1-flash, deepseek-v4-flash-0731, deepseek-v4-pro y deepseek-v4-pro-0813. Para estos modelos, el servicio de Responses API está limitado a las regiones de China (Beijing) y Singapore.

deepseek-v4.1-flash-1017 admite la Responses API en seis regiones: China (Pekín), Singapur, EE. UU. (Virginia), Alemania (Fráncfort), Japón (Tokio) y China (Hong Kong). Admite las tres herramientas integradas web_search, web_extractor y code_interpreter. Para obtener el base_url del SDK y los endpoints POST de las seis regiones, consulte la configuración de endpoints de la Responses API.

Singapore

El base_url para llamadas al SDK: https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1

Endpoint HTTP: POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/responses

China (Beijing)

El base_url para llamadas al SDK: https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/compatible-mode/v1

Endpoint HTTP: POST https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/compatible-mode/v1/responses

DashScope

China (Beijing)

La dirección de solicitud HTTP es POST https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/services/aigc/text-generation/generation

El base_url para la configuración de llamadas al SDK es dashscope.base_http_api_url = "https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1"

EE. UU. (Virginia)

La dirección de solicitud HTTP es POST https://{WorkspaceId}.us-east-1.maas.aliyuncs.com/api/v1/services/aigc/text-generation/generation

El base_url para la configuración de llamadas al SDK es dashscope.base_http_api_url = "https://{WorkspaceId}.us-east-1.maas.aliyuncs.com/api/v1"

Singapore

La dirección de solicitud HTTP es POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/text-generation/generation

El base_url para la configuración de llamadas al SDK es dashscope.base_http_api_url = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1"

Germany (Frankfurt)

La dirección de solicitud HTTP es POST https://{WorkspaceId}.eu-central-1.maas.aliyuncs.com/api/v1/services/aigc/text-generation/generation

El base_url para la configuración de llamadas al SDK es dashscope.base_http_api_url = "https://{WorkspaceId}.eu-central-1.maas.aliyuncs.com/api/v1"

Japan (Tokyo)

La dirección de solicitud HTTP es POST https://{WorkspaceId}.ap-northeast-1.maas.aliyuncs.com/api/v1/services/aigc/text-generation/generation

El base_url para la configuración de llamadas al SDK es dashscope.base_http_api_url = "https://{WorkspaceId}.ap-northeast-1.maas.aliyuncs.com/api/v1"

Introducción

deepseek-v4-pro es el modelo insignia de la serie DeepSeek y destaca en programación, matemáticas y tareas generales. deepseek-v4-flash-0731 es la última versión lanzada. Puede usar el parámetro enable_thinking para alternar entre los modos de pensamiento y sin pensamiento. El siguiente ejemplo muestra cómo llamar al modelo deepseek-v4-pro en modo de pensamiento.

Debe obtener una clave de API y configurarla como variable de entorno. Si utiliza un SDK, también debe instalar el SDK de OpenAI o DashScope.

Compatible con OpenAI

NotaEl parámetro enable_thinking no es un parámetro estándar de OpenAI. El SDK de Python de OpenAI lo pasa a través de extra_body, mientras que el SDK de Node.js lo pasa como un parámetro de nivel superior. El parámetro reasoning_effort es un parámetro estándar de OpenAI y se puede pasar directamente como un parámetro de nivel superior.

Python

Código de ejemplo

from openai import OpenAI
import os

# Initialize the OpenAI client
client = OpenAI(
    # If the environment variable is not configured, replace it with your Alibaba Cloud Model Studio API key: api_key="sk-xxx"
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    # Singapore region. Replace {WorkspaceId} with your Bailian workspace ID. URLs vary by region.
    base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",
)

messages = [{"role": "user", "content": "Who are you?"}]
completion = client.chat.completions.create(
    model="deepseek-v4-pro",
    messages=messages,
    # Use extra_body to set enable_thinking and enable thinking mode
    extra_body={"enable_thinking": True},
    stream=True,
    stream_options={
        "include_usage": True
    },
)

reasoning_content = ""  # Complete thinking process
answer_content = ""  # Complete response
is_answering = False  # Indicates whether the response phase has started
print("\n" + "=" * 20 + "Thinking Process" + "=" * 20 + "\n")

for chunk in completion:
    if not chunk.choices:
        print("\n" + "=" * 20 + "Token Usage" + "=" * 20 + "\n")
        print(chunk.usage)
        print("Request ID:", chunk.id)
        continue

    delta = chunk.choices[0].delta

    # Collect only the thinking content
    if hasattr(delta, "reasoning_content") and delta.reasoning_content is not None:
        if not is_answering:
            print(delta.reasoning_content, end="", flush=True)
        reasoning_content += delta.reasoning_content

    # After receiving content, start generating the response
    if hasattr(delta, "content") and delta.content:
        if not is_answering:
            print("\n" + "=" * 20 + "Complete Response" + "=" * 20 + "\n")
            is_answering = True
        print(delta.content, end="", flush=True)
        answer_content += delta.content

Respuesta

====================Thinking Process====================
Okay, the user asked a very simple self-introduction question: "Who are you?".
I need to clarify my identity, introduce myself as DeepSeek in a concise and friendly way, mention my creator, basic features, and the help I can provide.
I can organize the answer like this: first, state my identity directly, mention I was created by the DeepSeek company, then list some key features (free, long context, file upload, etc.), and finally end with a friendly invitation, asking if I can help.
====================Complete Response====================
Hello! I am DeepSeek, an AI assistant created by the DeepSeek company.
I can help you answer various questions, create text, analyze documents, assist with programming, and more. My main features are that I am **free to use**, have a **super long context** (I can process the entire 'The Three-Body Problem' trilogy at once), and support **file uploads** and **web search** (must be enabled manually).
Is there anything I can help you with? Whether it's for study, work, or just a casual chat, I'm happy to talk with you!
====================Token Usage====================
CompletionUsage(completion_tokens=238, prompt_tokens=5, total_tokens=243, completion_tokens_details=CompletionTokensDetails(accepted_prediction_tokens=None, audio_tokens=None, reasoning_tokens=93, rejected_prediction_tokens=None), prompt_tokens_details=None)
Request ID: chatcmpl-a1b2c3d4-e5f6-7890-abcd-ef1234567890

Node.js

Código de ejemplo

import OpenAI from "openai";
import process from 'process';

// Initialize the OpenAI client
const openai = new OpenAI({
    // If the environment variable is not configured, replace it with your Alibaba Cloud Model Studio API key: apiKey: "sk-xxx"
    apiKey: process.env.DASHSCOPE_API_KEY,
    // Singapore region. Replace {WorkspaceId} with your Bailian workspace ID. URLs vary by region.
    baseURL: 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1'
});

let reasoningContent = ''; // Complete thinking process
let answerContent = ''; // Complete response
let isAnswering = false; // Indicates whether the response phase has started

async function main() {
    try {
        const messages = [{ role: 'user', content: 'Who are you?' }];

        const stream = await openai.chat.completions.create({
            model: 'deepseek-v4-pro',
            messages,
            // Note: In the Node.js SDK, non-standard parameters like enable_thinking are passed as top-level properties, not within extra_body.
            enable_thinking: true,
            stream: true,
            stream_options: {
                include_usage: true
            },
        });

        console.log('\n' + '='.repeat(20) + 'Thinking Process' + '='.repeat(20) + '\n');

        for await (const chunk of stream) {
            if (!chunk.choices?.length) {
                console.log('\n' + '='.repeat(20) + 'Token Usage' + '='.repeat(20) + '\n');
                console.log(chunk.usage);
                console.log('Request ID:', chunk.id);
                continue;
            }

            const delta = chunk.choices[0].delta;

            // Collect only the thinking content
            if (delta.reasoning_content !== undefined && delta.reasoning_content !== null) {
                if (!isAnswering) {
                    process.stdout.write(delta.reasoning_content);
                }
                reasoningContent += delta.reasoning_content;
            }

            // After receiving content, start generating the response
            if (delta.content !== undefined && delta.content) {
                if (!isAnswering) {
                    console.log('\n' + '='.repeat(20) + 'Complete Response' + '='.repeat(20) + '\n');
                    isAnswering = true;
                }
                process.stdout.write(delta.content);
                answerContent += delta.content;
            }
        }
    } catch (error) {
        console.error('Error:', error);
    }
}

main();

Respuesta

====================Thinking Process====================
Okay, the user asked a very simple self-introduction question: "Who are you?".
I need to clarify my identity, introduce myself as DeepSeek in a concise and friendly way, mention my creator, basic features, and the help I can provide.
I can organize the answer like this: first, state my identity directly, mention I was created by the DeepSeek company, then list some key features (free, long context, file upload, etc.), and finally end with a friendly invitation, asking if I can help.
====================Complete Response====================
Hello! I am DeepSeek, an AI assistant created by the DeepSeek company.
I can help you answer various questions, create text, analyze documents, assist with programming, and more. My main features are that I am **free to use**, have a **super long context** (I can process the entire 'The Three-Body Problem' trilogy at once), and support **file uploads** and **web search** (must be enabled manually).
Is there anything I can help you with? Whether it's for study, work, or just a casual chat, I'm happy to talk with you!
====================Token Usage====================
{
  prompt_tokens: 5,
  completion_tokens: 243,
  total_tokens: 248,
  completion_tokens_details: { reasoning_tokens: 83 }
}
Request ID: chatcmpl-a1b2c3d4-e5f6-7890-abcd-ef1234567890

HTTP

Código de ejemplo

curl

# Singapore region. Replace {WorkspaceId} with your Bailian workspace ID. URLs vary by region.
curl -X POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
    "model": "deepseek-v4-pro",
    "messages": [
        {
            "role": "user",
            "content": "Who are you?"
        }
    ],
    "stream": true,
    "stream_options": {
        "include_usage": true
    },
    "enable_thinking": true
}'

DashScope

Python

Código de ejemplo

import os
import dashscope
from dashscope import Generation

# Singapore region. Replace {WorkspaceId} with your Bailian workspace ID. URLs vary by region.
dashscope.base_http_api_url = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1"

# Initialize the request parameters
messages = [{"role": "user", "content": "Who are you?"}]

completion = Generation.call(
    # If the environment variable is not configured, replace it with your Alibaba Cloud Model Studio API key: api_key="sk-xxx"
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    model="deepseek-v4-pro",
    messages=messages,
    result_format="message",  # Set the result format to message
    enable_thinking=True,
    stream=True,              # Enable streaming output
    incremental_output=True,  # Enable incremental output
)

reasoning_content = ""  # Complete thinking process
answer_content = ""     # Complete response
is_answering = False    # Indicates whether the response phase has started

print("\n" + "=" * 20 + "Thinking Process" + "=" * 20 + "\n")

for chunk in completion:
    message = chunk.output.choices[0].message
    # Collect only the thinking content
    if "reasoning_content" in message:
        if not is_answering:
            print(message.reasoning_content, end="", flush=True)
        reasoning_content += message.reasoning_content

    # After receiving content, start generating the response
    if message.content:
        if not is_answering:
            print("\n" + "=" * 20 + "Complete Response" + "=" * 20 + "\n")
            is_answering = True
        print(message.content, end="", flush=True)
        answer_content += message.content

print("\n" + "=" * 20 + "Token Usage" + "=" * 20 + "\n")
print(chunk.usage)
print("Request ID:", chunk.request_id)

Respuesta

====================Thinking Process====================
Okay, the user asked a very simple self-introduction question: "Who are you?".
I need to clarify my identity, introduce myself as DeepSeek in a concise and friendly way, mention my creator, basic features, and the help I can provide.
I can organize the answer like this: first, state my identity directly, mention I was created by the DeepSeek company, then list some key features (free, long context, file upload, etc.), and finally end with a friendly invitation, asking if I can help.
====================Complete Response====================
Hello! I am DeepSeek, an AI assistant created by the DeepSeek company.
I can help you answer various questions, create text, analyze documents, assist with programming, and more. My main features are that I am **free to use**, have a **super long context** (I can process the entire 'The Three-Body Problem' trilogy at once), and support **file uploads** and **web search** (must be enabled manually).
Is there anything I can help you with? Whether it's for study, work, or just a casual chat, I'm happy to talk with you!
====================Token Usage====================
{"input_tokens": 6, "output_tokens": 240, "total_tokens": 246, "output_tokens_details": {"reasoning_tokens": 92}}
Request ID: 85735883-9062-9c33-a963-0bc12584ee68

Java

Código de ejemplo

ImportanteLa versión del SDK de Java de DashScope debe ser 2.19.4 o posterior.

// DashScope SDK version >= 2.19.4
import com.alibaba.dashscope.aigc.generation.Generation;
import com.alibaba.dashscope.aigc.generation.GenerationParam;
import com.alibaba.dashscope.aigc.generation.GenerationResult;
import com.alibaba.dashscope.common.Message;
import com.alibaba.dashscope.common.Role;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import io.reactivex.Flowable;
import java.lang.System;
import java.util.Arrays;

public class Main {
    private static StringBuilder reasoningContent = new StringBuilder();
    private static StringBuilder finalContent = new StringBuilder();
    private static boolean isFirstPrint = true;
    private static String requestId = "";
    private static void handleGenerationResult(GenerationResult message) {
        requestId = message.getRequestId();
        String reasoning = message.getOutput().getChoices().get(0).getMessage().getReasoningContent();
        String content = message.getOutput().getChoices().get(0).getMessage().getContent();
        if (reasoning != null && !reasoning.isEmpty()) {
            reasoningContent.append(reasoning);
            if (isFirstPrint) {
                System.out.println("====================Thinking Process====================");
                isFirstPrint = false;
            }
            System.out.print(reasoning);
        }
        if (content != null && !content.isEmpty()) {
            finalContent.append(content);
            if (!isFirstPrint) {
                System.out.println("\n====================Complete Response====================");
                isFirstPrint = true;
            }
            System.out.print(content);
        }
    }
    private static GenerationParam buildGenerationParam(Message userMsg) {
        return GenerationParam.builder()
                // If the environment variable is not configured, replace the following line with your Alibaba Cloud Model Studio API key: .apiKey("sk-xxx")
                .apiKey(System.getenv("DASHSCOPE_API_KEY"))
                .model("deepseek-v4-pro")
                .enableThinking(true)
                .incrementalOutput(true)
                .resultFormat("message")
                .messages(Arrays.asList(userMsg))
                .build();
    }
    public static void streamCallWithMessage(Generation gen, Message userMsg)
            throws NoApiKeyException, ApiException, InputRequiredException {
        GenerationParam param = buildGenerationParam(userMsg);
        Flowable<GenerationResult> result = gen.streamCall(param);
        result.blockingForEach(message -> handleGenerationResult(message));
    }
    public static void main(String[] args) {
        try {
            // Singapore region. Replace {WorkspaceId} with your Bailian workspace ID. URLs vary by region.
            Generation gen = new Generation("http", "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1");
            Message userMsg = Message.builder().role(Role.USER.getValue()).content("Who are you?").build();
            streamCallWithMessage(gen, userMsg);
            System.out.println("\nRequest ID: " + requestId);
        } catch (ApiException | NoApiKeyException | InputRequiredException e) {
            System.err.println("An exception occurred: " + e.getMessage());
        }
    }
}

Respuesta

====================Thinking Process====================
Okay, the user asked a very simple self-introduction question: "Who are you?".
I need to clarify my identity, introduce myself as DeepSeek in a concise and friendly way, mention my creator, basic features, and the help I can provide.
I can organize the answer like this: first, state my identity directly, mention I was created by the DeepSeek company, then list some key features (free, long context, file upload, etc.), and finally end with a friendly invitation, asking if I can help.
====================Complete Response====================
Hello! I am DeepSeek, an AI assistant created by the DeepSeek company.
I can help you answer various questions, create text, analyze documents, assist with programming, and more. My main features are that I am **free to use**, have a **super long context** (I can process the entire 'The Three-Body Problem' trilogy at once), and support **file uploads** and **web search** (must be enabled manually).
Is there anything I can help you with? Whether it's for study, work, or just a casual chat, I'm happy to talk with you!

HTTP

Código de ejemplo

curl

# Singapore region. Replace {WorkspaceId} with your Bailian workspace ID. URLs vary by region.
curl -X POST "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/text-generation/generation" \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-H "X-DashScope-SSE: enable" \
-d '{
    "model": "deepseek-v4-pro",
    "input":{
        "messages":[
            {
                "role": "user",
                "content": "Who are you?"
            }
        ]
    },
    "parameters":{
        "enable_thinking": true,
        "incremental_output": true,
        "result_format": "message"
    }
}'

Compatible con Anthropic

Autenticación: Pase su clave de API de Model Studio en el encabezado x-api-key o en el encabezado Authorization: Bearer. Para obtener detalles sobre parámetros como el modo de pensamiento, consulte Mensajes compatibles con Anthropic.

Python

Código de ejemplo

import anthropic
import os

client = anthropic.Anthropic(
    # If the environment variable is not configured, replace the value with your Model Studio API key: api_key="sk-xxx"
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    # When you make a call, replace {WorkspaceId} with your actual Workspace ID.
    base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/apps/anthropic",
)

message = client.messages.create(
    model="deepseek-v4-pro",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "Who are you?"}
    ],
    stream=True,
)

for event in message:
    if event.type == "content_block_delta":
        if hasattr(event.delta, "thinking"):
            print(event.delta.thinking, end="", flush=True)
        if hasattr(event.delta, "text"):
            print(event.delta.text, end="", flush=True)

HTTP

Código de ejemplo

curl

# Singapore region. Replace {WorkspaceId} with your Bailian workspace ID. URLs vary by region.
curl -X POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/apps/anthropic/v1/messages \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-H "anthropic-version: 2023-06-01" \
-d '{
    "model": "deepseek-v4-pro",
    "max_tokens": 1024,
    "messages": [
        {
            "role": "user",
            "content": "Who are you?"
        }
    ]
}'

Intensidad de inferencia (reasoning_effort)

Los modelos deepseek-v4.1-flash, deepseek-v4-pro, deepseek-v4-flash-0731 y deepseek-v4-pro-0813 tienen el modo de pensamiento habilitado de forma predeterminada. Puede ajustar la intensidad de inferencia mediante el parámetro reasoning_effort. Los valores válidos son low (admitido solo por deepseek-v4.1-flash, deepseek-v4-flash-0731 y deepseek-v4-pro-0813), high y max. El valor predeterminado es high.

NotaPara deepseek-v4-pro, low y medium producen el mismo comportamiento que high, y xhigh produce el mismo comportamiento que max. Para deepseek-v4.1-flash, minimal se asigna a low, medium y xhigh se asignan a high, y ultra se asigna a max.

Compatible con OpenAI

from openai import OpenAI
import os
client = OpenAI(
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    # China (Beijing) region. Replace {WorkspaceId} with your Bailian workspace ID. URLs vary by region.
    base_url="https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/compatible-mode/v1",
)
completion = client.chat.completions.create(
    model="deepseek-v4-pro",
    messages=[{"role": "user", "content": "Which is greater, 9.9 or 9.11?"}],
    reasoning_effort="high",
)
print(completion.choices[0].message.content)
import OpenAI from "openai";
const openai = new OpenAI({
    apiKey: process.env.DASHSCOPE_API_KEY,
    // China (Beijing) region. Replace {WorkspaceId} with your Bailian workspace ID. URLs vary by region.
    baseURL: "https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/compatible-mode/v1",
});
const completion = await openai.chat.completions.create({
    model: "deepseek-v4-pro",
    messages: [{ role: "user", content: "Which is greater, 9.9 or 9.11?" }],
    reasoning_effort: "high",
});
console.log(completion.choices[0].message.content);
# China (Beijing) region. Replace {WorkspaceId} with your Bailian workspace ID. URLs vary by region.
curl -X POST https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/compatible-mode/v1/chat/completions \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
    "model": "deepseek-v4-pro",
    "messages": [{"role": "user", "content": "Which is greater, 9.9 or 9.11?"}],
    "reasoning_effort": "high"
}'

DashScope

import os
import dashscope
from dashscope import Generation
# The following is the configuration for the China (Beijing) region. Replace {WorkspaceId} with your actual workspace ID when making a call. Configurations vary by region.
dashscope.base_http_api_url = "https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1"
response = Generation.call(
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    model="deepseek-v4-pro",
    messages=[{"role": "user", "content": "Which is greater, 9.9 or 9.11?"}],
    reasoning_effort="high",
    result_format="message",
)
print(response.output.choices[0].message.content)

API Responses

deepseek-v4.1-flash, deepseek-v4-flash-0731, deepseek-v4-pro y deepseek-v4-pro-0813 admiten llamadas a través de la Responses API compatible con OpenAI. Solo se admiten las regiones de China (Beijing) y Singapur. Para consultar los endpoints, véase Endpoints de servicio.

deepseek-v4.1-flash-1017 admite la Responses API en seis regiones: China (Pekín), Singapur, EE. UU. (Virginia), Alemania (Fráncfort), Japón (Tokio) y China (Hong Kong). Admite las tres herramientas integradas web_search, web_extractor y code_interpreter. Para obtener el base_url del SDK y los endpoints POST de las seis regiones, consulte la configuración de endpoints de la Responses API.

Al llamar a la Responses API, puede agregar las herramientas web_search (Búsqueda web), web_extractor (Extractor web) y code_interpreter (Intérprete de código) al parámetro tools.

Otras funciones

Modelo

Conversación multironda

Llamada a funciones

Caché de contexto

Salida estructurada

Completado de prefijo

deepseek-v4.1-flash-1017

Compatible

Compatible

Compatible (caché implícita)

JSON Object compatible; JSON Schema no compatible

No compatible

deepseek-v4.1-flash

Compatible

Compatible

Compatible

Compatible

No compatible

deepseek-v4-pro

Compatible

Compatible

Compatible

Compatible

No compatible

deepseek-v4-flash-0731

Compatible

Compatible

Compatible

Compatible

No compatible

Modelos destilados

Compatible

No compatible

No compatible

No compatible

No compatible

deepseek-v4.1-flash-1017 admite la API Chat Completions compatible con OpenAI, la API Anthropic Messages, razonamiento y búsqueda web; no admite llamadas por lotes ni ajuste fino.

Valores predeterminados de parámetros

Modelo

temperature

top_p

repetition_penalty

presence_penalty

max_tokens

thinking_budget

deepseek-v4.1-flash-1017

1.0

1.0

-

-

393,216

-

deepseek-v4.1-flash

1.0

1.0

-

-

393,216

-

deepseek-v4-pro

1.0

1.0

-

-

393,216 en total

deepseek-v4-flash-0731

1.0

1.0

-

-

393,216 en total

Versión destilada

0.6

0.95

-

1

16,384

16,384

  • Un guion (-) indica que el parámetro no tiene un valor predeterminado y no se puede configurar.
  • Los modelos destilados no admiten la configuración de estos valores de parámetro.
  • "393,216 en total" indica que para los modelos de la serie deepseek-v4, max_tokens y thinking_budget comparten el mismo límite, y su máximo combinado es de 393,216 tokens (la longitud máxima de salida del modelo).
  • Para las definiciones de parámetros, consulte Compatible con OpenAI - Chat.

Modelos y facturación

  • Modelos de pensamiento híbrido (use el parámetro enable_thinking para controlar el modo de pensamiento): deepseek-v4.1-flash, deepseek-v4-pro y deepseek-v4-flash-0731

deepseek-v4-pro destaca en programación, matemáticas y tareas generales. deepseek-v4-flash-0731 es rápido y rentable. Le recomendamos que priorice el uso de deepseek-v4-pro.

Para obtener información sobre la longitud del contexto del modelo y los precios, consulte la consola de Model Studio.

La facturación se basa en el número de tokens de entrada y salida.

En el modo de pensamiento, la cadena de pensamiento se factura como tokens de salida.

FAQ

¿Puedo subir imágenes o documentos para hacer preguntas?

deepseek-v4.1-flash y deepseek-v4.1-flash-1017 admiten entrada de texto e imágenes y salida solo de texto. Para otros modelos, consulte la página de información del modelo correspondiente para conocer las modalidades de entrada admitidas. Para entrada de imágenes, también puede utilizar el modelo Qwen-VL. Para entrada de documentos, utilice el modelo Qwen-Long.

¿Cómo puedo ver el uso de tokens y el número de llamadas?

Minutos después de que se produzca una llamada al modelo, podrá verla en los gráficos de monitoreo. Inicie sesión en la página de Model Monitoring. En el panel de navegación izquierdo, seleccione O&M Management > Model Monitoring para ingresar a la página de resumen de monitoreo. Establezca las condiciones de consulta (por ejemplo, seleccione el rango de tiempo, el espacio de trabajo, etc.), luego en el área de Modelos, busque el modelo objetivo y haga clic en View Details para ver las estadísticas de llamadas del modelo. Para más información, consulte el documento de Monitoreo de modelos.

Los datos de monitoreo se actualizan a nivel de minuto y son solo de referencia. No se utilizan como base de facturación.

Códigos de error

Si ocurre un error durante la ejecución, consulte Códigos de error para obtener una solución.