Saltar al contenido principal
DeepSeek es un sistema de conversación AI muy potente, que puede generar respuestas fluidas y naturales en cuestión de segundos al ingresar palabras clave. DeepSeek-V3 se destaca en la industria por su excepcional capacidad de comprensión y generación de lenguaje, y hoy en día, DeepSeek-V3 ya se utiliza ampliamente en diversas industrias y campos, su influencia es cada vez más notable. Ya sea en conversaciones diarias, escritura creativa, o consultas profesionales, programación de código, DeepSeek-V3 puede proporcionar una asistencia inteligente asombrosa, mejorando enormemente la eficiencia y creatividad del trabajo humano. Este documento describe principalmente el proceso de uso de la API de Finalización de Chat de DeepSeek, que nos permite utilizar fácilmente la función de conversación oficial de DeepSeek.

Proceso de Solicitud

Para usar la API de Finalización de Chat de DeepSeek, primero puedes ir a la página de API de Finalización de Chat de DeepSeek y hacer clic en el botón “Acquire” para obtener las credenciales necesarias para la solicitud: Si aún no has iniciado sesión o registrado, serás redirigido automáticamente a la página de inicio de sesión que te invita a registrarte e iniciar sesión, después de iniciar sesión o registrarte, serás devuelto automáticamente a la página actual. En la primera solicitud, se te otorgará un límite gratuito que te permitirá usar esta API de forma gratuita.

Uso Básico

A continuación, puedes completar el contenido correspondiente en la interfaz, como se muestra en la imagen:

En la primera vez que uses esta interfaz, necesitas completar al menos tres contenidos, uno es authorization, que puedes seleccionar directamente en la lista desplegable. El otro parámetro es model, model es la categoría del modelo que elegimos usar del sitio web de DeepSeek, aquí tenemos principalmente 4 tipos de modelos, los detalles se pueden ver en los modelos que proporcionamos. El último parámetro es messages, messages es un array de las palabras de pregunta que ingresamos, es un array que permite subir múltiples palabras de pregunta al mismo tiempo, cada palabra de pregunta contiene role y content, donde role indica el rol del preguntador, hemos proporcionado tres identidades: user, assistant, system. El otro content es el contenido específico de nuestra pregunta. También puedes notar que a la derecha hay un código de llamada correspondiente generado, puedes copiar el código y ejecutarlo directamente, o simplemente hacer clic en el botón “Try” para realizar pruebas. Parámetros opcionales comunes:
  • max_tokens: limita el número máximo de tokens en una sola respuesta.
  • temperature: genera aleatoriedad, entre 0-2, cuanto mayor sea el valor, más disperso será.
  • n: cuántas respuestas candidatas generar a la vez.
  • response_format: configuración del formato de respuesta.

Después de la llamada, encontramos que el resultado devuelto es el siguiente:
{
  "id": "chatcmpl-050bf20a-ebcd-498a-bf6e-63ee0738013b",
  "object": "chat.completion",
  "created": 1764846609,
  "model": "deepseek-v3.2-exp",
  "usage": {
    "prompt_tokens": 8,
    "completion_tokens": 11,
    "total_tokens": 19
  },
  "choices": [
    {
      "index": 0,
      "message": {
        "content": "¡Hola! 😊 ¿Cómo puedo ayudarte hoy?",
        "role": "assistant"
      },
      "refs": null,
      "logprobs": null,
      "finish_reason": "stop",
      "service_tier": null
    }
  ]
}
El resultado devuelto tiene varios campos, que se describen a continuación:
  • id, el ID de la tarea de conversación generada, utilizado para identificar de manera única esta tarea de conversación.
  • created, la información de tiempo de creación de esta tarea de conversación.
  • model, el modelo seleccionado del sitio web de DeepSeek.
  • choices, la información de respuesta proporcionada por DeepSeek para las palabras de pregunta.
  • usage: estadísticas de tokens para esta pregunta y respuesta.
Donde choices contiene la información de respuesta de DeepSeek, dentro de choices se puede encontrar la información de respuesta de DeepSeek, como se muestra en la imagen.

Se puede ver que el campo content dentro de choices contiene el contenido específico de la respuesta de DeepSeek.

Respuesta en Flujo

Esta interfaz también admite respuestas en flujo, lo cual es muy útil para la integración web, ya que permite que la página muestre el efecto de visualización palabra por palabra. Si deseas que la respuesta se devuelva en flujo, puedes cambiar el parámetro stream en el encabezado de la solicitud a true. El cambio se muestra en la imagen, pero el código de llamada necesita tener los cambios correspondientes para admitir respuestas en flujo.

