| 12345678910111213141516171819202122232425262728293031 |
- /**
- * 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;
- constructor(config?: LocalLlamaCppProviderConfig);
- getModelId(): string;
- getDimensions(): number | 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>;
- }
|