hoops_ai.ml.embeddings
Quick Overview
Classes
Embedding(values, model, dim[, id, metadata])Single embedding result.
EmbeddingBatch(values, model, dim[, ids, ...])Batch embedding result for multiple inputs.
VectorRecord(id, embedding[, metadata])Record containing a vector embedding with metadata for storage.
VectorHit(id, score[, metadata, match_count])Search result containing a matched vector from similarity search.
INTERFACE Shape Embeddings for CAD search and similarity matching..
INTERFACE Text embeddings for semantic search and similarity matching.
INTERFACE vector storage supporting CRUD operations and filtering.
FaissVectorStore(dim)FAISS (in-memory) storage and retrieval of high-dimensionalvector store implementation.
HOOPSEmbeddings([cad_loader, model, device])HOOPS AI shape embeddings using graph neural networks on B-Rep data.
Embeddings Module
This module provides embeddings functionality for CAD data analysis, including: - Shape embeddings from CAD geometry - Text embeddings for semantic search - Vector storage and similarity search
- Key Classes:
HOOPSEmbeddings: Generate embeddings from CAD files using graph neural networks
ShapeEmbeddingsModel: Abstract base for shape embedding models
TextEmbeddingsModel: Abstract base for text embedding models
VectorStore: Abstract base for vector storage backends
FaissVectorStore: FAISS-based vector storage implementation
Embedding: Single embedding result data class
EmbeddingBatch: Batch embedding result data class
VectorRecord: Vector record for storage
VectorHit: Search result from similarity search
- class hoops_ai.ml.embeddings.Embedding(values, model, dim, id=None, metadata=None)
Bases:
objectSingle embedding result.
- Parameters:
values (np.ndarray) – Embedding vector of shape (dim,), dtype float32
model (str) – Model identifier (e.g., ‘hf:all-MiniLM-L6-v2’, ‘hoops:shape-v1’)
dim (int) – Dimensionality of the embedding vector
id (Optional[str]) – Optional identifier for this embedding (e.g., file path, part ID)
metadata (Dict[str, Any]) – Optional diagnostics (tokens, timings, processing info, etc.)
- values: np.ndarray
- class hoops_ai.ml.embeddings.EmbeddingBatch(values, model, dim, ids=None, metadata=None)
Bases:
objectBatch embedding result for multiple inputs.
- Parameters:
values (np.ndarray) – Embedding matrix of shape (n, dim), dtype float32
model (str) – Model identifier (e.g., ‘hf:all-MiniLM-L6-v2’, ‘hoops:shape-v1’)
dim (int) – Dimensionality of each embedding vector
ids (Optional[List[str]]) – Optional identifiers for each embedding in the batch
metadata (Dict[str, Any]) – Optional batch-level diagnostics
- classmethod from_arrays(embeddings, model='unknown', ids=None, metadata=None)
Create EmbeddingBatch from xarray or numpy arrays.
- Parameters:
embeddings (Union[xr.DataArray, np.ndarray]) – Embedding matrix (xr.DataArray or np.ndarray) with shape (n, dim)
model (str) – Model identifier string
ids (Optional[Union[xr.DataArray, np.ndarray, List[str]]]) – Optional part IDs (xr.DataArray, np.ndarray, or List[str])
metadata (Optional[Dict[str, Any]]) – Optional batch-level metadata
- Returns:
EmbeddingBatch instance
- Raises:
TypeError – If arrays are not of supported types
ValueError – If embedding array is not 2D
- Return type:
- get(index)
Retrieve a single Embedding from the batch by index.
- Parameters:
index (int) – Zero-based index into the batch.
- Returns:
Embedding with a copy of the vector at the given index.
- Raises:
IndexError – If index is out of range.
- Return type:
- values: np.ndarray
- class hoops_ai.ml.embeddings.VectorHit(id, score, metadata=None, match_count=1)
Bases:
objectSearch result containing a matched vector from similarity search.
- Parameters: