大模型从入门到应用——LangChain:模型(Models)-[基础知识]

分类目录:《大模型从入门到应用》总目录

LangChain系列文章:


自然语言处理从入门到应用——LangChain:模型(Models)》部分的文章介绍了LangChain中使用的不同类型的模型。在本文中,我们将阐述模型(Models)类型及模型的基础知识。在LangChain中,模型主要分为以下三类:

  • 大型语言模型(LLMs):大型语言模型(LLMs)一种以文本字符串作为输入,并返回文本字符串作为输出的模型。
  • 聊天模型(Chat Models):聊天模型通常由语言模型支持,但它们的API更加结构化。具体来说,这些模型将聊天消息列表作为输入,并返回聊天消息。
  • 文本嵌入模型(Text Embedding Models):文本嵌入模型将文本作为输入,并返回一个浮点数列表。

LangChain的核心价值提案之一是提供了一个标准接口来管理模型。这使得用户可以轻松切换不同的模型。从高层次上来说,模型可以分为两类:

  • Language Models:适合文本生成
  • Text Embedding Models:适合将文本转换为数字表示

其中,语言模型(Language Models)有两种不同的子类型:

  • LLMs:这些包装API接收文本并返回文本
  • ChatModels:这些包装模型接收聊天消息并返回聊天消息

这两者之间有一个微妙的区别,但LangChain的主张提供了跨越这些的统一接口,因为虽然底层的 API 实际上是非常不同的,但我们会经常想要交替使用它们。为了看清这一点,让我们来看看OpenAI(OpenAI LLM的一个封装器)与ChatOpenAI(OpenAI ChatModel的一个封装器)的异同:

from langchain.llms import OpenAI
from langchain.chat_models import ChatOpenAI
llm = OpenAI()
chat_model = ChatOpenAI()

下面我们来看LLMs的输出:

llm.predict("say hi!")

输出:

'\n\nHi there!'

下面我们来看ChatModels的输出:

chat_model.predict("say hi!")

输出:

'Hello there!'

引入HumanMessage

from langchain.schema import HumanMessage
llm.predict_messages([HumanMessage(content="say hi!")])

下面我们来看LLMs的输出:

llm.predict_messages([HumanMessage(content="say hi!")])

输出:

AIMessage(content='\n\nHello! Nice to meet you!', additional_kwargs={}, example=False)

下面我们来看ChatModels的输出:

chat_model.predict_messages([HumanMessage(content="say hi!")])

输出:

AIMessage(content='Hello! How can I assist you today?', additional_kwargs={}, example=False)

参考文献:
[1] LangChain 🦜️🔗 中文网,跟着LangChain一起学LLM/GPT开发:https://www.langchain.com.cn/
[2] LangChain中文网 - LangChain 是一个用于开发由语言模型驱动的应用程序的框架:http://www.cnlangchain.com/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

von Neumann

您的赞赏是我创作最大的动力~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值