Conectando con OpenAI GPT3 usando PHP

Una de las personas que más admiro del ecosistema Laravel es Nuno Maduro. Me parece impresionante la cantidad de cosas que hace y la pasión que le echa al desarrollo.

En los últimos meses ha habido mucho ruido alrededor de OpenAI y GPT-3. En los proyectos en los que trabajé con estas tecnologías siempre tuve que conectarme a través de API, pero Nuno creó un paquete "muy Laravel" para conectarnos con OpenAI de forma sencilla. Para usarlo solamente tenemos que instalarlo:

composer require openai-php/client

Ahora, en nuestro fichero .env:

OPENAI_TOKEN="your openai token"

Luego, añadimos lo siguiente en nuestro fichero config/services.php:

<?php
return [
	// ...
    'openai' => [
    	'token' => env('OPENAI_TOKEN'),
    ],
];

Una vez tenemos esto configurado, ya podemos conectarnos con OpenAI de la siguiente forma:

$client = OpenAI::client(config('services.openai.token'));

$result = $client->completions()->create([
    'model' => 'davinci',
    'prompt' => 'PHP is',
]);

echo $result['choices'][0]['text']; // an open-source, widely-used, server-side scripting language.

En la documentación del paquete tenemos mucha más info sobre la cantidad de cosas que se pueden hacer con la API, aunque la más típica que usaremos es la API de completions para prompts text2text.