PHP e IA: Cómo hacer amigos a ChatGPT con tu código en PHP

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

PHP e IA: la revolución que ya está aquí

\n\n

¿Alguna vez soñaste con que tu sitio PHP escribiera artículos por sí mismo, respondiera preguntas de usuarios o ayudara a clientes con soporte técnico? Antes sonaba a ciencia ficción, pero hoy es una realidad al alcance de cualquier desarrollador. ChatGPT de OpenAI ha abierto nuevos horizontes para el desarrollo web en PHP, y en este artículo te mostraremos cómo usar este poder en tus proyectos.

\n\n

Olvídate de los aburridos formularios de contacto y las FAQ estáticas. Imagina: un usuario entra a tu sitio, hace una pregunta en lenguaje natural, tu script PHP envía una solicitud a ChatGPT, recibe una respuesta significativa y la muestra en tiempo real. O tu blog genera automáticamente textos SEO únicos y optimizados. ¿Suena genial? ¡Vamos allá!

\n\n

¿Qué necesitas para integrar ChatGPT en PHP?

\n\n

Antes de empezar a escribir código, revisemos las herramientas necesarias. Para trabajar con ChatGPT a través de PHP necesitarás:

\n\n
    \n
  • PHP 8.0+ (se recomienda 8.1 o superior para mejor soporte)
  • \n
  • cURL (incluido en la mayoría de las compilaciones de PHP)
  • \n
  • Clave API de OpenAI (se puede obtener en platform.openai.com)
  • \n
  • Composer (opcional, pero facilita la instalación de librerías)
  • \n
\n\n

La principal ventaja de PHP es que no necesitas frameworks complejos; la funcionalidad básica se puede implementar literalmente con unas pocas decenas de líneas de código. Y sí, PHP y ChatGPT combinan perfectamente, a pesar de que muchos consideran este lenguaje obsoleto.

\n\n

Conexión básica a la API de OpenAI en PHP

\n\n

Empecemos con lo más simple: enviar una solicitud a ChatGPT y obtener una respuesta. Aquí tienes un ejemplo funcional mínimo en PHP puro:

\n\n
<?php\n// Configuración\n$apiKey = 'sk-your-api-key-here';\n$apiUrl = 'https://api.openai.com/v1/chat/completions';\n\n// Datos de la solicitud\n$requestData = [\n    'model' => 'gpt-3.5-turbo',\n    'messages' => [\n        [\n            'role' => 'system',\n            'content' => 'Eres un asistente útil que ayuda a los usuarios.'\n        ],\n        [\n            'role' => 'user',\n            'content' => 'Cuéntame en dos palabras sobre PHP e IA.'\n        ]\n    ],\n    'max_tokens' => 200,\n    'temperature' => 0.7\n];\n\n// Inicialización de cURL\n$ch = curl_init($apiUrl);\ncurl_setopt($ch, CURLOPT_RETURNTRANSFER, true);\ncurl_setopt($ch, CURLOPT_POST, true);\ncurl_setopt($ch, CURLOPT_HTTPHEADER, [\n    'Content-Type: application/json',\n    'Authorization: Bearer ' . $apiKey\n]);\ncurl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($requestData));\n\n// Ejecución de la solicitud\n$response = curl_exec($ch);\n$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);\ncurl_close($ch);\n\n// Procesamiento de la respuesta\nif ($httpCode === 200) {\n    $result = json_decode($response, true);\n    $answer = $result['choices'][0]['message']['content'];\n    echo "Respuesta de ChatGPT: " . $answer;\n} else {\n    echo "Error: HTTP " . $httpCode;\n}\n?>
\n\n

Este código envía una solicitud al modelo GPT-3.5 Turbo y muestra la respuesta. Observa el parámetro temperature — controla la creatividad de las respuestas (0 — hechos estrictos, 1 — máxima imaginación).

\n\n

Mejorando el código con una librería

\n\n

Si usas Composer, recomiendo instalar la librería oficial de OpenAI para PHP:

\n\n
composer require openai-php/client
\n\n

Ejemplo con la librería:

\n\n
<?php\nrequire 'vendor/autoload.php';\n\n$client = OpenAI::client('sk-your-api-key-here');\n\n$response = $client->chat()->create([\n    'model' => 'gpt-3.5-turbo',\n    'messages' => [\n        ['role' => 'system', 'content' => 'Eres un experto en PHP.'],\n        ['role' => 'user', 'content' => '¿Cómo usar ChatGPT en PHP?']\n    ],\n]);\n\necho $response->choices[0]->message->content;\n?>
\n\n

Código con

Blogs

Book Recommendations