por: María de los Ángeles Giménez
Debemos comprender que el coste de utilizar la API de OpenAI es complejo. Aunque terminaremos con una fórmula para el cálculo del coste, todo depende de lo siguiente:
– Si tenemos créditos libres
– El modelo que utilizamos
– Si utilizamos voz, imagen o texto
– El tipo de respuesta
– Si utilizamos un asistente o no
Además, debes saber que la fórmula se basa en fichas, no en palabras. Aunque añadiré una forma sencilla de transformar palabras en tokens, esta transformación depende del idioma y de los caracteres especiales del texto.
El coste contiene dos partes: el texto de entrada y el texto de salida. Para los costes totales, necesitas que esté presente el texto de salida, que podría cambiar en función de la precisión del modelo y del tipo de respuesta. Si pides una respuesta JSON, no es lo mismo que el texto sin formato.
Calcula los tokens de las palabras
Para mayor precisión, se recomienda utilizar la biblioteca “tiktoken”, pero también podrías hacerlo a mano.
Cómo calcular a mano
En general, cuatro caracteres corresponden a un token en texto inglés (si utilizas otro idioma con caracteres especiales o alfabetos no latinos, el recuento podría diferir). Las palabras comunes y los signos de puntuación suelen tener una ficha cada uno.
Por ejemplo, la frase “Los modelos de OpenAI son potentes herramientas para el procesamiento del lenguaje natural” tiene nueve palabras y 60 caracteres (los espacios no cuentan), lo que equivale aproximadamente a unos 15 tokens.
Utilizar la biblioteca “tiktoken”
Aunque podríamos utilizar la API de OpenAI para contar los tokens de una frase, no es recomendable debido a sus costes. Para utilizar esta biblioteca, necesitamos conocer la codificación del modelo. Generalmente, utilizamos “cl100k_base” para GPT 3.5 o 4.
Cuando ejecutamos este script en Python, podemos ver que el número de tokens es 12.
Como vemos, es más precisa que la aproximación manual, pero requiere algunos conocimientos de programación.
Calcula el coste
El primer paso para calcular el coste es determinar qué modelo utilizar. Cada modelo tiene un coste diferente por 1000 fichas y un precio diferente para la entrada y la salida.
Utilizaré el GPT-4o como ejemplo porque es el modelo nuevo, pero todos los modelos utilizan la misma fórmula, lo único que cambia es el coste.
Si vamos a la página de precios de OpenAI, podemos ver que el coste de la GPT-4o es de 0,005 $ por 1000 tokens de entrada y 0,0015 $ por 1000 tokens de salida.
El segundo paso es calcular los tokens de la solicitud enviada a la llamada a la API y la respuesta que recibimos.
Consideraremos que nuestro prompt contiene 500 tokens y la respuesta o salida contiene 300 tokens.
La fórmula que debemos utilizar para calcular el coste del input o del output es:
En nuestro caso hipotético, el coste de los insumos será:
El coste de la salida será:
El coste total será la suma de estos dos costes:
Esto es sólo para una llamada a la API de texto. Simple texto sin formato.
¿Qué ocurre si utilizamos la voz para hacer preguntas a la API?
Si queremos que la voz de la API pregunte y responda, tenemos que añadir un nuevo paso al cálculo. A partir de la voz, la API cambia internamente el audio a texto, luego responde a la pregunta y transforma el texto generado en audio. Estas dos transformaciones también tienen un coste, por lo que debemos sumar estos costes al coste total.
La transformación de audio a texto cuesta 0,006 $ por minuto en la entrada. Así, si utilizamos nuestro ejemplo de audio de 1 minuto, el coste será de 0,006$ para pasar el audio a texto.
En el caso de la respuesta en audio, la conversión es por carácter. La tarifa en este caso es de 0,015 $ por cada 1000 caracteres.
Si utilizamos nuestro ejemplo anterior, el coste será de (considerando que un minuto de audio se transforma en 500 tokens para la entrada y la respuesta es de 300 tokens o 1200 caracteres):
Así que, utilizando estos valores en el ejemplo siguiente, el coste final será 0,006 $ (COSTE ENTRADA AUDIO) + 0,0025 $ (COSTE ENTRADA TEXTO) + 0,0045 $ (COSTE SALIDA TEXTO) + 0,018 $ (COSTE SALIDA AUDIO) = 0,031 $.
¿Qué ocurre con las imágenes?
El precio está en la página OpenAI. El coste es por imagen, y el precio depende de la resolución y del modelo que utilicemos.
Cuando hablamos de utilizar la API de OpenAI, también debemos tener en cuenta otros costes, como el plan de suscripción, la consulta legal para los costes de cumplimiento, la atención al cliente o la actualización del límite de la tarifa de la API.
Utiliza esta fórmula para hacer una estimación aproximada del coste, pero no te fíes de ella para calcular el coste real.