当前位置:   article > 正文

LangChain 的聊天模型_langchain 聊天

langchain 聊天

各位人工智能爱好者,大家好!今天,我们就来详细了解一下 LangChain 聊天模型。LangChain是一个很棒的工具,它提供了与各种语言模型交互的标准接口,包括基于文本的大型语言模型(LLM)和聊天模型。

LangChain模型的概念

模型是 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 实现发起对话的简单示例:

  1. import { ChatOpenAI } from "langchain/chat_models/openai";
  2. import { HumanChatMessage } from "langchain/schema";
  3. export const run = async () => {
  4. const chat = new ChatOpenAI();
  5. const response = await chat.call([
  6. new HumanChatMessage(
  7. "What is a good name for a company that makes colorful socks?"
  8. ),
  9. ]);
  10. console.log(response);
  11. // AIChatMessage { text: '\n\nRainbow Sox Co.' }
  12. };

为了更深入的了解,您可以参考 API 参考:ChatOpenAIHumanChatMessage

集成:聊天模型

LangChain 提供了多种与各种模型提供商集成的聊天模型实现。这些包括ChatOpenAIAzure ChatOpenAI、 和ChatAnthropic。每个提供程序都有不同的实例化方式。例如,要实例化ChatOpenAI

  1. import { ChatOpenAI } from "langchain/chat_models/openai";
  2. const model = new ChatOpenAI({
  3. temperature: 0.9,
  4. apiKey: "your_openai_api_key"
  5. });

temperature是一个超参数,用于调整模型响应的随机性。较高的值会导致更多样化的输出,而较低的值会使输出更具确定性。

apiKey是您的个人 OpenAI API 密钥,它授权您使用该模型。

同样,您可以实例化Azure ChatOpenAI 和 ChatAnthropic

  1. // Azure ChatOpenAI
  2. import { AzureChatOpenAI } from "langchain/chat_models/azure";
  3. const model = new AzureChatOpenAI({
  4. temperature: 0.9,
  5. azureApiKey: "your_azure_api_key"
  6. });
  7. // ChatAnthropic
  8. import { ChatAnthropic } from "langchain/chat_models/anthropic";
  9. const model = new ChatAnthropic({
  10. temperature: 0.9,
  11. anthropicApiKey: "your_anthropic_api_key"
  12. });

注意:请确保将"your_openai_api_key""your_azure_api_key"、 和替换"your_anthropic_api_key"为您的实际 API 密钥。

请记住,每个提供程序可能具有其实现所独有的特定参数。请务必参考 LangChain 文档或提供商的文档以全面了解参数。

结论

LangChain的聊天模型提供了与各种AI语言模型交互的统一方法。这种多功能性允许开发人员在不同的提供商之间无缝切换。虽然我们已经介绍了 OpenAI、Azure 和 Anthropic 实例化聊天模型的基础知识,但 LangChain 中还提供了大量其他功能和自定义功能。作为一个开源项目,LangChain 鼓励社区贡献来推动其成长和进化。借助 LangChain,创建强大的语言处理应用程序的潜力触手可及。

常见问题解答

什么是 LangChain

  • LangChain是一个开源项目,旨在通过提供统一的接口来简化各种语言模型的使用。它支持多种流行的 AI 语言模型提供商,例如 OpenAI、Azure 和 Anthropic。

我如何为 LangChain 做出贡献?

  • 作为一个开源项目LangChain 欢迎社区贡献。您可以通过多种方式做出贡献,例如添加新功能、修复错误、改进文档等等。请参阅该项目的贡献指南以获取更多信息。

temperature实例化代码中的参数是什么?

  • temperature参数控制模型响应的随机性。较高的值会产生更多的随机输出,而较低的值会使模型的输出更具确定性。

什么是 API 密钥?为什么需要它?

  • API 密钥是识别调用程序的代码。它用于跟踪和控制 API 的使用方式。对于 LangChain,您需要提供提供商特定的 API 密钥来验证您的请求。

我在哪里可以获得 API 密钥?

  • 您可以从相应提供商的平台获取 API 密钥。例如,对于 OpenAI,您可以从 OpenAI 帐户的仪表板生成 API 密钥。

LangChain可以免费使用吗?

  • 虽然LangChain是一个开源项目并且可以免费使用,但底层的人工智能提供商可能会对他们的服务收费。请检查您计划使用的提供商的具体定价详细信息。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Li_阴宅/article/detail/993763
推荐阅读
相关标签
  

闽ICP备14008679号