Skip to content

Nhúng văn bản chuyển đổi văn bản thành các vector số mà bạn có thể lưu trữ trong cơ sở dữ liệu vector, tìm kiếm bằng độ tương đồng cosine, hoặc sử dụng trong các pipeline RAG. Độ dài vector phụ thuộc vào mô hình (thường từ 384 đến 1024 chiều).

Mô hình được đề xuất

Tạo nhúng văn bản

CLI

Tạo nhúng văn bản trực tiếp từ dòng lệnh:

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

Bạn cũng có thể truyền văn bản qua đường ống để tạo nhúng văn bản:

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

Kết quả trả về là một mảng 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
```

Lưu ý

Điểm cuối /api/embed trả về các vector đã được chuẩn hóa L2 (độ dài đơn vị).

Tạo một nhóm nhúng văn bản

Truyền một mảng chuỗi ký tự vào tham số 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
```

Mẹo

  • Sử dụng độ tương đồng cosine cho hầu hết các trường hợp sử dụng tìm kiếm ngữ nghĩa.
  • Sử dụng cùng một mô hình nhúng văn bản cho cả quá trình lập chỉ mục và truy vấn.