Explorando la Interacción con OpenAI en PHP: Generación de Texto Potenciada por la IA
Estas funciones están diseñadas para interactuar con la API de OpenAI en php y obtener respuestas generadas por modelos de lenguaje de OpenAI. Aquí tienes una descripción detallada de cada una de estas funciones:
- promt_chat($txt):
- Esta función toma un texto (
$txt
) como entrada y utiliza el modelo de lenguaje GPT-4 de OpenAI para generar una respuesta de chat. - La función crea un arreglo de datos (
$data
) que incluye el modelo ("gpt-4"
), un mensaje de sistema («You are a helpful assistant»), y el mensaje del usuario ($txt
). - También establece parámetros como la temperatura (
0.7
), el límite máximo de tokens (256
), y penalidades de frecuencia y presencia en cero. - Luego, convierte los datos en formato JSON y realiza una solicitud a la API de OpenAI utilizando la función
consulta_api
. - Finalmente, devuelve la respuesta generada por el modelo de lenguaje.
- Mas información en https://platform.openai.com/docs/guides/gpt?lang=python
function promt_chat($txt)
{
$url_openai = "https://api.openai.com/v1/chat/completions";
$data = array(
"model" => "gpt-4",
"messages" => array(
array(
"role" => "system",
"content" => "You are a helpful assistant."
),
array(
"role" => "user",
"content" => $txt
)
),
"temperature" => 0.7,
"max_tokens" => 256,
"top_p" => 1,
"frequency_penalty" => 0,
"presence_penalty" => 0,
);
$data = json_encode($data);
$response = consulta_api($data);
return $response;
}
- promt($txt):
- Esta función toma un texto (
$txt
) como entrada y utiliza el modelo de lenguaje «text-davinci-003» de OpenAI para generar una respuesta. - Al igual que la función anterior, crea un arreglo de datos (
$data
) con el modelo ("text-davinci-003"
), el texto de la solicitud ($txt
), y otros parámetros como temperatura, límite de tokens y penalidades. - Luego, convierte los datos en formato JSON y realiza una solicitud a la API de OpenAI utilizando la función
consulta_api
. - Finalmente, devuelve la respuesta generada por el modelo de lenguaje.
function promt($txt)
{
$url_openai="https://api.openai.com/v1/completions"
$data = array(
"model" => "text-davinci-003",
"prompt" => $txt,
"temperature" => 0.7,
"max_tokens" => 256,
"top_p" => 1,
"frequency_penalty" => 0,
"presence_penalty" => 0,
);
$data = json_encode($data);
$response = consulta_api($data);
return $response;
}
- consulta_api($data):
- Esta función se encarga de hacer la llamada a la API de OpenAI.
- Toma los datos en formato JSON (
$data
) como entrada, que incluye toda la información necesaria para la solicitud, como el modelo, la temperatura, etc. - Configura las cabeceras de la solicitud, que incluyen el tipo de contenido y la clave de API de OpenAI.
- Luego, utiliza cURL para realizar la solicitud POST a la URL de la API de OpenAI con los datos proporcionados.
- Maneja la respuesta de la API, decodifica la respuesta JSON y devuelve el contenido generado por el modelo de lenguaje, así como el costo de uso si la solicitud fue exitosa. Si la solicitud no fue exitosa, devuelve la respuesta de error.
function consulta_api($data)
{
$openaiApiKey = 'numero de tu apiKaey';
$headers = array(
"Content-Type: application/json",
"Authorization: Bearer " . $openaiApiKey . ""
);
// Inicializa una sesión curl
$ch = curl_init();
// Configura las opciones de la solicitud
curl_setopt($ch, CURLOPT_URL, $url_openai);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
// Realiza la solicitud a la API de OpenAI
$response = curl_exec($ch);
$result = json_decode($response, true);
// Maneja la respuesta de la API
if (curl_getinfo($ch, CURLINFO_HTTP_CODE) === 200) {
if (isset($result["choices"][0]["text"])) {
//en el caso de v1/completions
$rs["texto"] = $result["choices"][0]["text"];
$rs["coste"] = $result["usage"];
// echo "Respuesta de OpenAI: " . $completion;
} else if (isset($result["choices"][0]["message"])) {
//en el caso de v1/chat/completions
$rs["texto"] = $result["choices"][0]["message"]['content'];
$rs["coste"] = $result["usage"];
}
return $rs;
} else {
return $result;
}
// Cierra la sesión curl
curl_close($ch);
}
Ten en cuenta que debes reemplazar "numero de tu apiKaey"
con tu clave de API real de OpenAI para que estas funciones funcionen correctamente. Además, verifica que la variable $url_openai
esté definida correctamente en las funciones promt_chat
y promt
.
Para usar estas funciones solo debemos llamar a promt(«texto a enviar a OpenAi»);
Entradas recientes
El Comando Init en Linux: Gestión de Procesos en el Proceso de Inicio del Sistema
En el mundo de la administración de sistemas Linux, uno de los elementos más críticos…
El Futuro de ChatGPT: ¿Cuán Cerca Está de Pensar Como Nosotros?
La inteligencia artificial (IA) ha evolucionado rápidamente en los últimos años, con desarrollos impresionantes como…
IPv6: Mejoras Respecto a IPv4 y Herramientas para su Gestión en Linux
El crecimiento exponencial de dispositivos conectados a internet ha planteado serios desafíos a las redes…
Cómo determinar si NTP está siendo utilizado para la sincronización del reloj: Guía para administradores de sistemas
La sincronización precisa del tiempo en los sistemas de red es crucial para la correcta…
La Revolución de IPv6: Descubre por qué Necesitamos un Nuevo Protocolo
Desde que se ratificó hace casi 20 años, el protocolo IPv6 ha traído una serie…
Guía Completa para Capturar y Analizar Tráfico IP con tcpdump: Domina la Herramienta Esencial para Administradores de Sistemas
Capturar tráfico IP es una tarea esencial para los administradores de sistemas, ya sea para…
Esta web usa cookies.