Después de cambiar stream a true, la API devolverá los datos JSON correspondientes línea por línea, en el nivel de código necesitamos hacer los cambios necesarios para obtener los resultados línea por línea. Código de ejemplo de llamada en Python:
import requests

url = "https://api.acedata.cloud/deepseek/chat/completions"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "model": "deepseek-v3",
    "messages": [{"role":"user","content":"hello"}],
    "stream": True
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
El efecto de salida es el siguiente:
data: {"id": "o7X27b1-2kFHot-97098d957dd1d39a-PDX", "object": "chat.completion.chunk", "created": 1755437709, "model": "deepseek-v3", "system_fingerprint": null, "choices": [{"delta": {"content": "Hola", "role": "assistant"}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null}

data: {"id": "o7X27b1-2kFHot-97098d957dd1d39a-PDX", "object": "chat.completion.chunk", "created": 1755437709, "model": "deepseek-v3", "system_fingerprint": null, "choices": [{"delta": {"content": "!", "role": "assistant"}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null}

data: {"id": "o7X27b1-2kFHot-97098d957dd1d39a-PDX", "object": "chat.completion.chunk", "created": 1755437709, "model": "deepseek-v3", "system_fingerprint": null, "choices": [{"delta": {"content": "", "role": "assistant"}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null}

data: {"id": "o7X27b1-2kFHot-97098d957dd1d39a-PDX", "object": "chat.completion.chunk", "created": 1755437709, "model": "deepseek-v3", "system_fingerprint": null, "choices": [{"delta": {"content": " 😊", "role": "assistant"}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null}

data: {"id": "o7X27b1-2kFHot-97098d957dd1d39a-PDX", "object": "chat.completion.chunk", "created": 1755437709, "model": "deepseek-v3", "system_fingerprint": null, "choices": [{"delta": {"content": " Cómo", "role": "assistant"}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null}

data: {"id": "o7X27b1-2kFHot-97098d957dd1d39a-PDX", "object": "chat.completion.chunk", "created": 1755437709, "model": "deepseek-v3", "system_fingerprint": null, "choices": [{"delta": {"content": " puedo", "role": "assistant"}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null}

data: {"id": "o7X27b1-2kFHot-97098d957dd1d39a-PDX", "object": "chat.completion.chunk", "created": 1755437709, "model": "deepseek-v3", "system_fingerprint": null, "choices": [{"delta": {"content": " yo", "role": "assistant"}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null}

data: {"id": "o7X27b1-2kFHot-97098d957dd1d39a-PDX", "object": "chat.completion.chunk", "created": 1755437709, "model": "deepseek-v3", "system_fingerprint": null, "choices": [{"delta": {"content": " asistir", "role": "assistant"}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null}

data: {"id": "o7X27b1-2kFHot-97098d957dd1d39a-PDX", "object": "chat.completion.chunk", "created": 1755437709, "model": "deepseek-v3", "system_fingerprint": null, "choices": [{"delta": {"content": " a", "role": "assistant"}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null}

data: {"id": "o7X27b1-2kFHot-97098d957dd1d39a-PDX", "object": "chat.completion.chunk", "created": 1755437709, "model": "deepseek-v3", "system_fingerprint": null, "choices": [{"delta": {"content": " ti", "role": "assistant"}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null}

data: {"id": "o7X27b1-2kFHot-97098d957dd1d39a-PDX", "object": "chat.completion.chunk", "created": 1755437709, "model": "deepseek-v3", "system_fingerprint": null, "choices": [{"delta": {"content": " hoy", "role": "assistant"}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null}

data: {"id": "o7X27b1-2kFHot-97098d957dd1d39a-PDX", "object": "chat.completion.chunk", "created": 1755437709, "model": "deepseek-v3", "system_fingerprint": null, "choices": [{"delta": {"content": "?", "role": "assistant"}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null}

data: {"id": "o7X27b1-2kFHot-97098d957dd1d39a-PDX", "object": "chat.completion.chunk", "created": 1755437709, "model": "deepseek-v3", "system_fingerprint": null, "choices": [{"delta": {"content": "", "role": "assistant"}, "logprobs": null, "finish_reason": "stop", "index": 0}], "usage": {"prompt_tokens": 4, "completion_tokens": 12, "total_tokens": 16, "prompt_tokens_details": {"cached_tokens": 0, "text_tokens": 0, "audio_tokens": 0, "image_tokens": 0}, "completion_tokens_details": {"text_tokens": 0, "audio_tokens": 0, "reasoning_tokens": 0}, "input_tokens": 0, "output_tokens": 0, "input_tokens_details": null}}

data: [DONE]
Se puede ver que la respuesta contiene muchos data, donde data contiene el choices, que es el contenido de la respuesta más reciente, consistente con el contenido descrito anteriormente. choices es la información de respuesta proporcionada por DeepSeek para la palabra de pregunta. Al mismo tiempo, el final de la respuesta en flujo se determina según el contenido de data. Si el contenido es [DONE], significa que la respuesta en flujo ha terminado por completo. El resultado de data devuelto tiene varios campos, que se describen a continuación:
  • id, el ID que genera la tarea de conversación actual, utilizado para identificar de manera única esta tarea de conversación.
  • model, el modelo seleccionado del sitio web de DeepSeek.
  • choices, la información de respuesta que DeepSeek proporciona para la palabra de pregunta.
JavaScript también es compatible, por ejemplo, el código de llamada en flujo de Node.js es el siguiente:
const options = {
  method: "post",
  headers: {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
  },
  body: JSON.stringify({
    "model": "deepseek-v3",
    "messages": [{"role":"user","content":"hola"}],
    "stream": true
  })
};

fetch("https://api.acedata.cloud/deepseek/chat/completions", options)
  .then(response => response.json())
  .then(response => console.log(response))
  .catch(err => console.error(err));
Ejemplo de código en Java:
JSONObject jsonObject = new JSONObject();
jsonObject.put("model", "deepseek-v3");
jsonObject.put("messages", [{"role":"user","content":"hola"}]);
jsonObject.put("stream", true);
MediaType mediaType = "application/json; charset=utf-8".toMediaType();
RequestBody body = jsonObject.toString().toRequestBody(mediaType);
Request request = new Request.Builder()
  .url("https://api.acedata.cloud/deepseek/chat/completions")
  .post(body)
  .addHeader("accept", "application/json")
  .addHeader("authorization", "Bearer {token}")
  .addHeader("content-type", "application/json")
  .build();

OkHttpClient client = new OkHttpClient();
Response response = client.newCall(request).execute();
System.out.print(response.body!!.string())
Otros lenguajes pueden ser reescritos de manera diferente, el principio es el mismo.

Diálogo de múltiples rondas

Si desea integrar la función de diálogo de múltiples rondas, debe cargar múltiples palabras de pregunta en el campo messages, un ejemplo específico de múltiples palabras de pregunta se muestra en la imagen a continuación:

Código de ejemplo en Python:
import requests

url = "https://api.acedata.cloud/deepseek/chat/completions"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "model": "deepseek-v3",
    "messages": [{"role":"user","content":"Hola"},{"role":"assistant","content":"¡Hola! ¿Cómo puedo asistirte hoy?"},{"role":"user","content":"¿Qué dije justo ahora?"}]
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
Al subir múltiples preguntas, se puede lograr fácilmente un diálogo en varias rondas, obteniendo respuestas como la siguiente:
{
  "id": "as-8g3qzbsw2b",
  "object": "chat.completion",
  "created": 1755437895,
  "model": "deepseek-v3",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Tú dijiste:  \n\n**\"Hola\"**  \n\nY yo respondí con:  \n\n**\"¡Hola! ¿Cómo puedo asistirte hoy?\"**  \n\nLuego continuaste con:  \n\n**\"¿Qué dije justo ahora?\"**  \n\n¡Déjame saber cómo puedo ayudar! 😊"
      },
      "finish_reason": "stop",
      "flag": 0
    }
  ],
  "usage": {
    "prompt_tokens": 22,
    "completion_tokens": 57,
    "total_tokens": 79
  }
}
Se puede ver que la información contenida en choices es consistente con el contenido de uso básico, lo que incluye el contenido específico de la respuesta de DeepSeek a múltiples diálogos, permitiendo así responder a las preguntas correspondientes basadas en múltiples contenidos de diálogo.

Manejo de errores

Al llamar a la API, si se encuentra un error, la API devolverá el código de error y la información correspondiente. Por ejemplo:
  • 400 token_mismatched: Solicitud incorrecta, posiblemente debido a parámetros faltantes o inválidos.
  • 400 api_not_implemented: Solicitud incorrecta, posiblemente debido a parámetros faltantes o inválidos.
  • 401 invalid_token: No autorizado, token de autorización inválido o faltante.
  • 429 too_many_requests: Demasiadas solicitudes, has superado el límite de tasa.
  • 500 api_error: Error interno del servidor, algo salió mal en el servidor.

Ejemplo de respuesta de error

{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "la recuperación falló"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}

Conclusión

A través de este documento, has aprendido cómo utilizar la API de DeepSeek Chat Completion para implementar fácilmente la funcionalidad de conversación oficial de DeepSeek. Esperamos que este documento te ayude a integrar y utilizar mejor esta API. Si tienes alguna pregunta, no dudes en contactar a nuestro equipo de soporte técnico.