Créer une application d'IA en 10 minutes : un guide étape par étape

Gémeaux
Nodejs
IA
Guide
Créer une application d'IA en 10 minutes : un guide étape par étape cover image

Depuis l’apparition de ChatGPT et de Google Gemini, nous avons vu de nombreuses applications être lancées exploitant ces modèles. La technique s'appelle l'arbitrage, une méthode qui prend l'une des multiples tâches que l'IA peut effectuer, l'améliore avec des invites efficaces, puis la fournit aux clients en tant que fonctionnalité.

Cet article sera un guide étape par étape sur la façon d'intégrer le modèle Google Gemini dans notre application Node.js. Nous verrons comment utiliser à la fois Gemini-pro qui gère le texte génératif, et Gemini-pro-vision qui gère les images.

Nous commencerons d’abord par mettre en place le projet, puis l’utiliserons sur notre propre exemple.

Exigences

Commencer

Tout d'abord, créez un nouveau projet Node.js dans un dossier vide :

mkdir gemini-node  
cd gemini-node
npm init -y

Maintenant, nous allons installer les packages requis pour le fichier d'environnement et le SDK Gemini :

npm install dotenv @google/generative-ai

Configuration de la clé API

Sur votre Google AI Platform, cliquez sur le bouton Obtenir la clé API pour obtenir la clé API puis enregistrez-la dans votre fichier d'environnement (.env) dans le répertoire racine :

API_KEY=YOUR_GEMINI_KEY

Créez un nouveau dossier lib et créez-y un fichier config.js, puis pour l'étape suivante, nous exporterons notre clé API :

const  dotenv  =  require("dotenv");
dotenv.config();

const  API_KEY  =  process.env.API_KEY;

module.exports  = { API_KEY };

Configuration du SDK Gemini

Dans cette étape, nous allons configurer nos modèles afin de pouvoir les utiliser dans notre code. Dans notre dossier lib, créons 2 fichiers, gemini.js pour la gestion du texte et gemini-vision.js pour la gestion des images.

1- Google Gemini Pro

const { GoogleGenerativeAI } = require("@google/generative-ai");
const { API_KEY } = require("./config");

const googleAI = new GoogleGenerativeAI(API_KEY);
const geminiConfig = {
  temperature: 0.9,
  topP: 1,
  topK: 1,
  maxOutputTokens: 4096,
};

const geminiModel = googleAI.getGenerativeModel({
  model: "gemini-pro",
  geminiConfig,
});

const generateText = async (prompt) => {
  try {
    const result = await geminiModel.generateContent(prompt);
    const response = result.response;
    return response.text();
  } catch (error) {
    console.log("response error", error);
  }
};

module.exports = { generateText };

Nous utiliserons la fonction exportée pour générer du texte à partir d’une invite. Nous pouvons l'utiliser pour créer un système de chat, une traduction de texte et bien d'autres cas d'utilisation.

2- Google Gemini Vision

const { GoogleGenerativeAI } = require("@google/generative-ai");
const { API_KEY } = require("./config");
const fs = require("fs");

const googleAI = new GoogleGenerativeAI(API_KEY);
const geminiConfig = {
  temperature: 0.4,
  topP: 1,
  topK: 32,
  maxOutputTokens: 4096,
};

const geminiModel = googleAI.getGenerativeModel({
  model: "gemini-pro-vision",
  geminiConfig,
});

const interactWithImage = async (filePath) => {
  try {
    const imageFile = fs.readFileSync(filePath);
    const imageBase64 = imageFile.toString("base64");

    const promptConfig = [
      { text: "Generate a caption from this image" },
      {
        inlineData: {
          mimeType: "image/jpeg",
          data: imageBase64,
        },
      },
    ];

    const result = await geminiModel.generateContent({
      contents: [{ role: "user", parts: promptConfig }],
    });

    return result.response.text();
  } catch (error) {
    console.log("response error", error);
  }
};

module.exports = { interactWithImage };

Nous utiliserons la fonction exportée pour générer du texte à partir d'une image.

Créer l'application

Créez un nouveau fichier index.js et collez ce code :

const main = async () => {
  console.log("Hello world!");
};

main();

Désormais, nous pouvons importer nos fonctions exportées et les utiliser pour générer du texte, soit à partir d'une question, soit d'une invite d'image.

La fonction prend un chemin de fichier comme argument, vous devrez donc ajouter un fichier image à votre dossier de projet pour le tester.

Notre code se convertira en :

const { generateText } = require("./lib/gemini");
const { interactWithImage } = require("./lib/gemini-vision");
const path = require("path");

const main = async () => {
  // Text Generation
  let textFromPrompt = await generateText(
    "tell me about bootcamps in a sentence"
  );
  console.log(textFromPrompt);

  // Caption Generation
  const directoryName = path.join(__dirname, "fish.jpg");
  let captionFromImage = await interactWithImage(directoryName);
  console.log(captionFromImage);
};

main();

Et après

Désormais, vous pouvez utiliser ExpressJS pour créer une API au lieu d'un script. Vous pouvez également rechercher les meilleures pratiques en matière de rédaction d'invites pour vos cas d'utilisation.

Voici quelques exemples d'applications que vous pouvez créer :

  • Générateur de métadonnées SEO utilisant API Unsplash

  • Reprendre le réviseur en ajoutant un script supplémentaire qui récupère le contenu du PDF

  • Écrivain de bio Instagram à partir d'une image

Souhaitez-vous créer de meilleures applications ? Rejoignez notre bootcamp de développement Web et apprenez à créer un produit entièrement fonctionnel !


By Omar Mokhfi

Career Services background pattern

Services de carrière

Contact Section background image

Restons en contact

Code Labs Academy © 2024 Tous droits réservés.