Skip to main content

Class: VectorIndex<M>

Defined in: vector-index.ts:86

A vector index of the page's content in the visitor's browser, built with whatever embedding model the visitor has (their own through Leuria, or one in the page). Vectors from different models can't be compared, so each model gets its own set, and the index follows the model: when it changes, the index is built again (once per model; sets are kept, so switching back is instant).

const notes = createIndex(ai, { name: "notes", documents }) notes.subscribe(() => render(notes.getState())) const hits = await notes.search("why did my glaze pull away", { k: 5 })

Type Parameters​

M​

M = unknown

Constructors​

Constructor​

new VectorIndex<M>(ai, options): VectorIndex<M>

Defined in: vector-index.ts:99

Parameters​

ai​

Leuria

options​

VectorIndexOptions<M>

Returns​

VectorIndex<M>

Methods​

destroy()​

destroy(): void

Defined in: vector-index.ts:165

Stop following the model.

Returns​

void


getState()​

getState(): IndexState

Defined in: vector-index.ts:113

Returns​

IndexState


ready()​

ready(): Promise<void>

Defined in: vector-index.ts:133

Resolves once the index is ready (or rejects when it can't be built).

Returns​

Promise<void>


retry()​

retry(): Promise<void>

Defined in: vector-index.ts:128

Build again now, e.g. after an error.

Returns​

Promise<void>


search(query, __namedParameters?): Promise<SearchHit<M>[]>

Defined in: vector-index.ts:144

The documents closest in meaning to query.

Parameters​

query​

string

__namedParameters?​
filter?​

(doc) => boolean

k?​

number = 5

Returns​

Promise<SearchHit<M>[]>


setDocuments()​

setDocuments(documents): Promise<void>

Defined in: vector-index.ts:121

Replace the documents; only new and changed ones are embedded.

Parameters​

documents​

IndexDocument<M>[]

Returns​

Promise<void>


similar()​

similar(id, __namedParameters?): Promise<SearchHit<M>[]>

Defined in: vector-index.ts:157

The documents closest in meaning to one already indexed (no embedding needed).

Parameters​

id​

string

__namedParameters?​
filter?​

(doc) => boolean

k?​

number = 5

Returns​

Promise<SearchHit<M>[]>


subscribe()​

subscribe(listener): () => void

Defined in: vector-index.ts:115

Parameters​

listener​

() => void

Returns​

() => void