Skip to content

FluxbaseVector

FluxbaseVector provides vector search functionality using pgvector

// Embed text and search
const { data: results } = await client.vector.search({
table: 'documents',
column: 'embedding',
query: 'How to use TypeScript?',
match_count: 10
})
// Embed text directly
const { data: embedding } = await client.vector.embed({ text: 'Hello world' })

new FluxbaseVector(fetch): FluxbaseVector

ParameterType
fetchFluxbaseFetch

FluxbaseVector

embed(request): Promise<FluxbaseResponse<EmbedResponse>>

Generate embeddings for text

ParameterType
requestEmbedRequest

Promise<FluxbaseResponse<EmbedResponse>>

// Single text
const { data } = await client.vector.embed({
text: 'Hello world'
})
console.log(data.embeddings[0]) // [0.1, 0.2, ...]
// Multiple texts
const { data } = await client.vector.embed({
texts: ['Hello', 'World'],
model: 'text-embedding-3-small'
})

search<T>(options): Promise<FluxbaseResponse<VectorSearchResult<T>>>

Search for similar vectors with automatic text embedding

This is a convenience method that:

  1. Embeds the query text automatically (if query is provided)
  2. Performs vector similarity search
  3. Returns results with distance scores
Type ParameterDefault type
TRecord<string, unknown>
ParameterType
optionsVectorSearchOptions

Promise<FluxbaseResponse<VectorSearchResult<T>>>

// Search with text query (auto-embedded)
const { data } = await client.vector.search({
table: 'documents',
column: 'embedding',
query: 'How to use TypeScript?',
match_count: 10,
match_threshold: 0.8
})
// Search with pre-computed vector
const { data } = await client.vector.search({
table: 'documents',
column: 'embedding',
vector: [0.1, 0.2, ...],
metric: 'cosine',
match_count: 10
})
// With additional filters
const { data } = await client.vector.search({
table: 'documents',
column: 'embedding',
query: 'TypeScript tutorial',
filters: [
{ column: 'status', operator: 'eq', value: 'published' }
],
match_count: 10
})