mirror of
https://github.com/ruvnet/RuVector.git
synced 2026-05-24 05:43:58 +00:00
Enable all advanced PostgreSQL extension functions by adding their SQL definitions to the extension file. This exposes all Rust #[pg_extern] functions to PostgreSQL. ## New SQL Functions (53 total) ### Hyperbolic Geometry (8 functions) - ruvector_poincare_distance, ruvector_lorentz_distance - ruvector_mobius_add, ruvector_exp_map, ruvector_log_map - ruvector_poincare_to_lorentz, ruvector_lorentz_to_poincare - ruvector_minkowski_dot ### Sparse Vectors (14 functions) - ruvector_sparse_create, ruvector_sparse_from_dense - ruvector_sparse_dot, ruvector_sparse_cosine, ruvector_sparse_l2_distance - ruvector_sparse_add, ruvector_sparse_scale, ruvector_sparse_to_dense - ruvector_sparse_nnz, ruvector_sparse_dim - ruvector_bm25_score, ruvector_tf_idf, ruvector_sparse_normalize - ruvector_sparse_topk ### GNN - Graph Neural Networks (5 functions) - ruvector_gnn_gcn_layer, ruvector_gnn_graphsage_layer - ruvector_gnn_gat_layer, ruvector_gnn_message_pass - ruvector_gnn_aggregate ### Routing/Agents - "Tiny Dancer" (11 functions) - ruvector_route_query, ruvector_route_with_context - ruvector_calculate_agent_affinity, ruvector_select_best_agent - ruvector_multi_agent_route, ruvector_create_agent_embedding - ruvector_get_routing_stats, ruvector_register_agent - ruvector_update_agent_performance, ruvector_adaptive_route - ruvector_fastgrnn_forward ### Learning/ReasoningBank (7 functions) - ruvector_record_trajectory, ruvector_get_verdict - ruvector_distill_memory, ruvector_adaptive_search - ruvector_learning_feedback, ruvector_get_learning_patterns - ruvector_optimize_search_params ### Graph/Cypher (8 functions) - ruvector_graph_create_node, ruvector_graph_create_edge - ruvector_graph_get_neighbors, ruvector_graph_shortest_path - ruvector_graph_pagerank, ruvector_cypher_query - ruvector_graph_traverse, ruvector_graph_similarity_search ## CLI Updates - Enabled hyperbolic geometry commands in postgres-cli - Added vector distance and normalize commands - Enhanced client with connection pooling and retry logic 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| src | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
@ruvector/postgres-cli
Command-line interface for the RuVector PostgreSQL extension - an advanced AI vector database.
Installation
npm install -g @ruvector/postgres-cli
Quick Start
# Connect to your PostgreSQL database with RuVector extension
ruvector-pg -c "postgresql://user:pass@localhost:5432/mydb" info
# Install the extension
ruvector-pg install
# Create a vector table
ruvector-pg vector create embeddings --dim 384 --index hnsw
# Search vectors
ruvector-pg vector search embeddings --text "hello world" --top-k 10
Commands
Vector Operations
# Create vector table with HNSW index
ruvector-pg vector create <name> --dim <dimensions> --index <hnsw|ivfflat>
# Insert vectors from JSON file
ruvector-pg vector insert <table> --file vectors.json
# Search for similar vectors
ruvector-pg vector search <table> --query "[0.1, 0.2, ...]" --top-k 10 --metric cosine
Attention Mechanisms
# Compute attention
ruvector-pg attention compute --query "[...]" --keys "[[...]]" --values "[[...]]" --type scaled_dot
# List available attention types
ruvector-pg attention list-types
Graph Neural Networks
# Create GNN layer
ruvector-pg gnn create my_layer --type gcn --input-dim 384 --output-dim 128
# Forward pass
ruvector-pg gnn forward my_layer --features features.json --edges edges.json
Graph & Cypher
# Execute Cypher query
ruvector-pg graph query "MATCH (n:Person) RETURN n"
# Create node
ruvector-pg graph create-node --labels "Person,Developer" --properties '{"name": "Alice"}'
# Traverse graph
ruvector-pg graph traverse --start node123 --depth 3 --type bfs
Self-Learning
# Train from trajectories
ruvector-pg learning train --file trajectories.json --epochs 10
# Make prediction
ruvector-pg learning predict --input "[0.1, 0.2, ...]"
Benchmarking
# Run benchmarks
ruvector-pg bench run --type all --size 10000 --dim 384
# Generate report
ruvector-pg bench report --format table
Global Options
-c, --connection <string>- PostgreSQL connection string (default:postgresql://localhost:5432/ruvector)-v, --verbose- Enable verbose output
Features
- Vector Search: HNSW and IVFFlat indexes with cosine, L2, and inner product metrics
- 39 Attention Mechanisms: Scaled dot-product, multi-head, flash, sparse, and more
- Graph Neural Networks: GCN, GraphSAGE, GAT, GIN layers
- Graph Operations: Cypher queries, BFS/DFS traversal
- Self-Learning: ReasoningBank-based trajectory learning
- Hyperbolic Embeddings: Poincaré and Lorentz models
- Sparse Vectors: BM25 and SPLADE for hybrid search
License
MIT