language_models#

语言模型是一种可以生成文本或完成文本提示的模型。

LangChain有两个主要的类来处理语言模型:聊天模型和“传统”的LLMs

聊天模型

使用一系列消息作为输入并返回聊天消息作为输出的语言模型(与使用纯文本相对)。这些通常是较新的模型(较旧的模型通常是LLMs,见下文)。聊天模型支持为对话消息分配不同的角色,有助于区分来自AI、用户和指令(如系统消息)的消息。

聊天模型的关键抽象是BaseChatModel。实现应该继承这个类。请参阅LangChain操作指南,了解更多关于如何实现自定义聊天模型的信息。

要实现自定义聊天模型,请继承BaseChatModel。有关如何实现自定义聊天模型的更多信息,请参阅以下指南:

https://python.langchain.com/docs/how_to/custom_chat_model/

LLMs

语言模型,接受字符串作为输入并返回字符串。 这些通常是较旧的模型(较新的模型通常是聊天模型,见下文)。

尽管底层模型是字符串输入,字符串输出,LangChain包装器也允许这些模型将消息作为输入。这为它们提供了与聊天模型相同的接口。当消息作为输入传递时,它们将在底层被格式化为字符串,然后再传递给底层模型。

要实现自定义的LLM,请继承BaseLLMLLM。 请参阅以下指南以获取有关如何实现自定义LLM的更多信息:

https://python.langchain.com/docs/how_to/custom_llm/

language_models.base.BaseLanguageModel

用于与语言模型交互的抽象基类。

language_models.base.BaseLanguageModel[BaseMessage]

用于与语言模型交互的抽象基类。

language_models.base.BaseLanguageModel[str]

用于与语言模型交互的抽象基类。

language_models.base.LangSmithParams

用于追踪的LangSmith参数。

language_models.chat_models.BaseChatModel

聊天模型的基础类。

language_models.chat_models.SimpleChatModel

简化的聊天模型实现,供继承使用。

language_models.fake.FakeListLLM

用于测试的假LLM。

language_models.fake.FakeListLLMError

用于测试的假错误。

language_models.fake.FakeStreamingListLLM

用于测试的假流式列表LLM。

language_models.fake_chat_models.FakeChatModel

用于测试的假聊天模型包装器。

language_models.fake_chat_models.FakeListChatModel

用于测试的假聊天模型。

language_models.fake_chat_models.FakeListChatModelError

language_models.fake_chat_models.FakeMessagesListChatModel

用于测试的假聊天模型。

language_models.fake_chat_models.GenericFakeChatModel

可用于测试聊天模型接口的通用假聊天模型。

language_models.fake_chat_models.ParrotFakeChatModel

通用的假聊天模型,可用于测试聊天模型接口。

language_models.llms.BaseLLM

基础LLM抽象接口。

language_models.llms.LLM

实现自定义LLM的简单接口。

函数

language_models.chat_models.agenerate_from_stream(stream)

从流中异步生成。

language_models.chat_models.generate_from_stream(stream)

从流中生成。

language_models.llms.aget_prompts(params, ...)

获取已经缓存的提示。

language_models.llms.aupdate_cache(cache, ...)

更新缓存并获取LLM输出。

language_models.llms.create_base_retry_decorator(...)

为给定的LLM创建一个重试装饰器

language_models.llms.get_prompts(params, prompts)

获取已经缓存的提示。

language_models.llms.update_cache(cache, ...)

更新缓存并获取LLM输出。