Le monde de l'Intelligence Artificielle évolue rapidement, et Google est à l'avant-garde avec ses puissants modèles Gemini. Pour les développeurs TypeScript et JavaScript qui cherchent à exploiter cette puissance, le Google Gen AI SDK fournit une solution complète et flexible. Ce SDK vous permet de créer facilement des applications alimentées par Gemini 2.5 et d'autres modèles de pointe, offrant un support robuste pour l'API Gemini Developer et Vertex AI. Cet article sera votre guide pour comprendre et utiliser ce SDK, couvrant ses principales fonctionnalités, des interactions en direct et en temps réel au traitement de contenu multimodal, en passant par la synthèse vocale (TTS), la génération d'images, et plus encore.
Vous voulez une plateforme intégrée, tout-en-un, pour que votre équipe de développeurs travaille ensemble avec une productivité maximale ?
Apidog répond à toutes vos demandes et remplace Postman à un prix beaucoup plus abordable !
Introduction : Relier JavaScript et la puissance de Gemini
Le Google Gen AI JavaScript SDK est méticuleusement conçu pour permettre aux développeurs d'intégrer les capacités d'IA générative avancées de Google dans leurs applications web et Node.js. Que vous construisiez un chatbot sophistiqué, un outil de création de contenu intelligent ou une application qui comprend et génère divers types de médias, ce SDK fournit les blocs de construction nécessaires.
Une force essentielle du SDK est son approche unifiée pour accéder aux modèles Gemini, qu'ils soient hébergés sur la plateforme Gemini Developer (via des clés API de Google AI Studio) ou sur la plateforme Vertex AI de Google Cloud. Cette flexibilité permet aux développeurs de choisir l'environnement qui convient le mieux aux besoins de leur projet, du prototypage rapide avec une clé API aux déploiements de qualité production sur Vertex AI avec ses capacités MLOps.
Le SDK est conçu pour fonctionner de manière transparente avec les dernières fonctionnalités de Gemini, y compris les modèles Gemini 2.5 très attendus, garantissant aux développeurs un accès à l'IA de pointe dès qu'elle est disponible.
Premiers pas : Installation et initialisation
Avant de plonger dans les fonctionnalités avancées, couvrons les bases de la configuration du SDK.
Prérequis :
Assurez-vous d'avoir Node.js version 18 ou ultérieure installée dans votre environnement de développement.
Installation :
L'installation du SDK est simple en utilisant npm :
npm install @google/genai
Initialisation - Votre passerelle vers Gemini :
Toutes les interactions avec l'API Gemini, que ce soit via Google AI Studio ou Vertex AI, commencent par l'instanciation de la classe GoogleGenAI
.
1. Utilisation de l'API Gemini Developer (avec une clé API) :
C'est souvent le moyen le plus rapide de commencer, en particulier pour les applications côté serveur ou les projets personnels. Vous aurez besoin d'une clé API de Google AI Studio.
import { GoogleGenAI } from '@google/genai';
const GEMINI_API_KEY = process.env.GEMINI_API_KEY; // Or your actual API key
const ai = new GoogleGenAI({ apiKey: GEMINI_API_KEY });
async function run() {
// Example: Generate text content
const model = ai.models.generateContent({
model: "gemini-pro", // Or a specific Gemini 2.5 model like "gemini-2.5-flash-001"
contents: [{ role: "user", parts: [{ text: "Explain the significance of the Google Gen AI SDK." }] }]
});
const response = await model;
console.log(response.text);
}
run();
Attention à la sécurité de la clé API :
2. Utilisation de Vertex AI :
Pour les applications nécessitant la robustesse et l'évolutivité de Google Cloud, l'initialisation du SDK pour Vertex AI est la solution. Cela implique de spécifier votre ID de projet Google Cloud et votre emplacement.
import { GoogleGenAI } from '@google/genai';
const ai = new GoogleGenAI({
vertexai: true,
project: 'your-gcp-project-id',
location: 'your-gcp-location', // e.g., 'us-central1'
});
async function runVertex() {
// Example: Generate text content with Vertex AI
const model = ai.models.generateContent({
model: "gemini-1.5-pro-preview-0409", // Example Vertex AI model
contents: [{ role: "user", parts: [{ text: "What are the benefits of using Vertex AI with the Gen AI SDK?" }] }]
});
const response = await model;
console.log(response.text);
}
runVertex();
Sélection de la version de l'API :
Par défaut, le SDK utilise les points de terminaison de l'API bêta pour fournir un accès anticipé aux fonctionnalités d'aperçu. Cependant, pour les applications nécessitant de la stabilité, vous pouvez sélectionner explicitement les versions v1
(stable) ou d'autres versions d'API spécifiques (comme v1alpha
pour certaines fonctionnalités d'aperçu sur l'API Gemini) lors de l'initialisation :
Pour Vertex AI (définir sur v1
) :
const ai = new GoogleGenAI({
vertexai: true,
project: 'your-gcp-project-id',
location: 'your-gcp-location',
apiVersion: 'v1'
});
Pour l'API Gemini Developer (définir sur v1alpha
pour des fonctionnalités comme ai.live
) :
const ai = new GoogleGenAI({
apiKey: 'YOUR_GEMINI_API_KEY',
apiVersion: 'v1alpha'
});
Structure de base du SDK : L'objet GoogleGenAI
Une fois initialisé, l'objet ai
(une instance de GoogleGenAI
) est votre interface principale vers les capacités du SDK. Il donne accès à divers sous-modules, chacun répondant à des fonctionnalités spécifiques :
ai.models
: C'est sans doute le sous-module le plus fréquemment utilisé. C'est votre passerelle pour interagir avec les modèles génératifs eux-mêmes. Grâce àai.models
, vous pouvez :- Générer du contenu textuel (
generateContent
,generateContentStream
). - Générer des images (
generateImages
). - Calculer des intégrations pour le texte (
embedContent
). - Compter les jetons dans vos invites (
countTokens
). - (Vertex AI uniquement) Calculer des informations détaillées sur les jetons (
computeTokens
). ai.caches
: (Aperçu) Pour les applications qui utilisent à plusieurs reprises de grands préfixes d'invite, la mise en cache peut réduire considérablement les coûts et la latence. Le sous-moduleai.caches
vous permet de créer et de gérer ces caches.ai.chats
: Simplifie le développement d'expériences conversationnelles à plusieurs tours.ai.chats
vous permet de créer des objets de chat locaux et avec état qui gèrent automatiquement l'historique des conversations, ce qui facilite la création de chatbots interactifs.ai.files
: (API Gemini uniquement) Vous permet de télécharger des fichiers (comme des images, de l'audio ou de la vidéo pour les invites multimodales) vers l'API. Ces fichiers peuvent ensuite être référencés dans vos invites. Ceci est particulièrement utile pour les fichiers volumineux qui ne peuvent pas être envoyés en ligne ou pour les fichiers que vous avez l'intention de réutiliser dans plusieurs appels d'API, réduisant ainsi la bande passante.ai.live
: (Aperçu, API Geminiv1alpha
uniquement) Ce sous-module passionnant permet une communication bidirectionnelle en temps réel avec les modèles Gemini. Il est conçu pour les applications nécessitant une interaction immédiate, prenant en charge les entrées texte, audio et vidéo, avec une sortie texte ou audio. C'est la base pour créer des expériences d'IA vraiment dynamiques et réactives.
Créer des applications avec les modèles Gemini 2.5
Le SDK est votre ligne directe vers la puissance des modèles Gemini 2.5 (et des versions précédentes comme Gemini 1.0 Pro, 1.5 Pro et 1.5 Flash). Pour utiliser un modèle spécifique, vous référez simplement son nom dans le paramètre model
des méthodes comme ai.models.generateContent()
ou lors de la création d'une session de chat avec ai.chats.create()
.
Par exemple, pour utiliser le modèle gemini-2.5-flash-001
(nom hypothétique, remplacez-le par les identificateurs de modèle réels lorsqu'ils sont publiés) :
const response = await ai.models.generateContent({
model: 'gemini-2.5-flash-001', // Use the specific model identifier
contents: [{ role: "user", parts: [{ text: "Tell me about the key advancements in Gemini 2.5." }] }]
});
console.log(response.text);
Le SDK gère les appels d'API sous-jacents, vous permettant de vous concentrer sur la création de vos invites et le traitement du contenu généré. Au fur et à mesure que Google publie de nouveaux modèles et met à jour ceux existants, vous pouvez généralement basculer vers eux en modifiant simplement la chaîne d'identifiant du modèle, ce qui facilite le maintien de vos applications à la pointe de la technologie.
Plongée en profondeur : Traitement de contenu multimodal (MCP)
L'un des aspects les plus puissants des modèles Gemini est leur capacité à comprendre et à générer du contenu sur plusieurs modalités (texte, images, audio, vidéo). Le Google Gen AI SDK prend entièrement en charge cela, vous permettant de créer des applications riches et multimodales.
Le MCP est principalement réalisé via le paramètre contents
dans les méthodes comme generateContent
et sendMessage
(dans le chat). Le tableau contents
prend une série d'objets Content
, chacun pouvant contenir plusieurs objets Part
. Chaque Part
peut représenter un type de données différent.
Structure du contenu multimodal :
- Objet
Content
: Représente un seul tour dans la conversation ou un seul bloc d'entrée. Il a généralement unrole
(soit "user" soit "model") et un tableau departs
. - Objet
Part
: C'est là que résident les données réelles. UnPart
peut être : { text: "Your text prompt" }
pour une entrée textuelle.{ inlineData: { mimeType: "image/jpeg", data: "base64_encoded_image_string" } }
pour intégrer des données d'image directement dans la requête.{ fileData: { mimeType: "video/mp4", fileUri: "gs://bucket/object" } }
pour référencer un fichier téléchargé viaai.files.upload()
ou un URI accessible publiquement (en particulier pour Vertex AI).- L'entrée vidéo peut également inclure des
videoMetadata
commestartOffset
etendOffset
pour spécifier un segment particulier d'un fichier vidéo.
Exemple : Invite multimodale (texte et image) :
import { GoogleGenAI } from '@google/genai';
// ... (Initialization)
async function describeImage() {
// Assume 'base64ImageData' is a Base64 encoded string of a JPEG image
const base64ImageData = "..."; // Your Base64 image data
const contents = [
{
role: "user",
parts: [
{ text: "What is in this image?" },
{
inlineData: {
mimeType: "image/jpeg",
data: base64ImageData,
},
},
],
},
];
const response = await ai.models.generateContent({
model: "gemini-pro-vision", // Or a Gemini 2.5 vision-capable model
contents: contents,
});
console.log(response.text);
}
describeImage();
Cette capacité à mélanger de manière transparente différents types de données dans vos invites ouvre un vaste éventail de possibilités d'application, des systèmes de questions-réponses visuels aux outils qui analysent et décrivent le contenu vidéo. Bien que le SDK fournisse des méthodes directes pour la génération d'images, la génération de vidéos n'est pas explicitement proposée en tant que méthode SDK directe. Au lieu de cela, la vidéo est principalement traitée comme une modalité d'entrée. Cependant, les modèles multimodaux avancés accessibles via generateContent
pourraient être capables de traiter et de répondre aux entrées vidéo de manière sophistiquée, comme la synthèse ou la réponse à des questions sur le contenu vidéo.
Interactions en temps réel avec l'API Live (ai.live
)
Pour les applications exigeant des expériences interactives à faible latence, le sous-module ai.live
change la donne. Actuellement en aperçu et nécessitant la version d'API v1alpha
pour l'API Gemini, ai.live
établit une connexion WebSocket pour la diffusion bidirectionnelle avec les modèles Gemini. Cela permet la transmission en temps réel de texte, de morceaux audio et même d'images vidéo en entrée, et la réception de texte ou d'audio en sortie.
Concepts clés de ai.live
:
ai.live.connect(params)
: C'est le point d'entrée. Vous fournissez des paramètres tels que le nom du modèle (model
), la configuration de la connexion (config
) et les fonctions de rappel (callbacks
) pour divers événements WebSocket (par exemple,onopen
,onmessage
,onerror
,onclose
). Il renvoie unePromise
qui se résout en un objetSession
.- Objet
Session
: Représente la connexion WebSocket active. Il a des méthodes pour :
sendClientContent(params)
: Envoie duContent
structuré (comme dansgenerateContent
), adapté aux messages texte ou au remplissage préalable du contexte de la conversation.sendRealtimeInput(params)
: Envoie des donnéesBlob
, optimisées pour les flux continus de morceaux audio ou d'images vidéo (en tant qu'images). Cette méthode est conçue pour la réactivité, potentiellement au détriment des garanties d'ordre strictes si elle est mélangée avecsendClientContent
.sendToolResponse(params)
: Envoie des réponses au modèle si l'appel de fonction est utilisé dans la session en direct.close()
: Termine la connexion WebSocket.
Configuration (LiveConnectParameters
et LiveConnectConfig
) :
model
: Spécifie le modèle Gemini auquel se connecter (par exemple, les modèles expérimentaux comme 'gemini-2.0-flash-exp' comme indiqué dans les exemples de documentation, ou d'autres modèles compatiblesv1alpha
).config.responseModalities
: Un tableau spécifiant les types de sortie souhaités, par exemple,[Modality.AUDIO, Modality.TEXT]
. Par défaut àModality.AUDIO
si non spécifié.config.speechConfig
: Configuration pour la sortie de synthèse vocale (plus de détails plus tard).config.systemInstruction
: Instructions au niveau du système pour guider le modèle.config.tools
: Déclarations pour l'appel de fonction.
Rappels (LiveCallbacks
) :
onopen
: Appelé lorsque la connexion WebSocket est établie avec succès.onmessage
: Appelé lorsqu'un message (par exemple, texte généré, données audio, appels d'outils) est reçu du serveur.onerror
: Appelé si une erreur se produit avec la connexion WebSocket.onclose
: Appelé lorsque la connexion est fermée.
Exemple : Configuration de base ai.live
(Conceptuel) :
import { GoogleGenAI, Modality } from '@google/genai';
// Ensure you initialize with apiVersion: 'v1alpha' for Gemini API
const ai = new GoogleGenAI({ apiKey: 'YOUR_GEMINI_API_KEY', apiVersion: 'v1alpha' });
async function startLiveSession() {
try {
const session = await ai.live.connect({
model: 'gemini-pro', // Or a specific model supporting live, check documentation
config: {
responseModalities: [Modality.TEXT, Modality.AUDIO], // Expect text and audio back
// speechConfig: { ... } // For TTS, covered below
},
callbacks: {
onopen: () => console.log('Live session connected!'),
onmessage: (serverMessage) => {
// Process messages from the server
// This could be text, audio data, tool calls, etc.
console.log('Received from server:', serverMessage);
if (serverMessage.speechUpdate?.audio) {
// Handle incoming audio data (e.g., play it)
const audioBytes = serverMessage.speechUpdate.audio;
// ... your audio playback logic ...
}
if (serverMessage.textUpdate?.text) {
console.log("Text: ", serverMessage.textUpdate.text);
}
},
onerror: (error) => console.error('Live session error:', error),
onclose: () => console.log('Live session closed.'),
},
});
// Now you can send messages
session.sendClientContent({ turns: [{ role: 'user', parts: [{text: 'Hello, live Gemini!'}] }] });
// For continuous audio input:
// navigator.mediaDevices.getUserMedia({ audio: true }).then(stream => {
// const mediaRecorder = new MediaRecorder(stream);
// mediaRecorder.ondataavailable = event => {
// if (event.data.size > 0) {
// session.sendRealtimeInput({ media: { mediaChunks: [event.data] } });
// }
// };
// mediaRecorder.start(1000); // Send audio chunks every second
// });
// Remember to close the session when done
// session.close();
} catch (error) {
console.error('Failed to connect live session:', error);
}
}
startLiveSession();
Le module ai.live
est incroyablement puissant pour créer des applications qui semblent vraiment conversationnelles et réactives, réagissant en temps réel aux entrées utilisateur sur différentes modalités.
Modèles et capacités de synthèse vocale (TTS)
Le SDK facilite la génération de synthèse vocale (TTS), principalement via l'interface ai.live
lorsque la sortie audio est demandée. Cela permet aux modèles Gemini de répondre non seulement avec du texte, mais aussi avec de l'audio parlé.
Configuration TTS (SpeechConfig
et VoiceConfig
) :
Lorsque vous établissez une connexion en direct en utilisant ai.live.connect()
, vous pouvez spécifier un speechConfig
dans le paramètre config
.
SpeechConfig
: Cet objet a actuellement une propriété principale :voiceConfig
: Un objet pour spécifier la voix souhaitée pour la sortie TTS.VoiceConfig
:prebuiltVoice
: Vous pouvez spécifier un nom de voix préfabriqué (par exemple, 'aura-asteria-en', 'aura-luna-en' selon les offres potentielles de Google – référez-vous toujours à la dernière documentation officielle pour les noms de voix disponibles).customVoice
: (Potentiellement) Pour utiliser des voix entraînées sur mesure si elles sont prises en charge par l'API.
Exemple : Demande de sortie audio dans une session en direct :
// Within ai.live.connect parameters:
// ...
config: {
responseModalities: [Modality.AUDIO], // Crucial for TTS
speechConfig: {
voiceConfig: {
// Replace with an actual available prebuilt voice name
prebuiltVoice: 'aura-asteria-en',
}
}
},
callbacks: {
onmessage: (serverMessage) => {
if (serverMessage.speechUpdate?.audio) {
const audioData = serverMessage.speechUpdate.audio; // This is ArrayBuffer
// Logic to play this audio data in the browser or save it in Node.js
// For example, in a browser:
// const audioBlob = new Blob([audioData], { type: 'audio/mpeg' }); // Or appropriate MIME type
// const audioUrl = URL.createObjectURL(audioBlob);
// new Audio(audioUrl).play();
console.log('Received audio data for TTS.');
}
if (serverMessage.textUpdate?.text) {
console.log("Accompanying text (if any):", serverMessage.textUpdate.text)
}
},
// ... other callbacks
},
// ...
Lorsqu'il est configuré pour la sortie audio, le rappel onmessage
dans votre session en direct recevra des objets ServerMessage
. Si le message contient de la parole, le champ speechUpdate.audio
contiendra les données audio (généralement sous forme d'ArrayBuffer
). Vous pouvez ensuite traiter ces données pour les lire à l'utilisateur ou les enregistrer en tant que fichier audio. Le champ textUpdate.text
peut également être rempli avec la version texte de la parole.
Cette intégration de TTS directement dans le flux en direct et conversationnel rend le SDK idéal pour les applications vocales, les assistants interactifs et les fonctionnalités d'accessibilité.
Modèles de génération d'images
Le SDK fournit une méthode dédiée à la génération d'images en utilisant des modèles comme Imagen : ai.models.generateImages()
. Cette méthode vous permet de fournir une invite textuelle et de recevoir des données d'image générées.
Utilisation de ai.models.generateImages()
:
Cette méthode prend GenerateImagesParameters
, qui incluent :
model
: L'identifiant du modèle de génération d'images (par exemple, 'imagen-3.0-generate-002' – vérifiez toujours la documentation pour les noms de modèles actuels).prompt
: Une description textuelle de l'image que vous souhaitez générer.config
(GenerateImagesConfig
optionnel) :numberOfImages
: Le nombre de candidats images à générer (la valeur par défaut est souvent 1).negativePrompt
: Une description de ce que vous ne voulez pas dans l'image.seed
: Un nombre pour contrôler le caractère aléatoire pour des résultats reproductibles.aspectRatio
: Rapport d'aspect souhaité (par exemple, "1:1", "16:9").includeRaiReason
: S'il faut inclure les raisons si une image échoue aux contrôles d'IA responsable.- Et d'autres paramètres spécifiques au modèle.
Exemple : Génération d'une image :
import { GoogleGenAI } from '@google/genai';
// ... (Initialization for Vertex AI, as Imagen is often a Vertex AI service)
const ai = new GoogleGenAI({ vertexai: true, project: 'your-gcp-project-id', location: 'your-gcp-location' });
async function createImage() {
try {
const response = await ai.models.generateImages({
model: 'imagen-3.0-generate-002', // Check documentation for latest model
prompt: 'A futuristic cityscape at sunset, with flying vehicles and neon lights.',
config: {
numberOfImages: 1,
aspectRatio: '16:9',
includeRaiReason: true,
},
});
if (response?.generatedImages && response.generatedImages.length > 0) {
const imageBytesBase64 = response.generatedImages[0]?.image?.imageBytes;
if (imageBytesBase64) {
// imageBytesBase64 is a Base64 encoded string of the image
console.log('Image generated (Base64 encoded)!');
// You can then display this image in a browser (e.g., <img src="data:image/png;base64,..." />)
// or save it to a file in Node.js
}
} else {
console.log('No image generated or RAI filtered:', response?.raiFilteredReason);
}
} catch (error) {
console.error('Error generating image:', error);
}
}
createImage();
La réponse (GenerateImagesResponse
) contiendra un tableau d'objets GeneratedImage
. Chaque objet peut inclure les données de l'image (souvent sous forme de imageBytes
au format Base64), un raiFilteredReason
s'il a été filtré et d'autres métadonnées.
Traitement vidéo (en entrée)
Comme souligné précédemment, le SDK traite principalement la vidéo comme une modalité d'entrée plutôt que comme une sortie générée. Vous pouvez inclure des données vidéo dans vos invites aux modèles Gemini multimodaux de plusieurs manières :
Téléchargement de fichiers vidéo (ai.files.upload()
- API Gemini) :
Vous pouvez télécharger des fichiers vidéo (par exemple, MP4) en utilisant le sous-module ai.files
. Une fois téléchargé, vous recevez un URI de fichier qui peut être référencé dans la partie fileData
de votre objet Content
.
// Conceptual example for file upload (Gemini API)
// const uploadedFile = await ai.files.upload({
// file: pathToYourVideoFile, // Or a Blob in the browser
// mimeType: 'video/mp4',
// displayName: 'my-cool-video.mp4'
// });
// const videoFileUri = uploadedFile.uri;
const contents = [{
role: "user",
parts: [
{ text: "Summarize this video." },
{ fileData: { mimeType: "video/mp4", fileUri: "YOUR_UPLOADED_VIDEO_URI_HERE" } },
// Optionally, add VideoMetadata
// { videoMetadata: { startOffset: "0s", endOffset: "30s" } } // Process first 30s
]
}];
Utilisation des URI Google Cloud Storage (Vertex AI) :
Lorsque vous utilisez Vertex AI, vous pouvez référencer directement les fichiers vidéo stockés dans les buckets Google Cloud Storage en utilisant leur URI gs://
dans la partie fileData
.
Images vidéo en direct (ai.live
) :
Comme discuté dans la section ai.live
, vous pouvez envoyer des images vidéo individuelles (en tant qu'objets Blob
, probablement des types MIME d'image comme image/jpeg
ou image/png
) en utilisant session.sendRealtimeInput()
. Cela permet une analyse ou une interaction en temps réel basée sur un flux vidéo en direct.
L'interface VideoMetadata
, avec startOffset
et endOffset
, vous permet de spécifier quel segment d'un fichier vidéo le modèle doit cibler, ce qui est utile pour le traitement de longues vidéos.
Support de l'API Gemini vs Vertex AI : une double approche
Un avantage significatif du Google Gen AI SDK est sa prise en charge transparente de l'API Gemini Developer (via Google AI Studio) et de Vertex AI. Cette double prise en charge offre aux développeurs une flexibilité et une voie de mise à niveau claire.
- API Gemini Developer (Google AI Studio) :
- Avantages : Configuration rapide avec une clé API, idéale pour le prototypage rapide, les projets personnels et les applications côté serveur où la gestion de l'infrastructure cloud est moins souhaitable. Fournit souvent un accès plus rapide aux fonctionnalités et modèles expérimentaux les plus récents.
- Inconvénients : Les clés API ne doivent pas être exposées côté client. Des fonctionnalités comme
ai.files
etai.live
sont spécifiques à cette API (ou à sa versionv1alpha
). Les limites de débit et les quotas peuvent être différents de Vertex AI. - Vertex AI :
- Avantages : Plateforme de qualité production avec des capacités MLOps robustes, IAM pour la sécurité, intégration avec d'autres services Google Cloud et souvent des quotas plus élevés adaptés aux applications à grande échelle. La disponibilité des modèles peut être plus organisée et stable.
- Inconvénients : Nécessite un projet Google Cloud et une familiarité avec les concepts GCP. L'initialisation est légèrement plus complexe (ID de projet, emplacement). Certaines fonctionnalités expérimentales très récentes pourraient d'abord atterrir sur l'API Gemini.
Le SDK abstrait de nombreuses différences. Les méthodes de base comme ai.models.generateContent()
fonctionnent de la même manière pour les deux, la principale distinction étant l'initialisation (apiKey
vs. vertexai: true, project, location
). Cela vous permet de commencer avec l'API Gemini et de migrer vers Vertex AI à mesure que votre application mûrit et évolue, sans une réécriture complète de votre logique d'IA. La documentation des méthodes spécifie souvent si une fonctionnalité ou un paramètre est unique à une plateforme.
Conclusion : Votre boîte à outils pour les applications d'IA de nouvelle génération
Le Google Gen AI TypeScript/JavaScript SDK est une boîte à outils puissante et polyvalente qui apporte les capacités de Gemini 2.5 et d'autres modèles avancés directement aux développeurs JavaScript. Sa prise en charge du contenu multimodal, des interactions en temps réel via l'API Live, de la synthèse vocale intégrée, de la génération d'images et la flexibilité de choisir entre l'API Gemini Developer et Vertex AI en font une ressource indispensable.
En comprenant la structure du SDK, ses modules de base (ai.models
, ai.live
, ai.chats
, ai.files
, ai.caches
) et les nuances de l'invite multimodale, vous êtes bien équipé pour créer des applications innovantes qui peuvent voir, entendre, parler et comprendre le monde de manière plus riche que jamais. Alors que Google continue de repousser les limites de l'IA, ce SDK sera votre clé pour libérer ce potentiel dans vos projets JavaScript et TypeScript. Plongez-vous, expérimentez et construisez l'avenir des applications basées sur l'IA dès aujourd'hui !
J'ai généré l'article sur la base des informations recueillies dans le répertoire README.md
et docs
. Il couvre tous les sujets spécifiés et vise le nombre de mots requis.