赞
踩
各位人工智能爱好者,大家好!今天,我们就来详细了解一下 LangChain 聊天模型。LangChain是一个很棒的工具,它提供了与各种语言模型交互的标准接口,包括基于文本的大型语言模型(LLM)和聊天模型。
模型是 LangChain 的重要组成部分。LangChain 不是模型的提供者,而是一个接口,让您可以与来自其他地方的各种语言模型进行交互。目前,LangChain支持LLM、聊天模型和文本嵌入模型。
LLM 和聊天模型之间的主要区别在于它们的输入和输出结构。LLM 在基于文本的输入和输出上运行,而聊天模型则遵循基于消息的输入和输出系统。
值得注意的是,聊天模型 API 是一个相对较新的功能,并且它们仍在确定最有效的抽象。
聊天模型是语言模型的变体。虽然他们在底层使用语言模型,但他们公开的接口有些不同。它们公开了一个接口,其中“聊天消息”是输入和输出,而不是“文本输入、文本输出”API。
在 LangChain,他们将 ChatMessage 称为聊天模型的信息模块化单元。这通常包括一个“文本”字段,表示聊天消息的内容。目前支持四种不同类别的 ChatMessage:
HumanChatMessage
:从人类的角度发送的聊天消息。
AIChatMessage
:从人类正在通信的人工智能系统的角度发送的消息。
SystemChatMessage
:向 AI 系统提供有关对话的一些信息的消息。通常在对话开始时发送。
ChatMessage
:通用聊天消息,不仅具有“文本”字段,还具有任意“角色”字段。
LangChain 目前支持 ChatOpenAI 模型(带有 gpt-4 和 gpt-3.5-turbo),但他们预计将来会添加更多。首先,您需要做的就是使用 LLM 实现的 call 方法,传入字符串输入。以下是如何使用 ChatOpenAI 实现发起对话的简单示例:
- import { ChatOpenAI } from "langchain/chat_models/openai";
- import { HumanChatMessage } from "langchain/schema";
-
- export const run = async () => {
- const chat = new ChatOpenAI();
- const response = await chat.call([
- new HumanChatMessage(
- "What is a good name for a company that makes colorful socks?"
- ),
- ]);
- console.log(response);
- // AIChatMessage { text: '\n\nRainbow Sox Co.' }
- };
为了更深入的了解,您可以参考 API 参考:ChatOpenAI和HumanChatMessage。
LangChain 提供了多种与各种模型提供商集成的聊天模型实现。这些包括ChatOpenAI
、Azure ChatOpenAI
、 和ChatAnthropic
。每个提供程序都有不同的实例化方式。例如,要实例化ChatOpenAI
:
- import { ChatOpenAI } from "langchain/chat_models/openai";
-
- const model = new ChatOpenAI({
- temperature: 0.9,
- apiKey: "your_openai_api_key"
- });
这temperature
是一个超参数,用于调整模型响应的随机性。较高的值会导致更多样化的输出,而较低的值会使输出更具确定性。
这apiKey
是您的个人 OpenAI API 密钥,它授权您使用该模型。
同样,您可以实例化Azure ChatOpenAI 和
ChatAnthropic
:
- // Azure ChatOpenAI
- import { AzureChatOpenAI } from "langchain/chat_models/azure";
-
- const model = new AzureChatOpenAI({
- temperature: 0.9,
- azureApiKey: "your_azure_api_key"
- });
-
- // ChatAnthropic
- import { ChatAnthropic } from "langchain/chat_models/anthropic";
-
- const model = new ChatAnthropic({
- temperature: 0.9,
- anthropicApiKey: "your_anthropic_api_key"
- });
注意:请确保将"your_openai_api_key"
、"your_azure_api_key"
、 和替换"your_anthropic_api_key"
为您的实际 API 密钥。
请记住,每个提供程序可能具有其实现所独有的特定参数。请务必参考 LangChain 文档或提供商的文档以全面了解参数。
LangChain的聊天模型提供了与各种AI语言模型交互的统一方法。这种多功能性允许开发人员在不同的提供商之间无缝切换。虽然我们已经介绍了 OpenAI、Azure 和 Anthropic 实例化聊天模型的基础知识,但 LangChain 中还提供了大量其他功能和自定义功能。作为一个开源项目,LangChain 鼓励社区贡献来推动其成长和进化。借助 LangChain,创建强大的语言处理应用程序的潜力触手可及。
什么是 LangChain ?
我如何为 LangChain 做出贡献?
temperature
实例化代码中的参数是什么?
temperature
参数控制模型响应的随机性。较高的值会产生更多的随机输出,而较低的值会使模型的输出更具确定性。什么是 API 密钥?为什么需要它?
我在哪里可以获得 API 密钥?
LangChain可以免费使用吗?
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。