| 1234567891011121314151617181920212223242526272829303132333435363738 |
- /**
- * local.ts - Local llama.cpp adapter implementing EmbeddingProvider.
- *
- * Wraps an existing `LlamaCpp` instance so the legacy GGUF path looks like
- * any other EmbeddingProvider to upstream callers. Used as the default and
- * as the fallback target when `OpenAIEmbeddingsProvider` trips its breaker.
- */
- import { type LlamaCpp } from "../llm.js";
- import type { EmbeddingProvider, ProviderEmbedOptions, ProviderEmbedding, ProviderHealth, ProviderKind } from "./provider.js";
- export type LocalLlamaCppProviderConfig = {
- /** Pre-built LlamaCpp instance (optional — falls back to global singleton). */
- llm?: LlamaCpp;
- /**
- * Stable model id reported via `getModelId()`. Defaults to "embeddinggemma"
- * to match the value in `content_vectors.model` for existing qmd installs.
- */
- modelId?: string;
- };
- export declare class LocalLlamaCppProvider implements EmbeddingProvider {
- readonly kind: ProviderKind;
- private readonly llm;
- private readonly modelId;
- private dimensions;
- private lastError;
- constructor(config?: LocalLlamaCppProviderConfig);
- getModelId(): string;
- getDimensions(): number | undefined;
- /**
- * Most recent thrown error from `llm.embed` / `llm.embedBatch`. Returns
- * `undefined` after a successful call or before the first call. See
- * `EmbeddingProvider.getLastError`.
- */
- getLastError(): string | undefined;
- healthcheck(_signal?: AbortSignal): Promise<ProviderHealth>;
- embed(text: string, options?: ProviderEmbedOptions): Promise<ProviderEmbedding | null>;
- embedBatch(texts: string[], options?: ProviderEmbedOptions): Promise<(ProviderEmbedding | null)[]>;
- dispose(): Promise<void>;
- }
|