Cliente de API de OpenAI
A partir de la versión 2024 incorporamos una clase para poder usar fácilmente las APIs de OpenAi para generar texto (chatGPT), imágenes (dall-e) y audio (tts) mediante inteligencia artifical. Esta clase se llama OpenAi
y se encuentra en la carpeta Lib.
Para usar las APIs de OpenAI necesitas una clave de API, lo que está sujeto a un coste. Puedes consultar más detalles sobre los costes en la web de openai.com:
Cómo usar chatGPT
Podemos hacer una llamada a chatGPT para que nos responda cualquier pregunta. Para ello inicia la clase OpenAi y llama a su método chat()
pasándole un array con los mensajes de la conversación. Obtendrás una respuesta en string.
$mensajes = [];
$pregunta = '¿Qué es FacturaScripts?';
$respuesta = OpenAi::init('TU_CLAVE_API')
->setUserMessage($mensajes, $pregunta)
->chat($mensajes);
echo $respuesta; // FacturaScripts es un software de código abierto que se utiliza para la gestión empresarial ...
Versiones de chatGPT
Por defecto se usa el modelo gpt-4o-mini, que es el más rápido y barato. Pero puedes seleccionar otros modelos como GPT4 y GPT4-turbo con las funciones chatGpt4()
y chatGpt4turbo()
.
$mensajes = [];
$pregunta = '¿Qué es FacturaScripts?';
$respuesta = OpenAi::init('TU_CLAVE_API')
->setUserMessage($mensajes, $pregunta)
->chatGpt4($mensajes);
Cómo generar imágenes con IA
Podemos generar imágenes a partir de texto llamando a la función image()
de la clase OpenAi.
$image_path = OpenAi::init('TU_CLAVE_API')
->image('an illustration for an accounting software');
echo $image_path; // MyFiles/image_XXXXX.png (el archivo generado)
Versiones de dall-e
Por defecto se genera una imagen de 256x256 con el modelo dall-e-2. Podemos usar dall-e-3 llamando a la funnción dalle3()
:
$image_path = OpenAi::init('TU_CLAVE_API')
->dalle3('an illustration for an accounting software');
Tamaños de la imagen
Por defecto la imagen tiene una resolución de 256x256 para dall-e-2 y 1024x1024 para dall-e-3, pero podemos aumentar estos tamaños con los parámetros width
y height
de las funciones:
$image_path = OpenAi::init('TU_CLAVE_API')
->image('an illustration for an accounting software', 800, 800); // generamos una imagen de 800x800
Ten en cuenta que el modelo dall-e-2 solamente puede generar imágenes de 256x256, 512x512 o 1024x1024. Y el modelo dall-e-3 solamente 1024x1024, 1792x1024 y 1024x1792. Pero si pones otra resolución, FacturaScripts la redimensionará automáticamente:
$image_path = OpenAi::init('TU_CLAVE_API')
->dalle3('an illustration for an accounting software', 2048, 2048);
// se genera a 1024x1024 y después se redimensiona a 2048x2048
Cómo generar audio con IA
Podemos generar audio a partir de un texto llamando a la función audio()
de la clase OpenAi:
$audio_path = OpenAi::init('TU_CLAVE_API')
->audio('Esto es una prueba de audio generada mediante IA y almacenada en un archivo mp3');
echo $audio_path; // MyFiles/audio_XXX.mp3 (el archivo generado)
Voces disponibles
Por defecto se usa la voz alloy
, pero también tenemos disponibles las voces echo
, fable
, onyx
, nova
y shimmer
. Puedes seleccionar una voz con el segundo parámetro de la función audio()
:
$audio_path = OpenAi::init('TU_CLAVE_API')
->audio('Esto es una prueba de audio', 'nova'); // seleccionamos la voz nova
Formatos de audio
Por defecto se genera el audio en formato mp3
, pero también podemos generarlo en los formatos opus
, aac
y flac
. Solamente tienes que indicarlo en el tercer parámetro de la función audio()
:
$audio_path = OpenAi::init('TU_CLAVE_API')
->audio('Esto es una prueba de audio', 'alloy', 'aac'); // seleccionamos el formato aac