Merge commit 'd803bfe2b1fe7f5e219e50ac20d6801a0a58ac75' as 'vendor/ruvector'
This commit is contained in:
68
vendor/ruvector/crates/ruvector-postgres/sql/embeddings.sql
vendored
Normal file
68
vendor/ruvector/crates/ruvector-postgres/sql/embeddings.sql
vendored
Normal file
@@ -0,0 +1,68 @@
|
||||
-- ============================================================================
|
||||
-- Embedding Generation Functions
|
||||
-- ============================================================================
|
||||
|
||||
-- Generate embedding from text using default or specified model
|
||||
CREATE OR REPLACE FUNCTION ruvector_embed(text text, model_name text DEFAULT 'all-MiniLM-L6-v2')
|
||||
RETURNS real[]
|
||||
AS 'MODULE_PATHNAME', 'ruvector_embed_wrapper'
|
||||
LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
|
||||
|
||||
-- Generate embeddings for multiple texts in batch
|
||||
CREATE OR REPLACE FUNCTION ruvector_embed_batch(texts text[], model_name text DEFAULT 'all-MiniLM-L6-v2')
|
||||
RETURNS real[][]
|
||||
AS 'MODULE_PATHNAME', 'ruvector_embed_batch_wrapper'
|
||||
LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
|
||||
|
||||
-- List all available embedding models
|
||||
CREATE OR REPLACE FUNCTION ruvector_embedding_models()
|
||||
RETURNS TABLE (
|
||||
model_name text,
|
||||
dimensions integer,
|
||||
description text,
|
||||
is_loaded boolean
|
||||
)
|
||||
AS 'MODULE_PATHNAME', 'ruvector_embedding_models_wrapper'
|
||||
LANGUAGE C IMMUTABLE STRICT;
|
||||
|
||||
-- Load embedding model into memory
|
||||
CREATE OR REPLACE FUNCTION ruvector_load_model(model_name text)
|
||||
RETURNS boolean
|
||||
AS 'MODULE_PATHNAME', 'ruvector_load_model_wrapper'
|
||||
LANGUAGE C STRICT;
|
||||
|
||||
-- Unload embedding model from memory
|
||||
CREATE OR REPLACE FUNCTION ruvector_unload_model(model_name text)
|
||||
RETURNS boolean
|
||||
AS 'MODULE_PATHNAME', 'ruvector_unload_model_wrapper'
|
||||
LANGUAGE C STRICT;
|
||||
|
||||
-- Get information about a specific model
|
||||
CREATE OR REPLACE FUNCTION ruvector_model_info(model_name text)
|
||||
RETURNS jsonb
|
||||
AS 'MODULE_PATHNAME', 'ruvector_model_info_wrapper'
|
||||
LANGUAGE C IMMUTABLE STRICT;
|
||||
|
||||
-- Set default embedding model
|
||||
CREATE OR REPLACE FUNCTION ruvector_set_default_model(model_name text)
|
||||
RETURNS boolean
|
||||
AS 'MODULE_PATHNAME', 'ruvector_set_default_model_wrapper'
|
||||
LANGUAGE C STRICT;
|
||||
|
||||
-- Get current default embedding model
|
||||
CREATE OR REPLACE FUNCTION ruvector_default_model()
|
||||
RETURNS text
|
||||
AS 'MODULE_PATHNAME', 'ruvector_default_model_wrapper'
|
||||
LANGUAGE C IMMUTABLE STRICT;
|
||||
|
||||
-- Get embedding generation statistics
|
||||
CREATE OR REPLACE FUNCTION ruvector_embedding_stats()
|
||||
RETURNS jsonb
|
||||
AS 'MODULE_PATHNAME', 'ruvector_embedding_stats_wrapper'
|
||||
LANGUAGE C IMMUTABLE STRICT;
|
||||
|
||||
-- Get dimensions for a specific model
|
||||
CREATE OR REPLACE FUNCTION ruvector_embedding_dims(model_name text)
|
||||
RETURNS integer
|
||||
AS 'MODULE_PATHNAME', 'ruvector_embedding_dims_wrapper'
|
||||
LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
|
||||
Reference in New Issue
Block a user