分类目录:《自然语言处理从入门到应用》总目录
《自然语言处理从入门到应用——LangChain:模型(Models)》部分的文章介绍了LangChain中使用的不同类型的模型。在本文中,我们将阐述模型(Models)类型及模型的基础知识。在LangChain中,模型主要分为以下三类:
LangChain的核心价值提案之一是提供了一个标准接口来管理模型。这使得用户可以轻松切换不同的模型。从高层次上来说,模型可以分为两类:
其中,语言模型(Language Models)有两种不同的子类型:
这两者之间有一个微妙的区别,但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/