UNPKG

@langchain/core

Version:
1 lines 5.26 kB
{"version":3,"file":"prompt_values.cjs","names":["Serializable","value: string","HumanMessage","fields: BaseMessage[] | ChatPromptValueFields","getBufferString","fields: ImageContent | ImagePromptValueFields"],"sources":["../src/prompt_values.ts"],"sourcesContent":["import { Serializable } from \"./load/serializable.js\";\nimport { type BaseMessage } from \"./messages/base.js\";\nimport { HumanMessage } from \"./messages/human.js\";\nimport { getBufferString } from \"./messages/utils.js\";\n\nexport interface BasePromptValueInterface extends Serializable {\n toString(): string;\n\n toChatMessages(): BaseMessage[];\n}\n\nexport interface StringPromptValueInterface extends BasePromptValueInterface {\n value: string;\n}\n\nexport interface ChatPromptValueInterface extends BasePromptValueInterface {\n messages: BaseMessage[];\n}\n\n/**\n * Base PromptValue class. All prompt values should extend this class.\n */\nexport abstract class BasePromptValue\n extends Serializable\n implements BasePromptValueInterface\n{\n abstract toString(): string;\n\n abstract toChatMessages(): BaseMessage[];\n}\n\n/**\n * Represents a prompt value as a string. It extends the BasePromptValue\n * class and overrides the toString and toChatMessages methods.\n */\nexport class StringPromptValue\n extends BasePromptValue\n implements StringPromptValueInterface\n{\n static lc_name(): string {\n return \"StringPromptValue\";\n }\n\n lc_namespace = [\"langchain_core\", \"prompt_values\"];\n\n lc_serializable = true;\n\n value: string;\n\n constructor(value: string) {\n super({ value });\n this.value = value;\n }\n\n toString() {\n return this.value;\n }\n\n toChatMessages() {\n return [new HumanMessage(this.value)];\n }\n}\n\n/**\n * Interface for the fields of a ChatPromptValue.\n */\nexport interface ChatPromptValueFields {\n messages: BaseMessage[];\n}\n\n/**\n * Class that represents a chat prompt value. It extends the\n * BasePromptValue and includes an array of BaseMessage instances.\n */\nexport class ChatPromptValue\n extends BasePromptValue\n implements ChatPromptValueInterface\n{\n lc_namespace = [\"langchain_core\", \"prompt_values\"];\n\n lc_serializable = true;\n\n static lc_name() {\n return \"ChatPromptValue\";\n }\n\n messages: BaseMessage[];\n\n constructor(messages: BaseMessage[]);\n\n constructor(fields: ChatPromptValueFields);\n\n constructor(fields: BaseMessage[] | ChatPromptValueFields) {\n if (Array.isArray(fields)) {\n // eslint-disable-next-line no-param-reassign\n fields = { messages: fields };\n }\n\n super(fields);\n this.messages = fields.messages;\n }\n\n toString() {\n return getBufferString(this.messages);\n }\n\n toChatMessages() {\n return this.messages;\n }\n}\n\nexport type ImageContent = {\n /** Specifies the detail level of the image. */\n detail?: \"auto\" | \"low\" | \"high\";\n\n /** Either a URL of the image or the base64 encoded image data. */\n url: string;\n};\n\nexport interface ImagePromptValueFields {\n imageUrl: ImageContent;\n}\n\n/**\n * Class that represents an image prompt value. It extends the\n * BasePromptValue and includes an ImageURL instance.\n */\nexport class ImagePromptValue extends BasePromptValue {\n lc_namespace = [\"langchain_core\", \"prompt_values\"];\n\n lc_serializable = true;\n\n static lc_name() {\n return \"ImagePromptValue\";\n }\n\n imageUrl: ImageContent;\n\n /** @ignore */\n value: string;\n\n constructor(fields: ImagePromptValueFields);\n\n constructor(fields: ImageContent);\n\n constructor(fields: ImageContent | ImagePromptValueFields) {\n if (!(\"imageUrl\" in fields)) {\n // eslint-disable-next-line no-param-reassign\n fields = { imageUrl: fields };\n }\n\n super(fields);\n this.imageUrl = fields.imageUrl;\n }\n\n toString() {\n return this.imageUrl.url;\n }\n\n toChatMessages() {\n return [\n new HumanMessage({\n content: [\n {\n type: \"image_url\",\n image_url: {\n detail: this.imageUrl.detail,\n url: this.imageUrl.url,\n },\n },\n ],\n }),\n ];\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAsBA,IAAsB,kBAAtB,cACUA,uCAEV,CAIC;;;;;AAMD,IAAa,oBAAb,cACU,gBAEV;CACE,OAAO,UAAkB;AACvB,SAAO;CACR;CAED,eAAe,CAAC,kBAAkB,eAAgB;CAElD,kBAAkB;CAElB;CAEA,YAAYC,OAAe;EACzB,MAAM,EAAE,MAAO,EAAC;EAChB,KAAK,QAAQ;CACd;CAED,WAAW;AACT,SAAO,KAAK;CACb;CAED,iBAAiB;AACf,SAAO,CAAC,IAAIC,2BAAa,KAAK,MAAO;CACtC;AACF;;;;;AAaD,IAAa,kBAAb,cACU,gBAEV;CACE,eAAe,CAAC,kBAAkB,eAAgB;CAElD,kBAAkB;CAElB,OAAO,UAAU;AACf,SAAO;CACR;CAED;CAMA,YAAYC,QAA+C;AACzD,MAAI,MAAM,QAAQ,OAAO,EAEvB,SAAS,EAAE,UAAU,OAAQ;EAG/B,MAAM,OAAO;EACb,KAAK,WAAW,OAAO;CACxB;CAED,WAAW;AACT,SAAOC,8BAAgB,KAAK,SAAS;CACtC;CAED,iBAAiB;AACf,SAAO,KAAK;CACb;AACF;;;;;AAkBD,IAAa,mBAAb,cAAsC,gBAAgB;CACpD,eAAe,CAAC,kBAAkB,eAAgB;CAElD,kBAAkB;CAElB,OAAO,UAAU;AACf,SAAO;CACR;CAED;;CAGA;CAMA,YAAYC,QAA+C;AACzD,MAAI,EAAE,cAAc,SAElB,SAAS,EAAE,UAAU,OAAQ;EAG/B,MAAM,OAAO;EACb,KAAK,WAAW,OAAO;CACxB;CAED,WAAW;AACT,SAAO,KAAK,SAAS;CACtB;CAED,iBAAiB;AACf,SAAO,CACL,IAAIH,2BAAa,EACf,SAAS,CACP;GACE,MAAM;GACN,WAAW;IACT,QAAQ,KAAK,SAAS;IACtB,KAAK,KAAK,SAAS;GACpB;EACF,CACF,EACF,EACF;CACF;AACF"}