OpenAI JavaScript

Guide du débutant sur l’API OpenAI en JavaScript

Introduction

Salut, vous cherchez à ajouter du traitement du langage à vos projets ? Découvrez l’API OpenAI. Il s’agit d’un service basé sur le cloud qui vous permet d’accéder aux capacités de traitement du langage du modèle OpenAI. Vous pouvez l’utiliser pour toutes sortes de choses comme traduire, résumer, répondre à des questions et même générer des idées.

Il est facile à utiliser et peut être intégré à vos applications existantes. De plus, vous pouvez même l’adapter à des industries spécifiques. Ainsi, que vous soyez un développeur, un spécialiste du marketing, un chercheur ou simplement quelqu’un qui cherche à ajouter du traitement du langage à ses projets, l’API OpenAI est un excellent outil pour vous.

Conditions préalables

Pour travailler efficacement sur ce didacticiel de l’API JavaScript OpenAI convivial pour les débutants, il serait avantageux d’avoir les éléments suivants :

Ce que vous apprendrez

  • Comment obtenir une clé API OpenAI
  • Comment configurer le projet et installer les packages NPM pertinents
  • Comment générer un article de blog WordPress à l’aide de l’API OpenAI

Vous pouvez trouver le code complet sur GitHub à ce lien (branche Intro).

Générer une clé API

Pour générer une clé API pour l’API OpenAI, vous devez créer un compte sur le site Web OpenAI à l’ adresse https://beta.openai.com/signup/

Une fois inscrit et connecté, vous pourrez créer une nouvelle clé API en trouvant le menu de votre profil sur le site Web et en cliquant sur le bouton « Afficher les clés API ».

Dans la page Clé API, cliquez sur le bouton « Créer une clé API ». Après avoir créé votre clé API, vous pourrez l’afficher sur la page des clés API, où vous pourrez également la gérer et la révoquer si nécessaire.

Configuration du projet

Très bien, tout d’abord, configurons notre projet de nœud en utilisant npm initet créons une structure de dossiers simple pour garder notre code organisé. Étant donné que ce didacticiel fait partie d’une série sur l’automatisation de WordPress avec JavaScript, nous essaierons de rester organisés au fur et à mesure.

Notre structure de dossiers ressemble à ceci :

📦wordpress-automatisation 
┣ 📂. log
 ┃ ┣ combinés. log
 ┃ ┗ erreur . log
 ┣ 📂node_modules 
┣ 📂src 
┃ ┣ 📂openai ┃ 
┃ ┗ OpenAI.js ┃ ┗ 
📂utils ┃ ┃ 
┗ logger.js ┣ 
.env ┣ 
.gitignore 
 .prettierrc ┣ 

-lock .

Ensuite, nous installerons certains packages npm pertinents que nous utiliserons dans ce projet :

npm installer openai dotenv winston

Le openaipackage est la bibliothèque officielle OpenAI Node.js qui facilite l’interaction avec l’API OpenAI dans votre code. Il a différentes classes et méthodes qui correspondent à différents points de terminaison de l’API OpenAI et il est simple de faire des demandes et de gérer les réponses. Il dispose également d’une classe de configuration qui vous permet de configurer l’API OpenAI de manière plus flexible.

Juste un avertissement cependant, ce package est actuellement en version bêta et sujet à changement. Vous pouvez toujours vérifier la dernière version sur le référentiel GitHub openai-node .

Nous utilisons également dotenvpour gérer nos clés API et winstonpour la journalisation. Je n’entrerai pas dans les détails à ce sujet car il existe de nombreuses ressources en ligne, mais si vous souhaitez en savoir plus à leur sujet, faites-le moi savoir et je pourrai en parler plus en profondeur dans un autre article.

Générer un article de blog à l’aide de l’API OpenAI

// OpenAI.js 

