UNPKG

@langchain/core

Version:
1 lines 9.82 kB
{"version":3,"file":"prompt.d.cts","names":["BaseStringPromptTemplate","BasePromptTemplateInput","TypedPromptInputValues","TemplateFormat","SerializedPromptTemplate","InputValues","PartialValues","MessageContent","ContentBlock","PromptTemplateInput","RunInput","PartialVariableName","Format","NonAlphanumeric","ExtractTemplateParamsRecursive","T","Result","Param","Rest","ParamsFromFString","Record","ExtractedFStringParams","Symbol","PromptTemplate","NewPartialVariableName","Promise","Omit","Extract","Exclude"],"sources":["../../src/prompts/prompt.d.ts"],"sourcesContent":["import { BaseStringPromptTemplate } from \"./string.js\";\nimport type { BasePromptTemplateInput, TypedPromptInputValues } from \"./base.js\";\nimport { type TemplateFormat } from \"./template.js\";\nimport type { SerializedPromptTemplate } from \"./serde.js\";\nimport type { InputValues, PartialValues } from \"../utils/types/index.js\";\nimport { MessageContent, ContentBlock } from \"../messages/index.js\";\n/**\n * Inputs to create a {@link PromptTemplate}\n * @augments BasePromptTemplateInput\n */\nexport interface PromptTemplateInput<RunInput extends InputValues = any, PartialVariableName extends string = any, Format extends TemplateFormat = TemplateFormat> extends BasePromptTemplateInput<RunInput, PartialVariableName> {\n /**\n * The prompt template\n */\n template: MessageContent;\n /**\n * The format of the prompt template. Options are \"f-string\" and \"mustache\"\n */\n templateFormat?: Format;\n /**\n * Whether or not to try validating the template on initialization\n *\n * @defaultValue `true`\n */\n validateTemplate?: boolean;\n /**\n * Additional fields which should be included inside\n * the message content array if using a complex message\n * content.\n */\n additionalContentFields?: ContentBlock;\n}\ntype NonAlphanumeric = \" \" | \"\\t\" | \"\\n\" | \"\\r\" | '\"' | \"'\" | \"{\" | \"[\" | \"(\" | \"`\" | \":\" | \";\";\n/**\n * Recursive type to extract template parameters from a string.\n * @template T - The input string.\n * @template Result - The resulting array of extracted template parameters.\n */\ntype ExtractTemplateParamsRecursive<T extends string, Result extends string[] = []> = T extends `${string}{${infer Param}}${infer Rest}` ? Param extends `${NonAlphanumeric}${string}` ? ExtractTemplateParamsRecursive<Rest, Result> : ExtractTemplateParamsRecursive<Rest, [...Result, Param]> : Result;\nexport type ParamsFromFString<T extends string> = {\n [Key in ExtractTemplateParamsRecursive<T>[number] | (string & Record<never, never>)]: any;\n};\nexport type ExtractedFStringParams<T extends string, RunInput extends InputValues = Symbol> = RunInput extends Symbol ? ParamsFromFString<T> : RunInput;\n/**\n * Schema to represent a basic prompt for an LLM.\n * @augments BasePromptTemplate\n * @augments PromptTemplateInput\n *\n * @example\n * ```ts\n * import { PromptTemplate } from \"langchain/prompts\";\n *\n * const prompt = new PromptTemplate({\n * inputVariables: [\"foo\"],\n * template: \"Say {foo}\",\n * });\n * ```\n */\nexport declare class PromptTemplate<RunInput extends InputValues = any, PartialVariableName extends string = any> extends BaseStringPromptTemplate<RunInput, PartialVariableName> implements PromptTemplateInput<RunInput, PartialVariableName> {\n static lc_name(): string;\n template: MessageContent;\n templateFormat: TemplateFormat;\n validateTemplate: boolean;\n /**\n * Additional fields which should be included inside\n * the message content array if using a complex message\n * content.\n */\n additionalContentFields?: ContentBlock;\n constructor(input: PromptTemplateInput<RunInput, PartialVariableName>);\n _getPromptType(): \"prompt\";\n /**\n * Formats the prompt template with the provided values.\n * @param values The values to be used to format the prompt template.\n * @returns A promise that resolves to a string which is the formatted prompt.\n */\n format(values: TypedPromptInputValues<RunInput>): Promise<string>;\n /**\n * Take examples in list format with prefix and suffix to create a prompt.\n *\n * Intended to be used a a way to dynamically create a prompt from examples.\n *\n * @param examples - List of examples to use in the prompt.\n * @param suffix - String to go after the list of examples. Should generally set up the user's input.\n * @param inputVariables - A list of variable names the final prompt template will expect\n * @param exampleSeparator - The separator to use in between examples\n * @param prefix - String that should go before any examples. Generally includes examples.\n *\n * @returns The final prompt template generated.\n */\n static fromExamples(examples: string[], suffix: string, inputVariables: string[], exampleSeparator?: string, prefix?: string): PromptTemplate<any, any>;\n /**\n * Load prompt template from a template f-string\n */\n static fromTemplate<RunInput extends InputValues = Symbol, T extends string = string>(template: T, options?: Omit<PromptTemplateInput<RunInput, string, \"f-string\">, \"template\" | \"inputVariables\">): PromptTemplate<ExtractedFStringParams<T, RunInput>>;\n static fromTemplate<RunInput extends InputValues = Symbol, T extends string = string>(template: T, options?: Omit<PromptTemplateInput<RunInput, string>, \"template\" | \"inputVariables\">): PromptTemplate<ExtractedFStringParams<T, RunInput>>;\n static fromTemplate<RunInput extends InputValues = Symbol, T extends string = string>(template: T, options?: Omit<PromptTemplateInput<RunInput, string, \"mustache\">, \"template\" | \"inputVariables\">): PromptTemplate<InputValues>;\n /**\n * Partially applies values to the prompt template.\n * @param values The values to be partially applied to the prompt template.\n * @returns A new instance of PromptTemplate with the partially applied values.\n */\n partial<NewPartialVariableName extends string>(values: PartialValues<NewPartialVariableName>): Promise<PromptTemplate<InputValues<Exclude<Extract<keyof RunInput, string>, NewPartialVariableName>>, any>>;\n serialize(): SerializedPromptTemplate;\n static deserialize(data: SerializedPromptTemplate): Promise<PromptTemplate>;\n}\nexport {};\n//# sourceMappingURL=prompt.d.ts.map"],"mappings":"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"}