Skip to content
Learni
Voir tous les tutoriels
Intelligence Artificielle

Comment intégrer l'API Groq pour des LLM rapides en 2026

14 minINTERMEDIATE
Read in English

Introduction

Groq propose des inférences LLM à des vitesses inégalées grâce à son hardware LPU. Pour un développeur intermédiaire, maîtriser son API permet de construire des applications réactives en chatbots, agents ou pipelines RAG. Ce tutoriel couvre l'installation du SDK officiel, les appels basiques, le streaming temps réel, l'utilisation d'outils et la gestion robuste des erreurs. Vous obtiendrez du code 100 % fonctionnel et prêt pour la production. L'accent est mis sur TypeScript pour la sûreté des types et la maintenabilité.

Prérequis

  • Node.js 20+
  • Compte Groq avec clé API
  • Connaissances de base en TypeScript et async/await
  • npm ou pnpm

Installation et configuration

terminal
npm install groq-sdk dotenv

# .env
GROQ_API_KEY=gsk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Le SDK officiel groq-sdk gère l'authentification et les retries. dotenv charge la clé API de manière sécurisée sans l'exposer dans le code source.

Initialisation du client

src/groqClient.ts
import Groq from 'groq-sdk';
import 'dotenv/config';

export const groq = new Groq({
  apiKey: process.env.GROQ_API_KEY!,
});

Création d'un client singleton réutilisable. Le point d'exclamation TypeScript garantit que la clé existe au runtime.

Appel simple de complétion

src/simpleChat.ts
import { groq } from './groqClient';

async function simpleChat() {
  const completion = await groq.chat.completions.create({
    model: 'llama-3.3-70b-versatile',
    messages: [{ role: 'user', content: 'Explique Groq en une phrase' }],
    temperature: 0.7,
    max_tokens: 200,
  });
  console.log(completion.choices[0].message.content);
}

simpleChat();

Appel synchrone basique vers Llama 3.3. Choisissez le modèle le plus rapide selon votre cas d'usage.

Streaming des réponses

src/streamingChat.ts
import { groq } from './groqClient';

async function streamChat() {
  const stream = await groq.chat.completions.create({
    model: 'llama-3.3-70b-versatile',
    messages: [{ role: 'user', content: 'Raconte une histoire courte' }],
    stream: true,
  });

  for await (const chunk of stream) {
    const content = chunk.choices[0]?.delta?.content || '';
    process.stdout.write(content);
  }
}

streamChat();

Le streaming offre une expérience utilisateur fluide. Gérez les chunks vides pour éviter les erreurs d'affichage.

Function calling avancé

src/toolsChat.ts
import { groq } from './groqClient';

async function toolsChat() {
  const tools = [{
    type: 'function' as const,
    function: {
      name: 'getWeather',
      description: 'Obtenir la météo',
      parameters: {
        type: 'object',
        properties: { city: { type: 'string' } },
        required: ['city'],
      },
    },
  }];

  const completion = await groq.chat.completions.create({
    model: 'llama-3.3-70b-versatile',
    messages: [{ role: 'user', content: 'Météo à Paris ?' }],
    tools,
    tool_choice: 'auto',
  });

  console.log(completion.choices[0].message.tool_calls);
}

toolsChat();

Groq supporte nativement les tools. Validez toujours les arguments reçus avant exécution.

Bonnes pratiques

  • Utilisez toujours des modèles mis à jour et testez les latences
  • Implémentez un système de retry avec backoff exponentiel
  • Limitez max_tokens et gérez les coûts via des logs
  • Validez les sorties JSON des tools avec Zod
  • Cachez les réponses fréquentes avec Redis

Erreurs courantes à éviter

  • Oublier de gérer les rate limits (429) et les timeouts
  • Ne pas typer les tool_calls avec TypeScript
  • Utiliser des prompts trop longs sans troncature
  • Ignorer les erreurs de parsing des réponses streamées

Pour aller plus loin

Découvrez nos formations avancées sur les agents LLM et l'optimisation d'inférence : https://learni-group.com/formations

Comment intégrer l'API Groq pour des LLM rapides en 2026 | Learni