UNPKG

@langchain/core

Version:
1 lines 5.17 kB
{"version":3,"file":"prompt_values.cjs","names":["Serializable","HumanMessage","getBufferString"],"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 // oxlint-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 // oxlint-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,0BAAAA,aAEV,CAIA;;;;;AAMA,IAAa,oBAAb,cACU,gBAEV;CACE,OAAO,UAAkB;EACvB,OAAO;CACT;CAEA,eAAe,CAAC,kBAAkB,eAAe;CAEjD,kBAAkB;CAElB;CAEA,YAAY,OAAe;EACzB,MAAM,EAAE,MAAM,CAAC;EACf,KAAK,QAAQ;CACf;CAEA,WAAW;EACT,OAAO,KAAK;CACd;CAEA,iBAAiB;EACf,OAAO,CAAC,IAAIC,cAAAA,aAAa,KAAK,KAAK,CAAC;CACtC;AACF;;;;;AAaA,IAAa,kBAAb,cACU,gBAEV;CACE,eAAe,CAAC,kBAAkB,eAAe;CAEjD,kBAAkB;CAElB,OAAO,UAAU;EACf,OAAO;CACT;CAEA;CAMA,YAAY,QAA+C;EACzD,IAAI,MAAM,QAAQ,MAAM,GAEtB,SAAS,EAAE,UAAU,OAAO;EAG9B,MAAM,MAAM;EACZ,KAAK,WAAW,OAAO;CACzB;CAEA,WAAW;EACT,OAAOC,cAAAA,gBAAgB,KAAK,QAAQ;CACtC;CAEA,iBAAiB;EACf,OAAO,KAAK;CACd;AACF;;;;;AAkBA,IAAa,mBAAb,cAAsC,gBAAgB;CACpD,eAAe,CAAC,kBAAkB,eAAe;CAEjD,kBAAkB;CAElB,OAAO,UAAU;EACf,OAAO;CACT;CAEA;;CAGA;CAMA,YAAY,QAA+C;EACzD,IAAI,EAAE,cAAc,SAElB,SAAS,EAAE,UAAU,OAAO;EAG9B,MAAM,MAAM;EACZ,KAAK,WAAW,OAAO;CACzB;CAEA,WAAW;EACT,OAAO,KAAK,SAAS;CACvB;CAEA,iBAAiB;EACf,OAAO,CACL,IAAID,cAAAA,aAAa,EACf,SAAS,CACP;GACE,MAAM;GACN,WAAW;IACT,QAAQ,KAAK,SAAS;IACtB,KAAK,KAAK,SAAS;GACrB;EACF,CACF,EACF,CAAC,CACH;CACF;AACF"}