importe { Configuration , OpenAIApi } depuis  'openai' ; 
importer l' enregistreur depuis  '../utils/logger.js' ; 
export  class  OpenAI { 
    constructor ( apiKey ) { 
        // Créez les instances Configuration et OpenAIApi 
        this . openai = new  OpenAIApi ( nouvelle  Configuration ({ apiKey })); 
    } 
    // Fonction asynchrone pour générer du texte à partir de l'API OpenAI 
    async  generateText (prompt, model, max_tokens, temperature = 0.85 ) { 
        try { 
            // Enregistrer l'invite envoyée à l'API
             logger. info ( `Envoi de la requête à l'API OpenAI avec invite : ${prompt} ` ); 
            // Envoie une requête à l'API OpenAI pour générer le texte 
            const response = wait  this . openai . createCompletion ({ 
                modèle, 
                invite, 
                max_tokens, 
                n : 1 , 
                température, 
            });
            // Journal qu'une réponse a été reçue
             logger. info ( `Réponse reçue de l'API OpenAI` ); 
            consoler . log ( `coût de la demande : ${response.data.usage.total_tokens} jetons` ); 
               // Renvoie le texte de la réponse 
            return response. données . choix [ 0 ]. texte ; 
        } catch (error) { 
            // Enregistre l'erreur s'il y a un
             enregistreur. error ( `Erreur lors de la génération du texte : ${error.message} ` ); 
            lancererreur; 
        } 
    } 
}

Dans OpenAI.js, nous avons créé une classe instanciable qui se connecte à l’API OpenAI et génère du texte à l’aide de la openaibibliothèque. La classe nous permet de générer facilement du texte en gérant tous les détails de connexion.

Nous avons créé une fonction appelée generateText()qui prend quatre paramètres d’entrée :

  • prompt: Il s’agit du texte que vous souhaitez utiliser comme point de départ pour le texte généré.
  • model: Il s’agit du nom du modèle que vous souhaitez utiliser pour générer le texte. Il peut s’agir de n’importe lequel des modèles disponibles sur l’API OpenAI.
  • max_token: Il s’agit du nombre maximum de jetons (c’est-à-dire de mots ou de phrases) que vous souhaitez que le texte généré contienne.
  • temperature: Il s’agit d’une valeur comprise entre 0 et 1 qui contrôle le caractère aléatoire du texte généré. Une température plus élevée signifie plus de caractère aléatoire, tandis qu’une température plus basse signifie plus de similitude avec le texte saisi.

La fonction renvoie le contenu de l’article de blog généré. Dans la generateText()fonction, nous créons une instance de la OpenAIApiclasse en transmettant un objet de configuration qui inclut la clé API. Ensuite, nous utilisons la createCompletionméthode de la OpenAIApiclasse, en passant un objet avec des propriétés comme le modèle à utiliser, l’invite, la température et le nombre maximum de jetons à générer. Nous attendons également la réponse et renvoyons le texte généré à partir de la réponse.

Fondamentalement, cela est facilité car la bibliothèque openai gère tous les détails de connexion dans la OpenAIApi classe et génère le texte dans la generateText() fonction.

// index.js 

importe { OpenAI } depuis  "./src/openai/OpenAI.js" ; 
importer dotenv depuis  'dotenv' ; 
dotenv. config (); 
// Création d'une nouvelle instance de la classe OpenAI et transmission de la variable d'environnement OPENAI_KEY 
const openAI = new  OpenAI (process. env . OPENAI_KEY ); sujet constant = ' 
NodeJs ' ; 
modèle const = 'text-davinci-003' ; 
// Fonction pour générer l'invite pour l'API OpenAI
// À l'avenir, il sera déplacé vers une classe d'assistance lors de la prochaine révision du code 
const  generatePrompt = ( topic ) => { 
    return  `Écrivez un article de blog sur " ${topic} ", il devrait être au format HTML, inclure 5 points uniques, en utilisant un ton informatif.`
 }; 
// Utilisez la méthode generateText pour générer du texte à partir de l'API OpenAI et en passant l'invite générée, le modèle et la valeur maximale du jeton 
attendent openAI. generateText ( generatePrompt (sujet), modèle, 800 ) 
    . then ( text => { 
        // Enregistrement du texte généré dans la console
        // À l'avenir, cela sera remplacé pour télécharger le texte de blog renvoyé sur un site WordPress à l'aide de la 
        console WordPress REST API . journal (texte); 
    }) 
    . catch ( erreur => { 
        console . erreur (erreur); 
    });

Dans index.js, nous avons introduit notre OpenAIclasse et en avons créé une nouvelle instance en lui donnant OPENAI_KEY. Nous avons conservé notre clé API dans le .envfichier afin qu’elle reste en sécurité.

