Comment ChatGPT et TypeScript deviennent les meilleurs amis
Imaginez : vous écrivez du code en TypeScript, et soudain votre service acquiert un super-pouvoir — la capacité de comprendre et de générer du texte humain. L'API ChatGPT rend cela réalité. Dans cet article, nous ne nous contenterons pas de connecter l'API — nous construirons un module complet pour communiquer avec le réseau neuronal, qui sera robuste, typé et prêt pour la production.
Si vous pensez que l'intégration de l'IA relève de la science-fiction ou est réservée aux géants comme Google, je suis heureux de vous rassurer : OpenAI fournit une API REST simple, et TypeScript avec son typage strict rend le travail sûr et prévisible. Passons à la pratique.
Préparation de l'environnement : ce qu'il faut installer
Avant d'écrire du code, assurons-nous que vous avez tout le nécessaire. Pour travailler avec l'API ChatGPT en TypeScript, vous aurez besoin de :
- Node.js version 18 ou supérieure (je recommande la 20 LTS)
- npm ou yarn pour la gestion des paquets
- Clé API OpenAI — obtenez-la sur platform.openai.com
- Éditeur de code (VS Code, WebStorm — celui qui vous convient)
Créons un nouveau projet et installons les dépendances :
mkdir chatgpt-typescriptcd chatgpt-typescriptnpm init -ynpm install openai dotenvnpm install -D typescript @types/node ts-nodeRemarque : nous utilisons le SDK officiel d'OpenAI, qui s'entend parfaitement avec TypeScript. Le paquet dotenv sera nécessaire pour stocker en toute sécurité la clé API.
Configuration de TypeScript et des variables d'environnement
Créons le fichier tsconfig.json avec les paramètres de base :
{ "compilerOptions": { "target": "ES2020", "module": "commonjs", "lib": ["ES2020"], "outDir": "./dist", "rootDir": "./src", "strict": true, "esModuleInterop": true, "skipLibCheck": true, "forceConsistentCasingInFileNames": true }, "include": ["src/**/*"]}Créons maintenant le fichier .env à la racine du projet :
OPENAI_API_KEY=votre_clé_super_secrèteImportant : ajoutez .env dans .gitignore pour ne pas commiter accidentellement la clé dans le dépôt !
Écrire la première requête à ChatGPT en TypeScript
Créons le dossier src et le fichier index.ts. Commençons simplement : envoyons un message et obtenons une réponse.
import OpenAI from 'openai';import dotenv from 'dotenv';
dotenv.config();
const openai = new OpenAI({ apiKey: process.env.OPENAI_API_KEY,});
async function chatWithGPT(prompt: string): Promise<string> { try { const response = await openai.chat.completions.create({ model: 'gpt-4', messages: [ { role: 'system', content: 'Tu es un assistant utile.' }, { role: 'user', content: prompt }, ], temperature: 0.7, max_tokens: 500, });
return response.choices[0]?.message?.content || 'Pas de réponse'; } catch (error) { console.error('Erreur lors de la requête à ChatGPT :', error); throw error; }}
// Utilisation(async () => { const answer = await chatWithGPT('Raconte une courte blague sur les programmeurs'); console.log('ChatGPT dit :', answer);})();Exécutons le code avec la commande npx ts-node src/index.ts. Si tout est correctement configuré, vous verrez la réponse du réseau neuronal. Remarquez le typage : TypeScript suggère automatiquement la structure de l'objet response, ce qui rend le développement confortable.
Analyse des paramètres clés
- model :
gpt-4— le modèle le plus intelligent à ce jour. Pour économiser, vous pouvez utilisergpt-3.5-turbo. - messages