/** * @license * Copyright 2025 Steven Roussey * SPDX-License-Identifier: Apache-2.0 */ import type { IRunConfig, TaskConfig } from "@workglow/task-graph"; import { CreateWorkflow } from "@workglow/task-graph"; import { DataPortSchema, FromSchema, TypedArraySchemaOptions } from "@workglow/util/schema"; import type { ModelConfig } from "../model/ModelSchema"; import { AiTask } from "./base/AiTask"; export declare const TextEmbeddingInputSchema: { readonly type: "object"; readonly properties: { readonly text: { readonly anyOf: readonly [{ readonly type: "string"; readonly title: "Text"; readonly description: "The text to embed"; }, { readonly type: "array"; readonly items: { readonly type: "string"; readonly title: "Text"; readonly description: "The text to embed"; }; }]; }; readonly model: { readonly oneOf: readonly [{ readonly title: "Model"; readonly description: `The model ${string}`; } & Record & { readonly format: import(".").TypeModelSemantic; readonly type: "string"; }, { readonly type: "object"; readonly properties: { readonly model_id: { readonly type: "string"; }; readonly capabilities: { readonly type: "array"; readonly items: { readonly type: "string"; }; readonly "x-ui-editor": "multiselect"; }; readonly title: { readonly type: "string"; }; readonly description: { readonly type: "string"; readonly "x-ui-editor": "textarea"; }; readonly provider: { readonly type: "string"; }; readonly provider_config: { readonly type: "object"; readonly properties: { readonly credential_key: { readonly type: "string"; readonly format: "credential"; readonly "x-ui-hidden": true; }; readonly native_dimensions: { readonly type: "integer"; readonly description: "Native output vector dimensions for embedding models"; }; readonly mrl: { readonly type: "boolean"; readonly description: "Whether the model supports Matryoshka Representation Learning"; }; }; readonly additionalProperties: true; readonly default: {}; }; readonly metadata: { readonly type: "object"; readonly default: {}; readonly "x-ui-hidden": true; }; }; readonly required: readonly ["provider", "provider_config"]; readonly format: "model"; readonly additionalProperties: true; } & Record & { readonly format: import(".").TypeModelSemantic; }]; } & Record & { readonly format: import(".").TypeModelSemantic; }; }; readonly required: readonly ["text", "model"]; readonly additionalProperties: false; }; export declare const TextEmbeddingOutputSchema: { readonly type: "object"; readonly properties: { readonly vector: { readonly anyOf: readonly [{ readonly type: "array"; readonly format: "TypedArray"; readonly title: "Typed Array"; readonly description: "A typed array (Float32Array, Int8Array, etc.)"; }, { readonly type: "array"; readonly items: { readonly type: "array"; readonly format: "TypedArray"; readonly title: "Typed Array"; readonly description: "A typed array (Float32Array, Int8Array, etc.)"; }; }]; }; }; readonly required: readonly ["vector"]; readonly additionalProperties: false; }; export type TextEmbeddingTaskInput = { model: string | ModelConfig; text: string | string[]; }; export type TextEmbeddingTaskOutput = FromSchema; export type TextEmbeddingTaskConfig = TaskConfig; /** * A task that generates vector embeddings for text using a specified embedding model. * Embeddings are numerical representations of text that capture semantic meaning, * useful for similarity comparisons and semantic search. * * @extends AiTask */ export declare class TextEmbeddingTask extends AiTask { static type: string; /** Capabilities required of the model; gated in {@link AiTask.execute}. */ static readonly requires: ["text.embedding"]; static category: string; static title: string; static description: string; static inputSchema(): DataPortSchema; static outputSchema(): DataPortSchema; } export declare const textEmbedding: (input: TextEmbeddingTaskInput, config?: TextEmbeddingTaskConfig, runConfig?: Partial) => Promise<{ vector: import("@workglow/util/worker").TypedArray[] | import("@workglow/util/worker").TypedArray; }>; declare module "@workglow/task-graph" { interface Workflow { textEmbedding: CreateWorkflow; } } //# sourceMappingURL=TextEmbeddingTask.d.ts.map