Leçon 3 — Mini chatbot

Créer un assistant IA simple

🎯 Objectifs de la leçon

•       Construire un chatbot interactif en ligne de commande

•       Gérer l’historique de conversation

•       Comprendre le rôle des messages system, user et assistant

 

Les rôles dans une conversation OpenAI

Concept

Explication

system

Définit le comportement de l’IA. C’est ici que vous dites à l’IA qui elle est et comment elle doit se comporter.

user

Le message envoyé par l’utilisateur de votre application.

assistant

La réponse générée par l’IA. Inclure l’historique permet à l’IA de se souvenir du contexte.

 

Projet : Mini chatbot Node.js

Voici un exemple de chatbot interactif en ligne de commande qui maintient le contexte de la conversation :

// chatbot.js

const OpenAI = require(« openai »);

const readline = require(« readline »);

require(« dotenv »).config();

 

const openai = new OpenAI({ apiKey: process.env.OPENAI_API_KEY });

 

const messages = [

  {

    role: « system »,

    content: « Tu es un assistant développeur. Réponds de façon

    concise et précise en français. »

  }

];

 

const rl = readline.createInterface({

  input: process.stdin,

  output: process.stdout

});

 

async function chat(userMessage) {

  messages.push({ role: « user », content: userMessage });

 

  const response = await openai.chat.completions.create({

    model: « gpt-4o-mini »,

    messages: messages,

  });

 

  const reply = response.choices[0].message.content;

  messages.push({ role: « assistant », content: reply });

  return reply;

}

 

function prompt() {

  rl.question(« Vous : « , async (input) => {

    if (input.toLowerCase() === « exit ») {

      rl.close();

      return;

    }

    const reply = await chat(input);

    console.log(« \nAssistant : », reply, « \n »);

    prompt();

  });

}

 

console.log(« Chatbot démarré. Tapez \ »exit\ » pour quitter.\n »);

prompt();

 

Ce que vous venez d’apprendre :

•       Comment maintenir un historique de conversation (tableau messages)

•       Comment définir le comportement de l’IA avec le rôle system

•       Comment créer une boucle de conversation interactive

•       Comment l’IA se souvient du contexte grâce à l’historique