With the help of the playground, I’m still looking for a solution to create a Wordpress extension to make promtps with the API.
For now, here’s what I’ve been able to get:
<?php
/*
Plugin Name: Extension OpenAI
Description: Permet d'utiliser l'API OpenAI
Version: 1.0
Author: Votre Nom
*/
// On définit le shortcode
function openai_shortcode() {
// On définit la clé API
$api_key = 'Authorization: Bearer ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■u8VB4UKN, $headers[] = 'application/json';
// On définit le formulaire avec le champ pour rentrer le prompt et le bouton GO
$form = '<form action="' . esc_url( $_SERVER['REQUEST_URI'] ) . '" method="post">';
$form .= '<p>';
$form .= 'Prompt : <br />';
$form .= '<input type="text" name="prompt" size="50" />';
$form .= '</p>';
$form .= '<p><input type="submit" name="openai-submitted" value="GO"/></p>';
$form .= '</form>';
// On récupère le prompt rentré par l'utilisateur
if ( isset( $_POST['openai-submitted'] ) ) {
$prompt = sanitize_text_field( $_POST["prompt"] );
// On définit l'URL avec la clé API et le prompt
$url = 'https://api.openai.com/v1/engines/davinci/completions?prompt='.$prompt.'&max_tokens=50&temperature=0.7&top_p=1&n=1&stream=false&logprobs=0&stop=.&key='.$api_key;
// On exécute la requête
$response = wp_remote_get( $url );
$responsebody = wp_remote_retrieve_body( $response );
// Vérification du code de retour HTTP
$status = wp_remote_retrieve_response_code( $response );
if ( $status != 200 ) {
$result = '<p>Erreur : le code de retour HTTP est '.$status.'</p>';
} else {
// On décode le JSON et on récupère le prompt
$json = json_decode( $responsebody );
$answer = $json->choices[0]->text;
// On affiche le résultat du prompt
$result = '<p>Résultat : '.$answer.'</p>';
}
// Affichage du contenu de la réponse
$result .= '<p>Contenu de la réponse : '.$responsebody.'</p>';
}
// On affiche le formulaire et le résultat du prompt
return $form . $result;
}
// On ajoute le shortcode
add_shortcode( 'openai', 'openai_shortcode' );
?>
The error message is as follows : Erreur : le code de retour HTTP est 401
Contenu de la réponse : { “error”: { “message”: “You didn’t provide an API key. You need to provide your API key in an Authorization header using Bearer auth (i.e. Authorization: Bearer YOUR_KEY), or as the password field (with blank username) if you’re accessing the API from your browser and are prompted for a username and password. You can obtain an API key from https://beta.openai.com.”, “type”: “invalid_request_error”, “param”: null, “code”: null } }
Can you help me to find the solution to this problem?