在 LangChain 应用里我们可以使用 Chat 模型,也就是擅长聊天的模型。这种模型的用法跟之前的语言模型有点区别。OpenAI 的 GPT3.5,GPT4 都可以作为这种 Chat 模型使用。
在这个 Node.js 程序文件的顶部,先导入一个 ChatOpenAI,它来自 langchain/chat_models/openai。然后再导入一个聊天信息 Schema,导入一个 HumanChatMessage,它们来自 langchain/schema,这种信息表示的是用户提供的信息。
下面声明一个 model ,新建一个 ChatOpenAI,然后声明一个 response,等于 await,用一下这个 model 上面的 call 这个方法,提供一个数组,数组项目是一些信息,这里可以新建一个 HumanChatMessage,具体的内容是 “写一首描述春天的诗歌。”这种信息就相当于是用户的信息。
在控制台,输出这个 response。然后在终端,执行 node index.mjs。 模型处理了用户信息以后,我们得到的是一个 AIChatMessage 类型的对象,表示这是一个人工智能生成的聊天信息,对象里有个 text 属性,对应的值就是模型生成的具体内容。
SystemChatMessage
这种聊天模型除了支持处理来自用户的消息,我们还可以通过系统消息来给人工智能模型提供一个身份,比如告诉它是谁,能做什么不能做什么等等。
先在 langchain/schema 里面,导入 SystemChatMessage。然后在使用聊天模型的时候,可以先提供一个系统信息,新建一个 SystemChatMessage ,用文字描述一下这个人工智能模型,比如“你是宁皓网的客服机器人,可以帮助宁皓网的用户解答技术问题。”下面再添加一条人类信息,比如“你是谁?”
在终端,执行一下 node index.mjs,这次输出的这条人工智能消息里面说它是宁皓网的客服机器人,可以帮助用户解决技术问题。