LangChain大型语言模型(LLM)
大型语言模型(LLMs)是LangChain的核心组件。LangChain本身不提供LLMs,而是提供了与多个不同LLMs进行交互的标准接口。有关更详细的文档,请查看以下内容:
- How-to guides:核心功能的操作指南,如流式传输、异步等。
- Integrations:如何使用不同的LLM提供商(OpenAI、Anthropic等)。
开始
有很多LLM提供商(OpenAI、Cohere、Hugging Face等)- LLM类旨在为它们提供一个标准接口。
在本指南中,我们将使用OpenAI的LLM包装器,尽管突出显示的功能对所有LLM类型都是通用的。
安装
首先,我们需要安装OpenAI的Python包:
!pip install openai
访问API需要一个API密钥,您可以通过创建一个帐户并访问此处获取密钥。获得密钥后,我们将使用以下命令将其设置为环境变量:
export OPENAI_API_KEY="YOUR_API_KEY"
如果您不想设置环境变量,可以在初始化OpenAI LLM类时通过openai_api_key参数直接传入密钥:
from langchain.llms import OpenAI
llm = OpenAI(openai_api_key="YOUR_API_KEY")
否则,您可以不传任何参数进行初始化:
from langchain.llms import OpenAI
llm = OpenAI()
调用:string in -> string out
使用LLM的最简单方式是可调用:传入一个字符串,获取一个字符串的补全结果。
result = llm("Why did the chicken cross the road?")
print(result)
generate:批量调用,更丰富的输出
generate方法允许您使用字符串列表调用模型,获取比仅文本更完整的响应。此完整响应可以包括多个顶级响应和其他LLM提供商特定的信息。
llm_result = llm.generate(["Tell me a joke", "Tell me a poem"]*15)
print(len(llm_result.generations))
print(llm_result.generations[0])
print(llm_result.generations[-1])
您还可以访问返回的特定于提供商的信息。这些信息在提供商之间并不标准化。
print(llm_result.provider_specific_info)
以上为示例结果,实际输出可能因使用的LLM提供商而异。
{'token_usage': {'completion_tokens': 3903, 'total_tokens': 4023, 'prompt_tokens': 120}}
请注意,LLM提供商可能会根据其自身的要求返回其他信息,而这些信息可能因提供商而异。
以上为对OpenAI LLM的使用示例,您可以按照类似的方式使用其他LLM提供商的LLM。