0
# Embeddings
1
2
Text embedding generation and similarity operations for semantic search and retrieval in LlamaIndex.TS.
3
4
## Import
5
6
```typescript
7
import { OpenAIEmbedding, Settings } from "llamaindex";
8
```
9
10
## Overview
11
12
Embeddings convert text into numerical vector representations that capture semantic meaning, enabling similarity search and retrieval operations in LlamaIndex.TS.
13
14
## Base Embedding Interface
15
16
```typescript { .api }
17
interface BaseEmbedding {
18
getTextEmbedding(text: string): Promise<number[]>;
19
getQueryEmbedding(query: string): Promise<number[]>;
20
21
embedBatchSize?: number;
22
dimensions?: number;
23
}
24
```
25
26
## OpenAI Embeddings
27
28
```typescript { .api }
29
class OpenAIEmbedding implements BaseEmbedding {
30
constructor(options?: {
31
model?: string;
32
dimensions?: number;
33
apiKey?: string;
34
});
35
36
getTextEmbedding(text: string): Promise<number[]>;
37
getQueryEmbedding(query: string): Promise<number[]>;
38
}
39
```
40
41
## Basic Usage
42
43
```typescript
44
import { OpenAIEmbedding, Settings } from "llamaindex";
45
46
// Configure global embedding model
47
Settings.embedModel = new OpenAIEmbedding({
48
model: "text-embedding-3-large",
49
dimensions: 1536,
50
});
51
52
// Generate embeddings
53
const text = "LlamaIndex is a data framework";
54
const embedding = await Settings.embedModel.getTextEmbedding(text);
55
console.log("Embedding dimensions:", embedding.length);
56
```
57
58
## Similarity Functions
59
60
```typescript { .api }
61
function similarity(embedding1: number[], embedding2: number[]): number;
62
63
function getTopKEmbeddings(
64
queryEmbedding: number[],
65
embeddings: number[][],
66
k: number
67
): number[];
68
```
69
70
## Usage with Indices
71
72
```typescript
73
// Embeddings are automatically used by VectorStoreIndex
74
const index = await VectorStoreIndex.fromDocuments(documents);
75
// Uses Settings.embedModel to generate embeddings for documents
76
```