import { AbstractAiIntegrationConfiguration } from "./AbstractAiIntegrationConfiguration.js"; import { EmbeddingPathConfiguration } from "./EmbeddingPathConfiguration.js"; import { EmbeddingsTransformation } from "./EmbeddingsTransformation.js"; import { ChunkingOptions } from "./ChunkingOptions.js"; import { VectorEmbeddingType } from "../../Queries/VectorSearch/VectorEmbeddingType.js"; import { EtlType } from "../Etl/ConnectionString.js"; import { DocumentConventions } from "../../Conventions/DocumentConventions.js"; /** * Configuration for an Embeddings Generation ETL task. * Embeddings Generation ETL monitors a collection and automatically generates vector embeddings * for specified document fields, enabling semantic search capabilities. */ export declare class EmbeddingsGenerationConfiguration extends AbstractAiIntegrationConfiguration { /** * Unique normalized identifier for this embeddings generation task. * Must be lowercase, alphanumeric with hyphens only. */ identifier: string; /** * The collection to monitor for embedding generation. */ collection: string; /** * List of field paths to generate embeddings for (path-based approach). * Mutually exclusive with embeddingsTransformation. */ embeddingsPathConfigurations?: EmbeddingPathConfiguration[]; /** * Transformation script for custom embedding generation (script-based approach). * Must use embeddings.generate() function. * Mutually exclusive with embeddingsPathConfigurations. */ embeddingsTransformation?: EmbeddingsTransformation; /** * Vector quantization type for storing embeddings. * Cannot be "Text" - must be "Single", "Int8", or "Binary". * @default "Single" */ quantization: VectorEmbeddingType; /** * Chunking options for query-time embedding generation. * Required for processing search queries. */ chunkingOptionsForQuerying: ChunkingOptions; /** * Cache expiration time for document embeddings in milliseconds. * @default 90 days (7776000000 ms) */ embeddingsCacheExpiration: number; /** * Cache expiration time for query embeddings in milliseconds. * @default 14 days (1209600000 ms) */ embeddingsCacheForQueryingExpiration: number; /** * Gets the transformation name based on the configuration approach. * @internal */ get transformationName(): string; /** * Gets the ETL type for this configuration. */ get etlType(): EtlType; /** * Gets the destination identifier for this ETL task. */ getDestination(): string; /** * Gets the default task name (same as identifier). */ getDefaultTaskName(): string; /** * Generates a normalized identifier from the configuration name. * @returns A normalized identifier string */ generateIdentifier(): string; /** * Validates the embeddings generation configuration. * @param options.validateName Whether to validate the name field (default: true) * @param options.validateConnection Whether to validate the connection string (default: true) * @param options.validateIdentifier Whether to validate the identifier (default: true) * @returns Array of validation error messages (empty if valid) */ validate(options?: { validateName?: boolean; validateConnection?: boolean; validateIdentifier?: boolean; }): string[]; /** * Serializes the configuration to JSON format for server communication. * @param conventions Document conventions for serialization * @returns Serialized configuration object */ serialize(conventions: DocumentConventions): object; /** * Checks if this configuration uses encrypted communication. * @returns true if the connection uses encryption, false otherwise */ usingEncryptedCommunicationChannel(): boolean; /** * Compares this configuration with another to detect differences. * @param other The other configuration to compare with * @returns true if configurations are equivalent, false otherwise */ isEqual(other: EmbeddingsGenerationConfiguration): boolean; private _arePathConfigurationsEqual; private _serializePathConfiguration; private _serializeTransformation; private _serializeChunkingOptions; } //# sourceMappingURL=EmbeddingsGenerationConfiguration.d.ts.map