@ai-sdk/provider-utils
Version:
38 lines • 1.69 kB
TypeScript
import { Experimental_ExtractionModelV4, Experimental_ExtractionModelV4CallOptions, Experimental_ExtractionModelV4Result, LanguageModelV4 } from "@ai-sdk/provider";
import { WORKFLOW_DESERIALIZE, WORKFLOW_SERIALIZE } from "@workflow/serde";
//#region src/extraction-language-model.d.ts
/** Adapts structured language-model output to typed field extraction. */
declare class ExtractionLanguageModel implements Experimental_ExtractionModelV4 {
readonly specificationVersion = "v4";
readonly supportedFieldTypes: readonly ["text", "number", "date", "time", "datetime", "duration", "list"];
readonly provider: string;
private readonly model;
private readonly maxFieldsPerCall;
constructor({ model, provider, maxFieldsPerCall }: {
model: LanguageModelV4;
provider?: string;
/**
* Most fields per language-model call, for providers that limit schema
* size. Larger field maps are split into parallel calls whose answers are
* merged. Usage is summed, and response and provider metadata come from
* the first call.
*/
maxFieldsPerCall?: number;
});
get modelId(): string;
static [WORKFLOW_SERIALIZE](model: ExtractionLanguageModel): {
model: LanguageModelV4;
provider: string;
maxFieldsPerCall: number;
};
static [WORKFLOW_DESERIALIZE](options: {
model: LanguageModelV4;
provider: string;
maxFieldsPerCall: number;
}): ExtractionLanguageModel;
doExtract(options: Experimental_ExtractionModelV4CallOptions): Promise<Experimental_ExtractionModelV4Result>;
private extractGroup;
}
//#endregion
export { ExtractionLanguageModel as Experimental_ExtractionLanguageModel };
//# sourceMappingURL=index.d.ts.map