Class: HTM::EmbeddingService¶
Inherits: Object
Embedding Service - Processes and validates vector embeddings
This service wraps the configured embedding generator and provides: * Response validation * Dimension handling (padding/truncation) * Error handling and logging * Storage formatting * Circuit breaker protection for external LLM failures
The actual LLM call is delegated to HTM.configuration.embedding_generator
Class Methods¶
circuit_breaker()¶
Get or create the circuit breaker for embedding service
@return [HTM::CircuitBreaker] The circuit breaker instance
format_for_storage(embedding )¶
Format embedding for database storage
@param [Array
@return [String] PostgreSQL array format
generate(text )¶
Generate embedding with validation and processing
@param [String] Text to embed
@raise [CircuitBreakerOpenError] If circuit breaker is open
@return [Hash] Processed embedding with metadata
{
embedding: Array
max_dimension()¶
Maximum embedding dimension (configurable, default 2000)
@return [Integer] Max dimensions for pgvector HNSW index
pad_embedding(embedding )¶
Pad embedding to max_dimension with zeros
@param [Array
@return [Array
reset_circuit_breaker!()¶
Reset the circuit breaker (useful for testing)
@return [void]
validate_embedding!(embedding )¶
Validate embedding response format
@param [Object] Raw embedding from generator
@raise [HTM::EmbeddingError] if invalid