import type { MessageContentDetail } from "../llm/index.js"; import { BaseEmbedding } from "./types.js"; export interface DeepInfraEmbeddingResponse { embeddings: number[][]; request_id: string; inference_status: InferenceStatus; } export interface InferenceStatus { status: string; runtime_ms: number; cost: number; tokens_input: number; } /** * DeepInfraEmbedding is an alias for DeepInfra that implements the BaseEmbedding interface. */ export declare class DeepInfraEmbedding extends BaseEmbedding { /** * DeepInfra model to use * @default "sentence-transformers/clip-ViT-B-32" * @see https://deepinfra.com/models/embeddings */ model: string; /** * DeepInfra API token * @see https://deepinfra.com/dash/api_keys * If not provided, it will try to get the token from the environment variable `DEEPINFRA_API_TOKEN` * */ apiToken: string; /** * Prefix to add to the query * @default "" */ queryPrefix: string; /** * Prefix to add to the text * @default "" */ textPrefix: string; /** * * @default 5 */ maxRetries: number; /** * * @default 60 * 1000 */ timeout: number; constructor(init?: Partial); getTextEmbedding(text: string): Promise; getQueryEmbedding(query: MessageContentDetail): Promise; getTextEmbeddings(texts: string[]): Promise; getQueryEmbeddings(queries: string[]): Promise; private getDeepInfraEmbedding; private getUrl; }