要在 LangChain 中加载和使用预训练模型,首先选择一个兼容的模型提供商,并使用所需的参数初始化模型。 LangChain 支持与 OpenAI、Hugging Face 等服务的集成。 例如,要使用 OpenAI 的 GPT-3,请安装 langchain-openai
包,导入 ChatOpenAI
类,并使用您的 API 密钥和模型名称实例化它。 对于 Hugging Face 模型,请使用 langchain-community
包中的 HuggingFaceHub
类(对于云托管模型)或 HuggingFacePipeline
(对于本地模型)。 每个提供商都需要特定的设置,例如 API 密钥或模型存储库 ID,您将在初始化期间传递这些设置。 例如,llm = HuggingFaceHub(repo_id="google/flan-t5-xxl", api_key="YOUR_KEY")
从 Hugging Face 平台加载文本生成模型。
加载模型后,使用 invoke()
或 generate()
等方法与其交互。 这些方法接受输入提示并返回模型生成的文本。 例如,response = llm.invoke("Explain quantum computing")
将提示发送到模型并检索输出。 您可以使用 temperature
(控制随机性)或 max_tokens
(限制响应长度)等参数来自定义行为。 如果通过 HuggingFacePipeline
使用本地模型,请确保首先下载模型和 tokenizer,通常通过 transformers
库。 例如,使用 pipeline("text-generation", model="gpt2")
加载模型,并将其传递给 HuggingFacePipeline(pipeline=pipe)
以创建 LangChain 兼容的接口。
要将模型集成到 LangChain 工作流程中,请将其与提示、链或代理等组件结合使用。 例如,使用 PromptTemplate
创建提示模板,并使用 LLMChain
将其链接到模型。 这使您可以构建可重用的工作流程
from langchain_core.prompts import PromptTemplate
from langchain.chains import LLMChain
prompt = PromptTemplate.from_template("Summarize this article: {input}")
chain = LLMChain(llm=llm, prompt=prompt)
summary = chain.invoke({"input": article_text})
这种方法使您可以链接多个步骤,例如从文档加载器获取数据,使用模型处理数据以及存储结果。 LangChain 的模块化设计确保预训练模型与其他工具无缝协作,从而实现诸如检索增强生成或基于代理的决策等任务,而无需重写样板代码。