> Discover all available pages from the documentation index: https://mastra.zisheng.pro/fr/llms.txt # Embed Mastra utilise les fonctions `embed` et `embedMany` d'AI SDK pour générer des embeddings vectoriels à partir d'entrées textuelles, ce qui permet d'effectuer des recherches par similarité et de créer des Workflows RAG. ## Embedding unique La fonction `embed` génère un embedding vectoriel pour une seule entrée textuelle : ```typescript import { embed } from 'ai' import { ModelRouterEmbeddingModel } from '@mastra/core/llm' const result = await embed({ model: new ModelRouterEmbeddingModel('openai/text-embedding-3-small'), value: 'Your text to embed', maxRetries: 2, // optional, defaults to 2 }) ``` ### Paramètres **model** (`EmbeddingModel`): Le modèle d'embedding à utiliser (par exemple, openai.embedding('text-embedding-3-small')) **value** (`string | Record`): Le contenu textuel ou l'objet à convertir en embedding **maxRetries** (`number`): Nombre maximal de nouvelles tentatives par appel d'embedding. Définissez cette valeur sur 0 pour désactiver les nouvelles tentatives. (Default: `2`) **abortSignal** (`AbortSignal`): Signal d'abandon facultatif permettant d'annuler la requête **headers** (`Record`): En-têtes HTTP supplémentaires pour la requête (uniquement pour les Providers reposant sur HTTP) ### Valeur renvoyée **embedding** (`number[]`): Le vecteur d'embedding correspondant à l'entrée ## Embeddings multiples Pour convertir plusieurs textes en embeddings en une seule fois, utilisez la fonction `embedMany` : ```typescript import { embedMany } from 'ai' const result = await embedMany({ model: new ModelRouterEmbeddingModel('openai/text-embedding-3-small'), values: ['First text', 'Second text', 'Third text'], maxRetries: 2, // optional, defaults to 2 }) ``` ### Paramètres **model** (`EmbeddingModel`): Le modèle d'embedding à utiliser (par exemple, openai.embedding('text-embedding-3-small')) **values** (`string[] | Record[]`): Tableau de contenus textuels ou d'objets à convertir en embeddings **maxRetries** (`number`): Nombre maximal de nouvelles tentatives par appel d'embedding. Définissez cette valeur sur 0 pour désactiver les nouvelles tentatives. (Default: `2`) **abortSignal** (`AbortSignal`): Signal d'abandon facultatif permettant d'annuler la requête **headers** (`Record`): En-têtes HTTP supplémentaires pour la requête (uniquement pour les Providers reposant sur HTTP) ### Valeur renvoyée **embeddings** (`number[][]`): Tableau de vecteurs d'embedding correspondant aux valeurs d'entrée ## Exemple d'utilisation ```typescript import { embed, embedMany } from 'ai' // Single embedding const singleResult = await embed({ model: new ModelRouterEmbeddingModel('openai/text-embedding-3-small'), value: 'What is the meaning of life?', }) // Multiple embeddings const multipleResult = await embedMany({ model: new ModelRouterEmbeddingModel('openai/text-embedding-3-small'), values: [ 'First question about life', 'Second question about universe', 'Third question about everything', ], }) ``` Pour plus d'informations sur les embeddings dans Vercel AI SDK, consultez : - [Présentation des embeddings d'AI SDK](https://sdk.vercel.ai/docs/ai-sdk-core/embeddings) - [embed()](https://sdk.vercel.ai/docs/reference/ai-sdk-core/embed) - [embedMany()](https://sdk.vercel.ai/docs/reference/ai-sdk-core/embed-many)