Utiliser l'API DeepSeek V3 dans Node.js avec le SDK Vercel AI

Anis MarrouchiAI Bot
Par Anis Marrouchi & AI Bot ·

Chargement du lecteur de synthèse vocale...

DeepSeek V3 représente une avancée significative dans le domaine des modèles de langage open-source, avec une vitesse et des capacités améliorées. Dans ce tutoriel, nous allons parcourir l'intégration de l'API DeepSeek V3 dans une application Node.js en utilisant le SDK Vercel AI. À la fin, vous aurez une interface en terminal qui invite les utilisateurs à entrer du texte et affiche les réponses de DeepSeek de manière fluide.

Pourquoi DeepSeek V3 ?

DeepSeek V3 offre des fonctionnalités impressionnantes qui en font un choix convaincant pour les développeurs :

  • Vitesse : Traite jusqu'à 60 tokens par seconde, trois fois plus rapide que son prédécesseur.
  • Capacités améliorées : Performance améliorée sur divers benchmarks.
  • Compatibilité API : Maintient la compatibilité avec l'API d'OpenAI, simplifiant l'intégration.
  • Open-Source : Modèles entièrement open-source et articles de recherche disponibles pour la communauté.

Benchmark DeepSeek V3

DeepSeek V3 excelle dans plusieurs benchmarks, rivalisant même avec certains des modèles closed-source les plus avancés. Voici un aperçu de ses performances :

MétriqueDeepSeek V3DeepSeek V2.5Qwen2.5Llama3.1Claude-3.5GPT-4o
MMLU (EM)88.580.685.388.688.387.2
MMLU-Redux (EM)89.180.385.686.288.988.0
DROP (3-shot F1)91.687.876.788.788.383.7

Pour commencer

Prérequis

Avant de plonger, assurez-vous d'avoir les éléments suivants :

  • Node.js 18+ installé sur votre machine.
  • pnpm comme gestionnaire de packages.
  • Clé API DeepSeek : Inscrivez-vous sur DeepSeek, naviguez vers "Access API" après avoir créé votre compte et générez une nouvelle clé API. Un solde minimum de 2$ est requis.
  • SDK Vercel AI : Nous utiliserons ce SDK grâce à la compatibilité de l'API DeepSeek avec OpenAI.

Configuration de votre application Node.js

  1. Créer un nouveau répertoire :

    mkdir deepseek-nodejs-app
    cd deepseek-nodejs-app
    pnpm init
  2. Installer les dépendances :

    Installez les packages nécessaires, incluant le SDK Vercel AI et le provider OpenAI.

    pnpm add ai @ai-sdk/openai zod dotenv
    pnpm add -D @types/node tsx typescript

    Note : Assurez-vous d'utiliser la version 3.1 ou supérieure de ai pour la compatibilité.

Configuration de la clé API

Créez un fichier .env à la racine de votre projet pour stocker en toute sécurité votre clé API DeepSeek.

touch .env.local

Éditez le fichier .env.local :

DEEPSEEK_API_KEY=your_deepseek_api_key_here

Remplacez your_deepseek_api_key_here par la clé API obtenue depuis votre tableau de bord DeepSeek.

Construction de l'application

Créez un fichier index.ts à la racine du projet et ajoutez le code suivant :

import { createOpenAI } from '@ai-sdk/openai';
import { CoreMessage, streamText } from 'ai';
import dotenv from 'dotenv';
import * as readline from 'node:readline/promises';
 
dotenv.config();
 
const terminal = readline.createInterface({
  input: process.stdin,
  output: process.stdout,
});
 
const messages: CoreMessage[] = [];
 
async function main() {
  const openai = createOpenAI({
    apiKey: process.env.DEEPSEEK_API_KEY,
    baseURL: 'https://api.deepseek.com/v1',
  });
  const model = openai('deepseek-chat');
 
  while (true) {
    const userInput = await terminal.question('You: ');
 
    messages.push({ role: 'user', content: userInput });
 
    const result = streamText({
      model,
      messages,
    });
 
    let fullResponse = '';
    process.stdout.write('\nDeepSeek: ');
    for await (const delta of result.textStream) {
      fullResponse += delta;
      process.stdout.write(delta);
    }
    process.stdout.write('\n\n');
 
    messages.push({ role: 'assistant', content: fullResponse });
  }
}
 
main().catch(console.error);

Comprendre le code

  • Variables d'environnement : Utilise dotenv pour gérer les variables d'environnement en toute sécurité.
  • Interface Readline : Configure une interface terminal pour l'interaction utilisateur.
  • Historique des messages : Maintient un historique de conversation pour fournir du contexte à DeepSeek.
  • Réponses en streaming : Diffuse les réponses de DeepSeek en temps réel vers le terminal.

Exécution de l'application

Démarrez votre application en utilisant la commande suivante :

pnpm tsx index.ts

À l'exécution, vous verrez une invite dans votre terminal. Entrez vos requêtes et DeepSeek répondra de manière interactive.

Exploitation du SDK Vercel AI avec DeepSeek

Le SDK Vercel AI fournit une interface unifiée pour interagir avec divers modèles d'IA, incluant DeepSeek. Cette abstraction simplifie le processus d'intégration, vous permettant de changer de fournisseurs avec des changements de code minimaux.

Exemple : Génération de données structurées

Voici comment vous pouvez générer du contenu structuré en utilisant DeepSeek avec le SDK Vercel AI :

import { createOpenAI } from '@ai-sdk/openai';
import { generateObject } from 'ai';
import dotenv from 'dotenv';
import { z } from 'zod';
 
dotenv.config();
 
const openai = createOpenAI({
  apiKey: process.env.DEEPSEEK_API_KEY,
  baseURL: 'https://api.deepseek.com/v1',
});
 
const articleSchema = z.object({
  title: z.string(),
  content: z.string(),
  // Define additional schema properties as needed
});
 
async function createArticle(userPrompt: string) {
  try {
    const model = openai('deepseek-chat');
 
    const { object } = await generateObject({
      model,
      prompt: `Generate a structured (article/tutorial/news article) based on the following instructions:\n\n ${userPrompt}.`,
      schema: articleSchema,
    });
 
    return object;
  } catch (error) {
    console.error('Error generating the structured content:', error);
    throw error;
  }
}

Cet extrait démontre la génération d'un article structuré basé sur les instructions de l'utilisateur, exploitant les capacités de DeepSeek à travers le SDK Vercel AI.

Conclusion

Intégrer DeepSeek V3 dans vos applications Node.js en utilisant le SDK Vercel AI offre un moyen puissant et efficace d'exploiter des modèles de langage avancés. Que vous construisiez des chatbots, des générateurs de contenu ou d'autres outils pilotés par l'IA, DeepSeek fournit la vitesse et les performances nécessaires pour les applications modernes.

Pour plus de détails et de mises à jour, visitez le Site officiel DeepSeek.


Vous voulez lire plus de tutoriels? Découvrez notre dernier tutoriel sur Implémenter le RAG sur les PDFs avec File Search dans l'API Responses.

Discutez de votre projet avec nous

Nous sommes ici pour vous aider avec vos besoins en développement Web. Planifiez un appel pour discuter de votre projet et comment nous pouvons vous aider.

Trouvons les meilleures solutions pour vos besoins.

Articles connexes