curso
DeepSeek API: Una guía con ejemplos y cálculos de costes
En este tutorial, te mostraré cómo configurar y utilizar la API de DeepSeek para que puedas integrarla en tus proyectos. Aprenderás:
- Modelos disponibles: deepseek-chat (V3) y deepseek-reasoner (R1), y cómo acceder a ellos mediante la API.
- Parámetros clave: Cómo controlar la producción del modelo y gestionar los precios.
- Fijación de precios en cadena: Cómo calcula DeepSeek los costes en función de la complejidad del razonamiento.
- Caché de contexto: Una forma inteligente de reducir costes al utilizar DeepSeek.
Al final, sabrás cómo utilizar DeepSeek manteniendo los costes bajos. ¡Empecemos!
Modelos DeepSeek
DeepSeek proporciona dos modelos principales que puedes utilizar a través de una API:
- DeepSeek-V3 (deepseek-chat): Un modelo generalista entrenado en una cantidad masiva de texto (15 billones de tokens).
- DeepSeek-R1 (deepseek-reasoner): Un modelo diseñado para tareas avanzadas de razonamiento, matemáticas y codificación.
Puedes obtener más información sobre la diferencia entre ambos modelos en este blog sobre DeepSeek R1 vs V3.
Perfeccionamiento en IA para principiantes
Cómo acceder a DeepSeek R1 y V3 a través de la API
Para acceder a los modelos de DeepSeek a través de la API:
- Consigue una clave API: Regístrate en la plataforma API de DeepSeek y genera tu clave.
- Utiliza el SDK (Kit de Desarrollo de Software) de OpenAI: Configura tu código para conectarte a la API de DeepSeek utilizando el SDK de OpenAI con la configuración correcta. Un SDK es una colección de herramientas, bibliotecas, documentación y ejemplos de código que te ayudan a crear aplicaciones para una plataforma, marco o API concretos. Un SDK de API (como el SDK de OpenAI) proporciona funciones listas para usar que facilitan las llamadas a la API, para que los desarrolladores no tengan que escribirlo todo desde cero.
Página de gestión de claves API de la plataforma API DeepSeek. Aquí puedes generar y gestionar tus claves API para acceder a los servicios de IA de DeepSeek. La clave API sólo es visible en el momento de la creación y debe almacenarse de forma segura; compartirla públicamente puede conllevar riesgos de seguridad.
Para utilizar DeepSeek-V3 tendrás que configurar model='deepseek-chat'
y para utilizar DeepSeek-R1 tendrás que configurar model='deepseek-reasoner'
.
A continuación te explicamos cómo puedes utilizar el SDK de OpenAI para acceder a la API de DeepSeek:
from openai import OpenAI
client = OpenAI(api_key="<DeepSeek API Key>", base_url="https://api.deepseek.com")
response = client.chat.completions.create(
model="deepseek-chat",
messages=[
{"role": "system", "content": "You are a helpful assistant"},
{"role": "user", "content": "Hello"},
],
stream=False
)
print(response.choices[0].message.content)
Veamos con más detalle lo que hace este trozo de código.
El objetivo del código es enviar un mensaje de chat al modelo DeepSeek e imprimir la respuesta del modelo.
En primer lugar, from openai import OpenAI
importa la clase OpenAI
de la biblioteca openai
.
A continuación, client = OpenAI(...)
crea un objeto cliente OpenAI
. Este cliente es tu conexión con la API de DeepSeek. Configura el cliente con tu clave API (autenticación) y especifica la URL base de la API de DeepSeek.
Importante: ¡Sustituye <Clave API DeepSeek> por tu clave API DeepSeek real!
response
es la parte que envía tu mensaje de chat al modelo de DeepSeek y obtiene la respuesta. client.chat.completions.create(...)
es llamar a la API de DeepSeek para obtener una respuesta del modelo.
Veamos messages=[...]
, que es la parte que define el historial de la conversación:
- Mensaje de sistema: {"rol": "sistema", "contenido": "Eres un ayudante servicial"}: Esto establece el comportamiento del modelo, indicándole que actúe como un ayudante servicial.
- Mensaje de usuario: {"rol": "usuario", "contenido": "Hola"}: Es la entrada real del usuario (tu pregunta) a la que debe responder la IA ("Hola").
Ten en cuenta que en este ejemplo estamos utilizando DeepSeek-V3 ya que hemos configurado model='deepseek-chat’
pero recuerda que puedes utilizar DeepSeek-R1 configurando model='deepseek-reasoner'
.
La parte stream=False
significa "Dame toda la respuesta de una vez". Básicamente, cuando estableces stream=False
, el modelo espera hasta haber generado toda la respuesta antes de enviarla de vuelta. Utilízalo si quieres visualizar o analizar la respuesta completa de una vez.
Sin embargo, puede que tengas que esperar un poco para recibir respuestas largas. Si configuras stream=True
, el modelo muestra las palabras (bueno, los tokens) a medida que se generan, para que veas la respuesta en tiempo real en lugar de esperar a la respuesta completa.
Por último, print(response.choices.message.content)
extrae la respuesta del modelo del objeto respuesta y la imprime en tu consola. El objeto respuesta contiene mucha información, pero lo que te interesa principalmente es el mensaje del modelo. A veces, la API puede devolver varias respuestas posibles (opciones). Selecciona la primera.
En el momento de publicar este artículo, DeepSeek ha dejado de añadir nuevos fondos a las cuentas API porque sus servidores se están quedando sin recursos. Eso significa que no puedes añadir más dinero a tu saldo API en este momento. Si ya tienes fondos, puedes seguir utilizando la API con normalidad. Es probable que DeepSeek reanude las recargas cuando tenga más capacidad de servidor, ¡así que estate atento a las actualizaciones!
Gestión de parámetros para controlar la producción y el precio
El equipo de DeepSeek afirma que sus modelos son más baratos que los de la competencia. Pero aún así tienes que utilizarlo con prudencia para mantener los costes bajos y obtener el mejor rendimiento. Éstas son las cosas clave que debes saber y tener en cuenta cuando utilices los modelos de DeepSeek para controlar la producción y los precios.
Elegir el modelo adecuado
Cada modelo de DeepSeek está diseñado para tareas diferentes. Elegir el adecuado puede ayudarte a equilibrar el coste y el rendimiento en función de tus necesidades. He aquí una rápida comparación:
- deepseek-chat (V3):Más barato, bueno para chatear y conversar en general.
- deepseek-reasoner (R1) →Más caro, pero estupendo para razonamientos complejos y tareas avanzadas.
Costes de las fichas
Las fichas son la unidad más pequeña de texto que procesa el modelo, que puede ser una palabra, un número o incluso un signo de puntuación. El número de fichas utilizadas depende de la lengua y de la forma en que el modelo procese el texto.
Aquí tienes una comparación general de cómo se convierten los caracteres en fichas:
- 1 carácter inglés ≈ 0,3 tokens (Una frase de 100 caracteres tendría unos 30 tokens).
- 1 carácter chino ≈ 0,6 fichas (Puesto que los caracteres chinos transmiten más significado por carácter).
Para obtener una estimación precisa, lo mejor es comprobar los detalles de uso después de ejecutar tu solicitud. Si entiendes cómo se cuentan los tokens, podrás gestionar mejor los costes y optimizar el rendimiento cuando utilices los modelos de DeepSeek.
Estos son los precios por 1 millón de tokens para cada uno de los modelos de DeepSeek (nota: estos eran los precios en el momento de publicar este artículo; comprueba los costes más recientes aquí):
Modelo |
Longitud del contexto |
Máximo de fichas de cuna |
Máx. fichas de salida |
Precio de entrada de 1m de fichas (golpe en caché) |
Precio de entrada de 1m de fichas (fallo de caché) |
Precio de salida de 1 millón de fichas |
deepseek-chat |
64k |
- |
8k |
$0.07 |
$0.27 |
$1.10 |
deepseek-reasoner |
64k |
32k |
8k |
$0.14 |
$0.55 |
$2.19 |
Como ya hemos dicho, DeepSeek ofrece dos modelos, deepseek-chat y deepseek-reasoner. Pero cada uno tiene sus ventajas y sus costes. Saber cómo procesan la información y cobran las fichas puede ayudarte a utilizarlas de forma más eficiente y a mantener los costes bajo control.
Ambos modelos pueden manejar hasta 64.000 tokens en una conversación, lo que significa que recuerdan más contexto para dar respuestas mejores y más relevantes. Sin embargo, funcionan de forma diferente.
Deepseek-chat está diseñado para conversaciones generales y no utiliza razonamientos avanzados. Deepseek-reasoner, en cambio, permite hasta 32.000 fichas para pensar paso a paso (razonamiento en cadena; hablaremos de esto más adelante) antes de dar una respuesta final. Esto lo hace estupendo para resolver problemas complejos, pero también aumenta el número de fichas utilizadas, y esto significa mayores costes.
En cuanto a la longitud de la respuesta, ambos modelos pueden generar hasta 8.000 tokens por respuesta. Este límite ayuda a evitar que las respuestas sean demasiado largas y costosas.
Si miramos los precios, deepseek-chat es la opción más económica. Si la entrada está en caché (es decir, se ha utilizado antes), cuesta 0,07 $ por millón de tokens. Para una nueva entrada, el precio sube a 0,27 $ por millón de fichas, y la salida cuesta 1,10 $ por millón de fichas.
Deepseek-reasoner es más caro porque proporciona un razonamiento más profundo. La entrada en caché cuesta 0,14 $ por millón de tokens, mientras que la entrada nueva cuesta 0,55 $ por millón de tokens. Su producción también es más cara, a 2,19 $ por millón de fichas, lo que refleja la complejidad de las respuestas que genera.
Entonces, ¿qué modelo debes utilizar?
Si necesitas respuestas de chat sencillas o respuestas rápidas, deepseek-chat es la mejor opción porque es más barato. Pero si necesitas un razonamiento detallado o la resolución de problemas complejos, deepseek-reasoner es más potente, aunque cuesta más.
Para ahorrar dinero, también puedes utilizar la caché. Cuando el modelo reconoce una entrada que ha visto antes, cobra una tarifa más baja. Esto es realmente útil para consultas repetidas o conversaciones de varios turnos.
Los modelos DeepSeek tienen un precio competitivo, pero el uso de fichas puede acumularse rápidamente. La mejor forma de gestionar los costes es mantener los avisos cortos, utilizar la memoria caché cuando sea posible y elegir el modelo adecuado para el trabajo. Para saber más, lee este blog sobre optimización rápida.
El parámetro de temperatura
El parámetro de temperatura controla lo aleatorias o predecibles que son las respuestas del modelo. Por defecto, en DeepSeek está fijado en 1,0, lo que significa que las respuestas están equilibradas entre ser creativas y deterministas. Sin embargo, puedes ajustar esta configuración en función de tus necesidades específicas.
DeepSeek ofrece las siguientes recomendaciones para diferentes casos de uso:
Caso práctico |
Temperatura recomendada |
Programación / Matemáticas |
0,0 (Determinista, preciso) |
Limpieza de datos / Análisis de datos |
1,0 (Respuestas equilibradas) |
Conversación general |
1,3 (Más variedad en las respuestas) |
Traducción |
1.3 (Permite flexibilidad en la redacción) |
Escritura creativa / Poesía |
1,5 (Fomenta la producción diversa e imaginativa) |
Una temperatura baja (cercana a 0,0) hace que el modelo sea más predecible y preciso. Es ideal para tareas que requieren respuestas precisas, como codificación, matemáticas y análisis de datos estructurados.
Una temperatura más alta (por encima de 1,0) hace que el modelo sea más creativo y variado, adecuado para narraciones, poesía y traducciones en las que se necesita flexibilidad.
Para conversaciones generales, una temperatura en torno a 1,3 ayuda a producir un diálogo natural y atractivo, sin ser demasiado repetitivo ni excesivamente aleatorio.
Aunque el ajuste de la temperatura en sí no afecta directamente a los costes, puede aumentar indirectamente el número de fichas de salida:
- Las temperaturas más altas pueden dar lugar a respuestas más largas y variadas, lo que significa que se generan más fichas, con el consiguiente aumento de costes.
- Las temperaturas más bajas suelen dar lugar a respuestas más cortas y directas, lo que reduce el uso de fichas y mantiene los costes más bajos.
Formato de respuesta
Al interactuar con la API de DeepSeek, puedes controlar el formato de las respuestas especificando el parámetro response_format
. Esto es especialmente útil cuando se trabaja con datos estructurados, ya que ayuda a garantizar la coherencia y legibilidad de los resultados del modelo.
Para recibir respuestas en formato JSON, establece:
response_format={'type': 'json_object'}
Esto indica al modelo que devuelva salida estructuradapara que sea más fácil procesar la información mediante programación. El formato JSON se utiliza habitualmente en aplicaciones que requieren respuestas estructuradas y legibles por máquinas, como la extracción de datos, la automatización y las integraciones API.
Aunque el formato JSON no repercute directamente en el precio, puede reducir indirectamente los costes en ciertos casos.
- Respuestas más concisas: Dado que las respuestas JSON siguen un formato estructurado, tienden a ser más compactas, utilizando potencialmente menos tokens que las respuestas de texto libre.
- Precisión mejorada: Si solicitas explícitamente una salida estructurada, minimizas el riesgo de explicaciones largas e innecesarias, ayudando a controlar el uso de tokens.
Comprender la cadena de pensamiento (CdT) y sus costes
CoT es el proceso de razonamiento por el que pasa DeepSeek-R1 antes de dar una respuesta final. Esto significa que el modelo explica su proceso de pensamiento paso a paso antes de llegar a una conclusión.
Cada token utilizado en el razonamiento CoT y en la respuesta final se cobra a 2,19 $ por millón de tokens, ya que forma parte del resultado. Es un poco una compensación; más fichas CoT = más coste, pero también mayor precisión en tareas complejas.
¿Qué puedes hacer para controlar los costes utilizando CoT?
- Utiliza indicaciones claras: Pide razonamientos breves pero eficaces en lugar de largas explicaciones.
- Rastrea el uso de tokens: Vigila cuántas fichas utiliza CoT frente a la respuesta final.
- Elige el modelo adecuado: Para preguntas más sencillas, considera la posibilidad de utilizar deepseek-chat, que es más barato. Sin embargo, en este caso no hay CoT.
- Utiliza la memoria caché: Si se hacen preguntas similares repetidamente, el almacenamiento en caché puede reducir los costes de los tokens de entrada.
Ejemplo: Aviso no optimizado
Para ilustrar cómo funciona la salida de la Cadena de Pensamiento (CoT) en DeepSeek-R1 y su impacto en la fijación de precios, veamos un ejemplo:
from openai import OpenAI
client = OpenAI(
api_key="<Your_DeepSeek_API_Key>",
base_url="https://api.deepseek.com"
)
def generate_response(prompt):
response = client.chat.completions.create(
model="deepseek-reasoner",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": prompt}
],
stream=False
)
return response.choices[0].message.content
# Example usage
prompt = "Calculate the area of a triangle with a base of 6 cm and a height of 4 cm."
result = generate_response(prompt)
print(result)
CoT:
Okay, so I need to find the area of a triangle with a base of 6 cm and a height of 4 cm. Hmm, let me remember how to do this. I think the formula for the area of a triangle is something like base multiplied by height divided by two. Wait, is that right? Let me think.
When I was in math class, the teacher mentioned that a triangle is basically half of a parallelogram. So if you have a parallelogram, its area is base times height. If you cut it along the diagonal, you get two triangles. That means each triangle would have half the area of the parallelogram. So yes, the formula should be (base × height) / 2. That makes sense. Let me write that down to visualize it better.
Area = (base × height) / 2
Given the base is 6 cm and the height is 4 cm, I can substitute those values into the formula. Let me plug them in step by step.
First, multiply the base and the height: 6 cm × 4 cm. Let me calculate that. 6 times 4 is 24. So that gives me 24 cm². Now, divide that result by 2. So 24 divided by 2 is 12. Therefore, the area should be 12 cm².
Wait, let me verify that. If the base was 6 and the height 4, multiplying them gives the area of the corresponding parallelogram, which would be 24 cm². Then, since the triangle is half of that, dividing by 2 gives 12 cm². Yes, that seems correct.
Is there another way to check this? Maybe using a different method? Let's see. For a triangle, the area can also be calculated using Heron's formula, but that requires knowing all three sides. Since I only have the base and height, that might not apply here. Alternatively, if it's a right-angled triangle, the area would be (1/2)*base*height, which is the same formula. But even if it's not a right-angled triangle, the formula still applies because the height is given. The height is the perpendicular distance from the base to the opposite vertex, so regardless of the triangle's type, as long as we know the base and the corresponding height, the formula works.
Let me draw a mental picture. Imagine a triangle where the base is 6 cm. The height is 4 cm, which means if I were to drop a perpendicular line from the top vertex to the base, that line would measure 4 cm. So, even if the triangle is slanted, that vertical height is still 4 cm. Multiplying base and height gives the area of the parallelogram, so dividing by two gives the triangle's area.
Another way to think about it: If I have two identical triangles, I can put them together to form a parallelogram. The area of that parallelogram is base times height, so each triangle is half of that. Therefore, the area of one triangle is 1/2 * base * height.
So, plugging the numbers in again: 1/2 * 6 cm * 4 cm. 1/2 of 6 is 3, and 3 times 4 is 12. Yep, 12 cm².
I think that's solid. Let me check with an example. Suppose the base was 2 cm and the height 3 cm. Then the area would be (2*3)/2 = 3 cm². If I draw such a triangle, it should have an area of 3 cm², which seems right. So scaling up, with a base of 6 and height of 4, the area is proportionally larger.
Alternatively, if I consider a rectangle with the same base and height, area would be 6*4=24 cm². The triangle is half of that, so 12 cm². That also checks out.
Wait, but hold on. If the triangle isn't a right triangle, does the formula still hold? Let's think. If I have an obtuse triangle where the height is outside the triangle, does that affect the area? For example, suppose the base is 6 cm, but the height is measured from the base to a vertex that's outside the triangle, making an obtuse triangle. Even in that case, the area is still (base*height)/2. Because the height is the perpendicular distance regardless of where it's located. So even if the triangle is obtuse, the formula remains the same. Therefore, regardless of the triangle type, as long as the height is given, the formula applies.
Therefore, using 6 cm and 4 cm, multiplying them, dividing by two, gives 12 cm². That seems to be the correct answer. I can't see any mistakes in the reasoning.
Let me just recap. The formula for the area of a triangle is 1/2 multiplied by base multiplied by height. Given base = 6 cm, height = 4 cm. Plugging into the formula: 1/2 * 6 * 4 = 12. The units are in centimeters, and since area is in square units, the answer is 12 cm².
Yes, that all lines up. I think I've got it right. The area is 12 square centimeters.
Respuesta final:
The area of the triangle is 12 cm².
To calculate the area of a triangle with a base of 6 cm and a height of 4 cm, we use the standard formula:
Area=1/2×base×height
Step-by-Step Calculation
Multiply the base and height: 6 cm×4 cm=24 cm²Divide the result by 2: 24 cm²/ 2=12 cm²Final Answer: 12 cm²
Thus, the area of the triangle is 12 cm².
Cálculo de costes
- Fichas utilizadas = 1165 aproximadamente
- Coste por millón de fichas = $2.19
- Convierte fichas en millones: 1165 fichas÷1.000.000=0,001165 millones de fichas
- Multiplica por el coste por millón de fichas: 0.001165×2.19=0.002551350.
- Coste final ≈ 0,00255 $ (redondeado a cinco decimales)
Ejemplo: Aviso optimizado
Ahora, vamos a refinar la consulta y a ver cómo cambia la salida:
Prompt: "Área del triángulo: base 6 cm, altura 4 cm. Mostrar sólo fórmula y resultado"
CoT:
Okay, so I need to find the area of a triangle with a base of 6 cm and a height of 4 cm. Hmm, let me remember the formula for the area of a triangle. I think it's something like base multiplied by height divided by two. Wait, yeah, right, because a triangle is basically half of a parallelogram, right? So if you have a parallelogram, the area is base times height, and then a triangle would be half of that. So the formula should be (base * height) / 2.
Let me double-check that. Maybe I can visualize a triangle with base 6 and height 4. If I had another identical triangle, I could put them together to form a parallelogram. The base would still be 6, the height would still be 4, so the area of the parallelogram would be 6*4=24. Then the area of one triangle would be half of that, which is 12. So that makes sense.
Alternatively, I remember in school they taught us the formula as A = 1/2 * b * h. So plugging in the values, it should be 1/2 * 6 cm * 4 cm. Let me calculate that. 1/2 of 6 is 3, then 3 times 4 is 12. So the area should be 12 cm².
Wait, but just to be thorough, let me make sure there aren't any other formulas that could apply here. For example, Heron's formula requires the lengths of all three sides, but I only have the base and height here. So Heron's formula isn't necessary. Since we have the base and height given directly, using the standard area formula is the way to go.
Also, units: the base is in centimeters, the height is in centimeters, so when multiplying, the area will be in square centimeters. That checks out.
Another thing to consider: is the height corresponding to the given base? The problem states "base 6 cm, height 4 cm," so yes, they correspond. If the height was relative to a different side, it might complicate things, but here it's specified for the base. So no issues there.
I think that's all. The formula is correct, the calculation seems right. 6 times 4 is 24, divided by 2 is 12. So the area is 12 square centimeters.
Respuesta final:
The area of the triangle is calculated using the formula: Area=1/2×base×height
Substituting the given values: Area=1/2×6 cm ×4 cm = 12 cm²
Result: 12 cm²
Cálculo de costes
- Fichas utilizadas = 496 aproximadamente
- Coste por millón de fichas = $2.19
- Convierte fichas en millones: 496 fichas÷1.000.000=0,000496 millones de fichas
- Multiplica por el coste por millón de fichas: 0.000496×2.19=0.001086240.
- Coste final ≈ 0,00109 $ (redondeado a cinco decimales)
Cuadro comparativo de costes finales
La siguiente tabla muestra cómo afecta el número de tokens utilizados al coste total de una llamada a la API:
Ejemplo |
Fichas utilizadas |
Coste (USD) |
Pregunta no optimizada |
1165 |
$0.00255 |
Aviso optimizado |
496 |
$0.00109 |
Redujimos los costes alrededor de un 57% en comparación con el original con la indicación optimizada, sin dejar de obtener la respuesta correcta.
Cómo utilizar el caché contextual de DeepSeek para reducir costes
De la tabla de precios que hemos visto en la sección Costes de los tokens, podemos concluir que el almacenamiento en caché nos ahorra aproximadamente un 74,07% en costes de API para deepseek-chat y un 74,55% para deepseek-reasoner en comparación con el coste de procesar nuevos tokens de entrada (no almacenados en caché). Esto significa que el uso eficaz de la memoria caché puede reducir los costes de los tokens de entrada en casi tres cuartas partes.
Es especialmente útil para peticiones largas, ya que reduce el tiempo de espera. Además, el sistema gestiona automáticamente el almacenamiento en caché, sin necesidad de cambiar tu código.
Pero, ¿cómo funciona la caché contextual?
Cuando envías una solicitud, DeepSeek almacena la entrada en sus servidores. Si envías una solicitud similar más tarde, el sistema recupera la respuesta almacenada en lugar de recalcularlo todo. Esto hace que el proceso sea más rápido y barato.
¿Cuándo es más útil el almacenamiento en caché?
El almacenamiento en caché puede ser útil y reducir costes en las siguientes situaciones:
- Conversaciones multigiro: Los chatbots pueden reutilizar respuestas anteriores, lo que reduciría los costes.
- Análisis de datos: Las consultas repetidas sobre los mismos archivos se benefician de las respuestas almacenadas en caché.
- Asistentes de preguntas y respuestas: Las instrucciones largas al inicio de las conversaciones pueden almacenarse en caché.
- Juegos de rol y aplicaciones interactivas: Los ajustes de los personajes y los diálogos largos no necesitan recalcularse.
- Análisis de código: Hacer referencia a los mismos archivos de código varias veces ahorra tokens.
- Aprendizaje de pocos disparos: Si estás alimentando el modelo con ejemplos, el almacenamiento en caché puede reducir los costes.
Cómo maximizar el ahorro de costes
Para maximizar el ahorro de costes, esto es lo que yo recomendaría:
- Mantén el texto reutilizado al principio: La API sólo almacena en caché el inicio de las entradas.
- Utiliza entradas similares: Evita cambiar demasiado los avisos si quieres golpear la memoria caché.
- Diseño para la repetición: Estructura tus peticiones para reutilizar tanto contenido en caché como sea posible.
Cómo hacer un seguimiento del uso de tu caché
Para hacer un seguimiento del uso de tu caché con la API de DeepSeek, no necesitas modificar tu código. La información sobre el uso de la caché se incluye automáticamente en la respuesta de la API. El sistema de caché está activado por defecto para todos los usuarios. Cuando realices una llamada a la API, el objeto de respuesta incluirá dos nuevos campos en la sección usage
:
prompt_cache_hit_tokens
: Número de tokens de entrada servidos desde la cachéprompt_cache_miss_tokens
: Número de tokens de entrada no encontrados en la caché
Para acceder a esta información, tienes que comprobar el campo usage
de la respuesta de la API. Aquí tienes un ejemplo de cómo puedes acceder a estos valores en:
response = client.chat.completions.create(
model="deepseek-chat",
messages=[
{"role": "user", "content": "You are a helpful assistant."}
]
)
cache_hits = response.usage.prompt_cache_hit_tokens
cache_misses = response.usage.prompt_cache_miss_tokens
print(f"Cache hits: {cache_hits}")
print(f"Cache misses: {cache_misses}")
Esta función te permite controlar cómo funciona el sistema de caché para tu caso de uso.
Sin embargo, el almacenamiento en caché tiene algunas limitaciones:
- Tamaño mínimo de la caché: El sistema sólo almacena en caché trozos de texto de 64 tokens o más. Las entradas más cortas no se almacenarán.
- No es 100% fiable: El sistema no garantiza que todas las peticiones lleguen a la caché.
- La caché caduca con el tiempo: Si no se utiliza, el contenido almacenado en caché se borra automáticamente al cabo de unas horas o días.
Para saber más, lee este blog sobre caché rápida.
Conclusión
En este tutorial, hemos aprendido a utilizar la API DeepSeek y sus dos modelos, DeepSeek-R1 y V3. Si entiendes cómo funcionan estos modelos, podrás crear aplicaciones de IA inteligentes y rentables.
Echa un vistazo a la última documentación de DeepSeek y las mejores prácticas para aprovechar al máximo estos potentes modelos.
¡Feliz codificación!
Ana Rojo Echeburúa es especialista en IA y datos y doctora en Matemáticas Aplicadas. Le encanta convertir los datos en información práctica y tiene una amplia experiencia dirigiendo equipos técnicos. A Ana le gusta trabajar en estrecha colaboración con los clientes para resolver sus problemas empresariales y crear soluciones innovadoras de IA. Conocida por su capacidad para resolver problemas y su claridad de comunicación, es una apasionada de la IA, especialmente de la IA generativa. Ana se dedica al aprendizaje continuo y al desarrollo ético de la IA, así como a simplificar problemas complejos y explicar la tecnología de forma accesible.
Aprende IA con estos cursos
curso
Developing AI Systems with the OpenAI API
curso
Introduction to Embeddings with the OpenAI API

blog
Cinco proyectos que puedes crear con modelos de IA generativa (con ejemplos)
tutorial
Tutorial de DeepSeek-Coder-V2: Ejemplos, instalación, puntos de referencia

Dimitri Didmanidze
8 min
tutorial
Tutorial de DeepChecks: Automatizar las pruebas de aprendizaje automático
tutorial
Tutorial de la API de OpenAI Assistants
tutorial
Cursor AI: Una guía con 10 ejemplos prácticos

François Aubry
10 min
tutorial