Skip to content

Les plongements transforment le texte en vecteurs numériques que vous pouvez stocker dans une base de données vectorielle, rechercher par similarité cosinus ou utiliser dans des pipelines RAG. La longueur des vecteurs dépend du modèle (généralement entre 384 et 1024 dimensions).

Modèles recommandés

Générer des plongements

CLI

Générer des plongements directement depuis la ligne de commande :

```shell
ollama run embeddinggemma "Hello world"
```

Vous pouvez également utiliser un pipe pour transmettre du texte et générer des plongements :

```shell
echo "Hello world" | ollama run embeddinggemma
```

La sortie est un tableau JSON.

cURL

```shell
curl -X POST http://localhost:11434/api/embed \
  -H "Content-Type: application/json" \
  -d '{
    "model": "embeddinggemma",
    "input": "The quick brown fox jumps over the lazy dog."
  }'
```

Python

```python
import ollama

single = ollama.embed(
  model='embeddinggemma',
  input='The quick brown fox jumps over the lazy dog.'
)
print(len(single['embeddings'][0]))  # longueur du vecteur
```

JavaScript

```javascript
import ollama from 'ollama'

const single = await ollama.embed({
  model: 'embeddinggemma',
  input: 'The quick brown fox jumps over the lazy dog.',
})
console.log(single.embeddings[0].length) // longueur du vecteur
```

Remarque

Le point d'extrémité /api/embed renvoie des vecteurs normalisés L2 (de longueur unitaire).

Générer un lot de plongements

Passez un tableau de chaînes de caractères au paramètre input.

cURL

```shell
curl -X POST http://localhost:11434/api/embed \
  -H "Content-Type: application/json" \
  -d '{
    "model": "embeddinggemma",
    "input": [
      "First sentence",
      "Second sentence",
      "Third sentence"
    ]
  }'
```

Python

```python
import ollama

batch = ollama.embed(
  model='embeddinggemma',
  input=[
    'The quick brown fox jumps over the lazy dog.',
    'The five boxing wizards jump quickly.',
    'Jackdaws love my big sphinx of quartz.',
  ]
)
print(len(batch['embeddings']))  # nombre de vecteurs
```

JavaScript

```javascript
import ollama from 'ollama'

const batch = await ollama.embed({
  model: 'embeddinggemma',
  input: [
    'The quick brown fox jumps over the lazy dog.',
    'The five boxing wizards jump quickly.',
    'Jackdaws love my big sphinx of quartz.',
  ],
})
console.log(batch.embeddings.length) // nombre de vecteurs
```

Conseils

  • Utilisez la similarité cosinus pour la plupart des cas d'usage de recherche sémantique.
  • Utilisez le même modèle de plongement pour l'indexation et la recherche.