Documentation Index
Fetch the complete documentation index at: https://docs.cyborg.co/llms.txt
Use this file to discover all available pages before exploring further.
VectorItem
Represents a single vector with its associated data.
type VectorItem struct {
Id string `json:"id"` // Unique identifier
Vector []float32 `json:"vector,omitempty"` // Vector data
Contents NullableContents `json:"contents,omitempty"` // Optional text content
Metadata map[string]interface{} `json:"metadata,omitempty"` // Optional metadata
}
Fields
| Field | Type | Description |
|---|
Id | string | Unique identifier for the vector (required) |
Vector | []float32 | The vector data as float32 slice |
Contents | NullableContents | Optional text content associated with the vector |
Metadata | map[string]interface{} | Optional key-value pairs for filtering and retrieval |
CreateIndexParams
Parameters for creating a new encrypted vector index.
type CreateIndexParams struct {
IndexName string `json:"index_name"` // Unique identifier for the index
IndexKey []byte `json:"index_key"` // 32-byte encryption key
IndexConfig IndexModel `json:"index_config,omitempty"` // Index configuration
Metric *string `json:"metric,omitempty"` // Distance metric
EmbeddingModel *string `json:"embedding_model,omitempty"` // Associated embedding model
}
Fields
| Field | Type | Required | Description |
|---|
IndexName | string | Yes | Unique identifier for the index |
IndexKey | []byte | Yes | 32-byte encryption key (use GenerateKey() to create) |
IndexConfig | IndexModel | No | Index configuration (IVFFlat, IVFPQ, or IVFSQ) |
Metric | *string | No | Distance metric (“euclidean”, “squared_euclidean”, “cosine”) |
EmbeddingModel | *string | No | Name of embedding model to associate |
Index Configuration Types
IndexModel Interface
All index configuration types implement this interface.
type IndexModel interface {
ToIndexConfig() *internal.IndexConfig
}
IVFSQ Configuration
Create an IVFSQ (Scalar Quantization) index configuration that compresses each dimension independently.
func IndexIVFSQ(dimension int32, sqBits int32) *indexIVFSQ
Parameters
| Parameter | Type | Description |
|---|
dimension | int32 | The dimensionality of vectors that will be stored |
sqBits | int32 | Number of bits per dimension for scalar quantization (default: 16) |
IVFFlat Configuration
Create an IVFFlat (Inverted File Flat) index configuration for higher accuracy.
func IndexIVFFlat(dimension int32) *indexIVFFlat
Parameters
| Parameter | Type | Description |
|---|
dimension | int32 | The dimensionality of vectors that will be stored |
IVFPQ Configuration
Create an IVFPQ (Inverted File with Product Quantization) index configuration for memory efficiency.
func IndexIVFPQ(dimension int32, pqDim int32, pqBits int32) *indexIVFPQ
Parameters
| Parameter | Type | Description |
|---|
dimension | int32 | The dimensionality of vectors that will be stored |
pqDim | int32 | Product quantization dimension (typically dimension/8 or dimension/16) |
pqBits | int32 | Bits per PQ code (typically 8, higher = more accurate but larger) |
Response Types
QueryResponse
Response from similarity search operations.
type QueryResponse = internal.QueryResponse
Contains search results with similar vectors and their metadata.
QueryResultItem
A single result from a similarity search query.
type QueryResultItem = internal.QueryResultItem
Represents one matching vector with its similarity score and metadata.
GetResponse
Response from Get operations containing retrieved vectors.
type GetResponse = internal.GetResponseModel
ListIDsResponse
Response from ListIDs operations.
type ListIDsResponse = internal.ListIDsResponse
Contains the list of vector IDs in the index.
Fields
| Field | Type | Description |
|---|
Ids | []string | List of all vector ID strings in the index |
Count | int32 | Total number of IDs in the index |
TrainParams
Parameters for training an encrypted vector index.
type TrainParams struct {
BatchSize *int32 `json:"batch_size,omitempty"` // Number of vectors per training batch
MaxIters *int32 `json:"max_iters,omitempty"` // Maximum training iterations
Tolerance *float64 `json:"tolerance,omitempty"` // Convergence tolerance
MaxMemory *int32 `json:"max_memory,omitempty"` // Maximum memory usage in MB
NLists *int32 `json:"n_lists,omitempty"` // Number of IVF clusters
}
Fields
| Field | Type | Description |
|---|
BatchSize | *int32 | Number of vectors processed per training batch (default: 2048) |
MaxIters | *int32 | Maximum training iterations (default: 100) |
Tolerance | *float64 | Convergence tolerance for training (default: 1e-6) |
MaxMemory | *int32 | Maximum memory usage in MB, 0 = no limit (default: 0) |
NLists | *int32 | Number of IVF clusters, 0 = auto-determine (default: 0) |
Sealed interface implemented by types that can be passed to Upsert.
type UpsertInput interface {
isUpsertInput()
}
Valid implementations: VectorItems, BinaryUpsertParams
Sealed interface implemented by types that can be passed to Query.
type QueryInput interface {
isQueryInput()
}
Valid implementations: QueryParams, BinaryQueryParams
VectorItems
A slice of VectorItem that implements UpsertInput for type-safe upsert operations.
type VectorItems []VectorItem
BinaryUpsertParams
Parameters for binary format vector upserts. More efficient than VectorItems for large batches.
type BinaryUpsertParams struct {
IDs []string
Vectors [][]float32
Metadata []map[string]interface{}
Contents []string
}
Fields
| Field | Type | Required | Description |
|---|
IDs | []string | Yes | Unique identifiers for each vector |
Vectors | [][]float32 | Yes | Vector data, shape [n_vectors][dimension] |
Metadata | []map[string]interface{} | No | Optional metadata for each vector (length must match IDs if provided) |
Contents | []string | No | Optional content strings for each vector (length must match IDs if provided) |
BinaryQueryParams
Parameters for binary format similarity search. More efficient than QueryParams for large batch queries.
type BinaryQueryParams struct {
QueryVectors [][]float32
TopK int32
NProbes *int32
Greedy *bool
Filters map[string]interface{}
Include []string
}
Fields
| Field | Type | Required | Description |
|---|
QueryVectors | [][]float32 | Yes | Query vectors, shape [n_queries][dimension] |
TopK | int32 | No | Number of nearest neighbors to return (default: 100) |
NProbes | *int32 | No | Number of IVF lists to probe |
Greedy | *bool | No | Enable greedy search mode |
Filters | map[string]interface{} | No | Metadata filters to apply |
Include | []string | No | Fields to include in response. Defaults to [] (only id is returned) |
QueryParams
Parameters for similarity search queries. Supports single vector, batch, and content-based queries.
type QueryParams struct {
QueryVector []float32 `json:"query_vector,omitempty"`
BatchQueryVectors [][]float32 `json:"query_vectors,omitempty"`
QueryContents *string `json:"query_contents,omitempty"`
TopK int32 `json:"top_k"`
NProbes *int32 `json:"n_probes,omitempty"`
Greedy *bool `json:"greedy,omitempty"`
Filters map[string]interface{} `json:"filters,omitempty"`
Include []string `json:"include"`
}
Fields
| Field | Type | Required | Description |
|---|
QueryVector | []float32 | No | Single query vector for similarity search |
BatchQueryVectors | [][]float32 | No | Multiple query vectors for batch search |
QueryContents | *string | No | Text content for semantic search |
TopK | int32 | No | Number of nearest neighbors to return |
NProbes | *int32 | No | Number of clusters to probe for search |
Greedy | *bool | No | Use greedy search algorithm |
Filters | map[string]interface{} | No | Metadata filters to apply |
Include | []string | No | Fields to include in results: "metadata", "distance", "vector", "contents". Defaults to [] (only id is returned) |