UNPKG

langextract

Version:

A TypeScript library for extracting structured and grounded information from text using LLMs

60 lines 2.28 kB
/** * Copyright 2025 kmbro. * * This is a TypeScript translation of the original Python LangExtract library * by Google LLC (https://github.com/google/langextract). * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { Document, AnnotatedDocument, FormatType } from "./types"; import { BaseLanguageModel } from "./inference"; import { PromptTemplateStructured } from "./prompting"; import { AbstractResolver } from "./resolver"; export declare class DocumentRepeatError extends Error { constructor(message: string); } export interface AnnotatorOptions { formatType?: FormatType; attributeSuffix?: string; fenceOutput?: boolean; maxTokens?: number; } export declare class Annotator { private languageModel; private promptTemplate; private formatType; private attributeSuffix; private fenceOutput; private maxTokens?; constructor(languageModel: BaseLanguageModel, promptTemplate: PromptTemplateStructured, options?: AnnotatorOptions); annotateDocuments(documents: Document[], resolver: AbstractResolver, options?: { maxCharBuffer?: number; batchLength?: number; debug?: boolean; extractionPasses?: number; }): Promise<AnnotatedDocument[]>; annotateText(text: string, resolver: AbstractResolver, options?: { maxCharBuffer?: number; batchLength?: number; additionalContext?: string; debug?: boolean; extractionPasses?: number; }): Promise<AnnotatedDocument>; private annotateDocumentsSinglePass; private annotateDocumentsSequentialPasses; private processDocumentBatch; private processDocumentBatchSequentialPasses; private chunkDocument; private generatePrompt; } //# sourceMappingURL=annotation.d.ts.map