Add Your First Vector
- CLI
- Python SDK
- JavaScript SDK
Copy
gravixlayer vectors vector upsert-text <index-id> --text "This is a sample document" --model "baai/bge-large-en-v1.5" --id "sample-doc-1"
Copy
Upserting text vector to index: a6012e38-8742-463b-bf1d-96f46a583923
SUCCESS: Text vector upserted successfully!
Vector ID: sample-doc-1
Model: baai/bge-large-en-v1.5
Dimension: 1024
Usage: {'prompt_tokens': 5, 'total_tokens': 5}
Copy
import os
from gravixlayer import GravixLayer
client = GravixLayer()
# Get vector operations for the index
index_id = "your-index-id"
vectors = client.vectors.index(index_id)
# Upsert a vector with text
vector_result = vectors.upsert_text(
text="This is a sample document for embedding",
model="baai/bge-large-en-v1.5",
id="sample-doc-1",
metadata={
"title": "Sample Document",
"category": "example"
}
)
print(f"Upserted vector: {vector_result.id}")
Copy
import { GravixLayer } from 'gravixlayer';
const client = new GravixLayer({
apiKey: process.env.GRAVIXLAYER_API_KEY,
});
// Get vector operations for the index
const indexId = "your-index-id";
const vectors = client.vectors.index(indexId);
// Upsert a vector with text
const vectorResult = await vectors.upsertText(
"This is a sample document for embedding",
"baai/bge-large-en-v1.5",
"sample-doc-1",
{
title: "Sample Document",
category: "example"
}
);
console.log(`Upserted vector: ${vectorResult.id}`);
Upsert Vectors with Embeddings
- CLI
- Python SDK
- JavaScript SDK
Copy
# Upsert vector with embedding
gravixlayer vectors vector upsert <index-id> --id "my-vector-1" --embedding "[0.1,0.2,0.3,0.4,0.5]" --metadata '{"title": "Sample Document"}'
# Upsert with delete protection
gravixlayer vectors vector upsert <index-id> --id "protected-vector-1" --embedding "[0.4,0.5,0.6,0.7,0.8]" --delete-protection
Copy
import os
from gravixlayer import GravixLayer
client = GravixLayer()
index_id = "your-index-id"
# Get vector operations for specific index
vectors = client.vectors.index(index_id)
# Example 1: Upsert vector with specific ID
vector = vectors.upsert(
embedding=[0.1, 0.2, 0.3, 0.4, 0.5],
id="my-vector-1",
metadata={"title": "Sample Document", "category": "test"}
)
print(f"Upserted vector: {vector.id}")
# Example 2: Upsert text vector (automatic embedding generation)
text_vector = vectors.upsert_text(
text="This document will be automatically converted to embeddings",
model="baai/bge-large-en-v1.5",
id="text-vector-1",
metadata={"type": "text", "source": "documentation"}
)
print(f"Text vector: {text_vector.id}")
Copy
import { GravixLayer } from 'gravixlayer';
const client = new GravixLayer({
apiKey: process.env.GRAVIXLAYER_API_KEY,
});
// Use the existing test index with 1024 dimensions
const indexId = "your-index-id";
const vectors = client.vectors.index(indexId);
const embedding1024 = Array.from({length: 1024}, () => Math.random() * 0.1);
const vector = await vectors.upsert(
embedding1024,
`my-vector-${Date.now()}`,
{ title: "Sample Document", category: "test" }
);
console.log(`Upserted vector: ${vector.id}`);
// Example 2: Upsert text vector (automatic embedding generation)
const textVector = await vectors.upsertText(
"This document will be automatically converted to embeddings",
"baai/bge-large-en-v1.5",
`text-vector-${Date.now()}`,
{ type: "text", source: "documentation" }
);
console.log(`Text vector: ${textVector.id}`);
Get Vector Details
- CLI
- Python SDK
- JavaScript SDK
Copy
gravixlayer vectors vector get <index-id> <vector-id>
Copy
import os
from gravixlayer import GravixLayer
client = GravixLayer()
index_id = "your-index-id"
vectors = client.vectors.index(index_id)
# Get vector details
vector_details = vectors.get("sample-doc-1")
print(f"Vector ID: {vector_details.id}")
print(f"Metadata: {vector_details.metadata}")
print(f"Embedding dimension: {len(vector_details.embedding)}")
Copy
import { GravixLayer } from 'gravixlayer';
const client = new GravixLayer({
apiKey: process.env.GRAVIXLAYER_API_KEY,
});
const indexId = "your-index-id";
const vectors = client.vectors.index(indexId);
// Get vector details
const vectorDetails = await vectors.get("sample-doc-1");
console.log(`Vector ID: ${vectorDetails.id}`);
console.log(`Metadata: ${JSON.stringify(vectorDetails.metadata)}`);
console.log(`Embedding dimension: ${vectorDetails.embedding.length}`);
Update Vector
- CLI
- Python SDK
- JavaScript SDK
Copy
gravixlayer vectors vector update <index-id> <vector-id> --metadata '{"updated": "true", "version": "2.0"}'
Copy
import os
from gravixlayer import GravixLayer
client = GravixLayer()
index_id = "your-index-id"
vectors = client.vectors.index(index_id)
# Update vector metadata
updated_vector = vectors.update(
"sample-doc-1",
metadata={"updated": "true", "version": "2.0"}
)
print(f"Updated vector: {updated_vector.id}")
Copy
import { GravixLayer } from 'gravixlayer';
const client = new GravixLayer({
apiKey: process.env.GRAVIXLAYER_API_KEY,
});
const indexId = "your-index-id";
const vectors = client.vectors.index(indexId);
// Update vector metadata
const updatedVector = await vectors.update("sample-doc-1", {
metadata: { updated: "true", version: "2.0" }
});
console.log(`Updated vector: ${updatedVector.id}`);
Delete Vector
- CLI
- Python SDK
- JavaScript SDK
Copy
gravixlayer vectors vector delete <index-id> <vector-id>
Copy
import os
from gravixlayer import GravixLayer
client = GravixLayer()
index_id = "your-index-id"
vectors = client.vectors.index(index_id)
# Delete a single vector
delete_result = vectors.delete("sample-doc-1")
print(f"Deleted vector: {delete_result}")
# Delete multiple vectors
vector_ids = ["vector1", "vector2","vector3"]
batch_delete_result = vectors.batch_delete(vector_ids)
print(f"Batch delete result: {batch_delete_result}")
Copy
import { GravixLayer } from 'gravixlayer';
const client = new GravixLayer({
apiKey: process.env.GRAVIXLAYER_API_KEY,
});
const indexId = "your-index-id";
const vectors = client.vectors.index(indexId);
// Delete a single vector
const deleteResult = await vectors.delete("sample-doc-1");
console.log(`Deleted vector: ${deleteResult}`);
// Delete multiple vectors
console.log("\nBatch deleting vectors...");
const vectorIds = ["my-vector1", "my-vector-2"];
const batchDeleteResult = await vectors.batchDelete(vectorIds);
console.log(`Batch delete result:`, batchDeleteResult);
console.log(`Successfully deleted ${vectorIds.length} vector(s)`);
List Vectors
- CLI
- Python SDK
- JavaScript SDK
Copy
gravixlayer vectors vector list <index-id>
Copy
import os
from gravixlayer import GravixLayer
client = GravixLayer()
index_id = "your-api-key"
vectors = client.vectors.index(index_id)
# List all vectors (returns a dictionary with vector_id as key)
vector_list = vectors.list()
print(f"Total vectors: {len(vector_list.vectors)}")
for vector_id, vector in vector_list.vectors.items():
print(f"ID: {vector.id}")
print(f"Metadata: {vector.metadata}")
print("---")
Copy
import { GravixLayer } from 'gravixlayer';
const client = new GravixLayer({
apiKey: process.env.GRAVIXLAYER_API_KEY,
});
const indexId = "your-api-key";
const vectors = client.vectors.index(indexId);
// List all vectors
console.log("Listing all vectors in index...");
const vectorList = await vectors.list();
// Convert the vectors object to an array since it's a dictionary (Record<string, Vector>)
const vectorArray = Object.values(vectorList.vectors);
console.log(`Total vectors: ${vectorArray.length}\n`);
if (vectorArray.length === 0) {
console.log("No vectors found in this index.");
} else {
vectorArray.forEach((vector, index) => {
console.log(`${index + 1}. Vector ID: ${vector.id}`);
console.log(` Metadata: ${JSON.stringify(vector.metadata)}`);
console.log(` Embedding dimension: ${vector.embedding.length}`);
console.log(` Delete protection: ${vector.delete_protection}`);
console.log(` Created: ${vector.created_at}`);
console.log("---");
});
}
// You can also get the vector IDs as an array
const vectorIds = Object.keys(vectorList.vectors);
console.log(`\nVector IDs: ${vectorIds.join(', ')}`);

