LangChain 聊天模型:概述

今天我们仔细研究一下 LangChain 聊天模型。 LangChain 是一个很棒的工具,它提供了一个标准接口来与各种语言模型进行交互,包括基于文本的大型语言模型(LLM)和聊天模型。

LangChain中模型的概念

模型是 LangChain 的重要组成部分。LangChain 不是模型的提供者,而是一个接口,让您可以与来自其他地方的各种语言模型进行交互。目前 LangChain 支持 LLMs、Chat Models 和 Text Embedding 模型。

LLM 和聊天模型之间的主要区别在于它们的输入和输出结构。LLM 在基于文本的输入和输出上运行,而聊天模型遵循基于消息的输入和输出系统

值得注意的是,聊天模型 API 是一项相对较新的功能,它们仍在确定最有效的抽象。

聊天模型入门

聊天模型是语言模型的变体。虽然它们在底层使用语言模型,但它们公开的接口有些不同。它们不是“文本输入、文本输出”API,而是公开一个接口,其中“聊天消息”是输入和输出。

在 LangChain,他们将 ChatMessage 称为聊天模型的信息模块化单元。这通常包括一个“文本”字段,表示聊天消息的内容。目前支持四种不同类别的 ChatMessage:

  • • HumanChatMessage:从人的角度发送的聊天消息。

  • • AIChatMessage:从人类正在与之通信的 AI 系统的角度发送的消息。

  • • SystemChatMessage:为 AI 系统提供有关对话的一些信息的消息。通常在对话开始时发送。

  • • ChatMessage:一个通用的聊天消息,不仅有一个“文本”字段,还有一个任意的“角色”字段。

LangChain 目前支持 ChatOpenAI 模型(使用 gpt-4 和 gpt-3.5-turbo),预计未来会增加更多。开始需要做的就是使用 LLM 实现的调用方法,传入一个字符串输入。以下是如何使用 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: 'nnRainbow Sox Co.' }
};

更深入的理解可以参考API参考:ChatOpenAIHumanChatMessage

集成:聊天模型

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 聊天模型:概述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/159609.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!