LangChain 的聊天模型

2023-11-13

各位人工智能爱好者,大家好!今天,我们就来详细了解一下 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 实现发起对话的简单示例:

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 参考:ChatOpenAIHumanChatMessage

集成:聊天模型

LangChain 提供了多种与各种模型提供商集成的聊天模型实现。这些包括ChatOpenAIAzure 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是一个开源项目,旨在通过提供统一的接口来简化各种语言模型的使用。它支持多种流行的 AI 语言模型提供商,例如 OpenAI、Azure 和 Anthropic。

我如何为 LangChain 做出贡献?

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

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

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

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

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

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

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

LangChain可以免费使用吗?

  • 虽然LangChain是一个开源项目并且可以免费使用,但底层的人工智能提供商可能会对他们的服务收费。请检查您计划使用的提供商的具体定价详细信息。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

LangChain 的聊天模型 的相关文章

随机推荐

  • mybatis log插件

    目前idea当中已经实施收费了 最近找了一个不收费的插件安装上重启一下就行了 点我下载提取码 sjc8
  • 如何提取视频的m3u8地址

    1 用360浏览器或者其他Chrome内核浏览器打开优酷网页 2 在播放页面按F12打开审核模式 3 点击如图图标模拟移动设备 4 设置模拟的设备 5 按F5刷新即可进入手机版网页 6 点击Network 7 点击Media 8 点击播放按
  • 2017年蓝桥杯B组C/C++省赛-分巧克力

    题目 题目链接 题解 二分 想到二分比实现二分要难点 可行解部分可以与不可行解部分完美地分隔开来 绿色部分是分成的巧克力比较小时都可以满足 而大于一定程度的时候就不可行了 所以可以将其抽象成小于可行 大于不可行的二分问题 在判断时 遍历全部
  • JAVA的分支结构

    分支结构 基本概述 当需要进行条件判断的时候 并且根据条件是否成立来执行某一段代码的时候 需要分支结构 1 if结构 if 布尔表达式 语句块 如果布尔表达式为true将执行的语句 如果布尔表达式的值为 true 则执行 if 语句中的代码
  • 四大私募量化策略解析——阿尔法、套利、期货CTA、高频交易

    近年来 随着证券市场规模的不断扩大 金融衍生产品不断推出 投资策略和盈利模式发生根本性改变 投资复杂程度日益提高 导致证券市场投资者的构成比例出现了相应的变化 专业投资管理人的占比越来越大 且有加速之势 另一方面 量化对冲投资策略以其中低风
  • Unity制作FPS Demo

    等到把这个Unity FPS Demo 僵尸杀手 完成后再详细补充一下 使用Unity制作FPS游戏的经历 今天做个标识
  • 算法入门Bu1:排序

    算法入门 BuBuBu 相关数据结构 栈 队列 链表 树 并差集 堆 图等 相关算法 排序 枚举 深度和广度优先搜索 图的遍历 图中最短路径算法 最小生成树算法 割点和割遍算法 二分图的最大匹配算法等 排序算法 简单的桶排序 特点 如果需要
  • Java HashMap底层实现

    HashMap 是 Java 使用频率最高的用于映射 键值对 处理的数据类型 JDK1 8 对 HashMap 底层的实现进行了优化 例如引入红黑树的数据结构和扩容的优化等 在JDK1 8以前HashMap是由数组 链表的数据结构组成的 J
  • 【整理】串口(RS232/RS485等)通讯中RTS/CTS,DTR/DSR的含义详解

    整理 串口 RS232 RS485等 通讯中RTS CTS DTR DSR的含义详解 RS232 crifan 7年前 2013 10 17 14942浏览 0评论 背景 之前就折腾过很多关于RTS CTS DTR DSR的内容 整理 RT
  • excel 文档管理服务器,Excel Server Tutorial

    在企事业单位的实际业务中所需要使用的信息 除了数据之外 还包括文档 文档是各种类别和格式的 它们可能是Word文件 如企业的规章制度 可能是AutoCAD文件 如产品设计图纸 也可能是视频 音频文件 如内部培训资料 等等 通常的管理信息系统
  • 计算之魂思考题1.4赛跑问题

    一 问题 假设由25名短跑者争夺比赛前三名 赛场上有5条赛道 一次可以有5名选手同时比赛 比赛不计时 只看相应名次 假设选手发挥稳定 也就是说如果约翰比张三跑得快 张三比凯莉跑得快 那么约翰一定比凯莉跑得快 最少需要几次比赛才能决出前三名
  • 墨者学院的靶场之SQL注入漏洞测试(布尔盲注)

    这是我作为小白第一次成功的把key找出来了 分享一下 墨者学院的靶场SQL注入漏洞测试 布尔盲注 IP地址 219 153 49 228 端口 40205 协议 http 首先我输入了IP地址和端口号 看到这个后 我按了F12看了后台的代码
  • 【华为OD机试】食堂供餐【2023 B卷

    华为OD机试 真题 点这里 华为OD机试 真题考点分类 点这里 题目描述 某公司员工食堂以盒饭方式供餐 为将员工取餐排队时间降低为0 食堂的供餐速度必须要足够快 现在需要根据以往员工取餐的统计信息 计算出一个刚好能达成排队时间为0的最低供餐
  • 【华为OD机试真题】【python】 网上商城优惠活动(一)【2022 Q4

    华为OD机试 题目列表 2023Q1 点这里 2023华为OD机试 刷题指南 点这里 题目描述 某网上商场举办优惠活动 发布了满减 打折 无门槛3种 优惠券 分别为 1 每满100元优惠10元 无使用数限制 如100 199元可以使用1张减
  • Ubuntu18.04/16.04调整屏幕分辨率至1920*1080

    Ubuntu在设置 显示里面的分辨率选择没有1920 1080 我们可以手动增加该分辨率配置 然后进行设置 参考文字和图片 crtl alt t 打开终端窗口 获取添加分辨率的格式 输入 cvt 1920 1080 查看显示器信息及已经支持
  • 安卓HAL层 so库文件加载原理

    本文分析代码基于安卓6 0 上层app通过jni调用hal层的hw get module函数获取硬件模块 这个函数是上层与hal打交道的入口 这里我们就具体来看看hw get module的实现 文件路径 vim hardware libh
  • andorid 与滑动相关的一些知识---getscrollY onscrollchange() scrollby scrollto等

    Android系统手机屏幕的左上角为坐标系 同时y轴方向与笛卡尔坐标系的y轴方向想反 通过提供的api如getLeft getTop getBottom getRight可以获得控件在parent中的相对位置 同时 也可以获得控件在屏幕中的
  • python怎么升级python的pip

    报错提示 WARNING You are using pip version 19 1 1 however version 20 0 2 is available You should consider upgrading via the
  • ouldn‘t check the working tree for unmerged files because of an error. detected dubious ownership in

    IDEA的git的clone操作中如果出现问题 couldn t check the working tree for unmerged files because of an error detected dubious ownershi
  • LangChain 的聊天模型

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