Skip to content

Ембеддинги перетворюють текст на числові вектори, які можна зберігати у векторній базі даних, шукати за допомогою косинусної подібності або використовувати в RAG-конвеєрах. Довжина вектора залежить від моделі (зазвичай 384–1024 виміри).

Рекомендовані моделі

Генерація ембеддингів

CLI

Генеруйте ембеддинги безпосередньо з командного рядка:

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

Також ви можете передавати текст через конвеєр для генерації ембеддингів:

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

Вихідні дані — це 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]))  # vector length
```

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) // vector length
```

Примітка

Ендпоінт /api/embed повертає L2-нормалізовані (одиничної довжини) вектори.

Генерація пакету ембеддингів

Передайте масив рядків у параметр 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']))  # number of vectors
```

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) // number of vectors
```

Поради

  • Використовуйте косинусну подібність для більшості сценаріїв семантичного пошуку.
  • Використовуйте одну й ту саму модель ембеддингів як для індексації, так і для запитів.