Integrando a API da Open AI em PHP

  • Autor Autor cholemon
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
cholemon

cholemon

Gamma
Verificación en dos pasos activada
Hola betas.

Antes de finalizar este 2.023 les quiero compartir una función PHP para consultar la API de Open AI.

Es sólo consulta, ustedes deben adaptarla de acuerdo a sus necesidades. Está comentado para que sea más fácil entender.

PHP:
function consulta_api($prompt){
        
    $request_data = array(
        "model"         => "text-davinci-003",
        "prompt"         => $prompt,
        "max_tokens"     => 1000
    );

    // Convierte el contenido de la solicitud en una cadena JSON
    $request_data_json = json_encode($request_data);

    // Inicializa la sesión cURL
    $ch = curl_init("https://api.openai.com/v1/completions");

    // Establece las opciones de la solicitud cURL
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
    curl_setopt($ch, CURLOPT_POSTFIELDS, $request_data_json);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
        "Content-Type: application/json",
        "Content-Length: " . strlen($request_data_json),
        "Authorization: Bearer " . API_KEY_GPT
    ));

    // Ejecuta la solicitud cURL
    $response = curl_exec($ch);

    // Cierra la sesión cURL
    curl_close($ch);

    // Procesa la respuesta de la API
    return json_decode($response, true);   
}


Vamos por un 2.024 lleno de Bendiciones, nuevos proyectos y mucho código..!!! 💪💻
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
Ahí das por hecho que se creó una variable global llamada API_KEY_GPT
Hoy en día prefiero trabajar con Laravel como Framework de PHP

PHP:
use Illuminate\Support\Facades\Http;

class ApiController extends Controller
{
    public function consultaApi($prompt)
    {
        $request_data = [
            'model' => 'text-davinci-003',
            'prompt' => $prompt,
            'max_tokens' => 1000
        ];

        $response = Http::withHeaders([
            'Content-Type' => 'application/json',
            'Authorization' => 'Bearer ' . env('API_KEY_GPT')
        ])->post('https://api.openai.com/v1/completions', $request_data);

        return $response->json();
    }
}
 
Ahí das por hecho que se creó una variable global llamada API_KEY_GPT
Hoy en día prefiero trabajar con Laravel como Framework de PHP

PHP:
use Illuminate\Support\Facades\Http;

class ApiController extends Controller
{
    public function consultaApi($prompt)
    {
        $request_data = [
            'model' => 'text-davinci-003',
            'prompt' => $prompt,
            'max_tokens' => 1000
        ];

        $response = Http::withHeaders([
            'Content-Type' => 'application/json',
            'Authorization' => 'Bearer ' . env('API_KEY_GPT')
        ])->post('https://api.openai.com/v1/completions', $request_data);

        return $response->json();
    }
}

En realidad API_KEY_GPT es una constante....

Si, es un código nativo... Hay casos que ameritan hacerlo así.

Y como todo, depende del contexto del proyecto que se esté trabajando. En tu caso es un Controller que acepta una solicitud HTTP, pero hay casos que se necesitan hacer procesos BATCH o cosas por el estilo...

Gracias por tu aporte.!
 

Tópicos similares

Jonathan JZ
  • Trancado
Respostas
2
Visitas
238
Jonathan JZ
Jonathan JZ
Voltar
Topo