Ensuite, nous avons créé la constante de sujet que nous utiliserons pour créer notre invite de requête finale en la transmettant à la generatePromptméthode.

Enfin, nous exécutons la generateTextméthode en transmettant tous les paramètres nécessaires et nous enregistrons le contenu du blog renvoyé au format HTML dans la console.

[Running] node "d:\Work\wordpress\JavaScript Guide\wordpress-automation\index.js"
 coût de la requête : 617 jetons 
<h1> 5 raisons d' utiliser Node.js pour votre prochain projet de développement Web</h1> 
<p >Node.js est rapidement devenu l'un des frameworks JavaScript les plus populaires pour le développement Web. Node.js est un environnement d'exécution open source et multiplateforme pour les applications côté serveur et réseau. C'est un outil puissant à utiliser lors de la création d'applications Web dynamiques.</p>
 <p>Voici 5raisons pour lesquelles vous devriez envisager d'utiliser Node.js pour votre prochain projet de développement Web.</p> 
<h2> 1 . Vitesse et évolutivité</h2> 
<p>Node.js est connu pour sa vitesse et son évolutivité. En utilisant l'environnement d'exécution JavaScript, les applications peuvent être écrites dans un seul langage pour s'exécuter à la fois côté client et côté serveur. Cela facilite le développement et le débogage des applications, tout en offrant de meilleures performances que les autres langages côté serveur.</p>
 <h2> 2 . Architecture modulaire</h2> 
<p>Noeud.en composants réutilisables. Cela facilite le développement d'applications complexes, tout en les rendant plus maintenables et évolutives. Les modules Node.js sont également largement utilisés dans le développement de serveurs Web et d'autres applications côté serveur.</p> 
<h2> 3 . Facile à apprendre</h2> 
<p>Node.js est un langage plus facile à apprendre que les langages traditionnels côté serveur. Parce qu'ilest basé sur JavaScript, les développeurs qui connaissent JavaScript le trouveront plus intuitif à utiliser que les autres langages côté serveur. De plus, Node.js est livré avec une grande bibliothèque de modules utiles qui facilitent grandement le développement d'applications complexes.</p>
 <h2> 4 . Prise en charge de plusieurs plates-formes</h2> 
<p>Node.js est pris en charge sur plusieurs plates-formes, notamment Windows, Linux et Mac OS. Cela facilite le développement d'applications pouvant être utilisées sur différents systèmes d'exploitation, et facilite également le partage de code avecd'autres développeurs qui peuvent avoir des systèmes différents.</p> 
<h2> 5 . Support de la communauté</h2> 
<p>Node.js dispose d'une large communauté de développeurs désireux de partager leurs connaissances et leur expertise. Cela facilite l'  obtention d' aide ou la recherche de solutions à tout problème pouvant survenir au cours du processus de développement. De plus, la communauté Node.js développe constamment de nouveaux modules pour aider à rendre le développement plus facile et plus rapide.</p> 
<p> Si vousêtes à la recherche d'une solution de développement Web efficace et puissante, alors Node.js est un excellent choix. Grâce à sa vitesse, son évolutivité et son architecture modulaire, Node.js est capable de créer des applications Web puissantes et dynamiques. De plus, sa prise en charge de plusieurs plates-formes, ainsi que sa grande communauté, en font un excellent choix pour les développeurs de tous niveaux.</p>
 [Terminé] terminé avec code= 0  en  22,579 secondes

Dans WordPress, le billet de blog ressemble à ceci.

Oui c’est vrai! Avec seulement quelques lignes de code, j’ai pu utiliser le point de terminaison d’achèvement de l’API OpenAI et le modèle davinci pour générer ce billet de blog dans la structure et le format prêts pour WordPress. C’est si facile.

Conclusion

J’espère que mon petit exemple de code vous a montré à quel point il est facile d’intégrer l’API OpenAI à Node.js. Avec seulement quelques lignes de code, vous pouvez commencer à créer des projets d’IA sympas. Tout ce dont vous avez besoin est une connaissance de JavaScript et le package OpenAI installé. Si vous prenez le temps de lire la documentation de l’API OpenAI, vous apprendrez tous les tenants et aboutissants de l’utilisation de l’API. Maintenant que vous savez comment démarrer avec l’API OpenAI en JavaScript, vous êtes prêt à réaliser de superbes projets d’IA !

Retour en haut