UNPKG

@langchain/core

Version:
1 lines 9.82 kB
{"version":3,"file":"prompt.d.ts","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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"}