/** * CyborgDB Service * REST API for CyborgDB: The Confidential Vector Database * * The version of the OpenAPI document: 0.17.1.dev16 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ /** * * @export * @interface Request */ export interface Request { /** * Query text for a BM25 full-text leg. Requires an index with at least one full_text field. Omitted/empty leaves the query text-free. * @type {string} * @memberof Request */ text?: string; /** * full_text fields the text leg searches; omitted means all of them. Naming a non-full_text field raises. * @type {Array} * @memberof Request */ textFields?: Array; /** * Per-field weights on the summed per-field BM25 scores, parallel to the searched fields. Omitted means 1.0 each. * @type {Array} * @memberof Request */ textFieldWeights?: Array; /** * Require every query term to match (AND) instead of any (OR, the default). * @type {boolean} * @memberof Request */ requireAllTerms?: boolean; /** * Leg blend in [0, 1]: 0 = pure BM25, 1 = pure vector; omitted means 0.5. An exact endpoint skips the dead leg's retrieval. * @type {number} * @memberof Request */ alpha?: number; /** * RRF rank-smoothing constant (> 0; omitted means 60). Higher rewards agreement further down each leg's list. * @type {number} * @memberof Request */ rrfK?: number; /** * Per-leg candidate depth as a multiple of top_k (>= 1; omitted means 3), so each leg looks deeper than the final cut. * @type {number} * @memberof Request */ windowMult?: number; /** * ID name * @type {string} * @memberof Request */ indexName: string; /** * 32-byte encryption key as hex string. Required for SDK-supplied indexes; must be omitted for KMS-backed indexes (the service resolves the KEK via the index's KMSBlob). * @type {string} * @memberof Request */ indexKey?: string; /** * * @type {Array>} * @memberof Request */ queryVectors: Array>; /** * * @type {string} * @memberof Request */ queryContents?: string; /** * * @type {number} * @memberof Request */ topK?: number; /** * * @type {number} * @memberof Request */ nProbes?: number; /** * * @type {number} * @memberof Request */ rerankMult?: number; /** * * @type {boolean} * @memberof Request */ greedy?: boolean; /** * Metadata filters as a JSON object. Operators: `$eq`, `$ne`, `$in`, `$nin`, `$exists`, `$gt`, `$gte`, `$lt`, `$lte`, `$regex`, `$contains`, combined with `$and` / `$or` / `$nor` / `$not`. Filtering works on any metadata field; the index's `metadata_schema` only decides how a filter is resolved — fields marked `filterable` (the default) are answered from the inverted index, and `$regex` / `$contains` are answered from the regex dictionary on `pattern` fields. Anything else falls back to a post-filter over the decrypted metadata, which is correct but slower. Dates have no native type: store and filter them as epoch milliseconds. * @type {{ [key: string]: any; }} * @memberof Request */ filters?: { [key: string]: any; }; /** * * @type {Array} * @memberof Request */ include?: Array; } /** * Check if a given object implements the Request interface. */ export declare function instanceOfRequest(value: object): value is Request; export declare function RequestFromJSON(json: any): Request; export declare function RequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): Request; export declare function RequestToJSON(json: any): Request; export declare function RequestToJSONTyped(value?: Request | null, ignoreDiscriminator?: boolean): any;