LangChain 是一个开源框架,用于构建应用程序,这些应用能够利用语言模型(如大型预训练模型)来执行各种自然语言处理任务。LangChain 提供了许多组件和工具,可以帮助开发者轻松地集成和使用这些强大的语言模型。
下面是一个简单的 LangChain 使用示例,我们将创建一个基于文本的问答系统,它将使用一个预训练的语言模型来回答问题。在这个例子中,我们将使用 LangChain 的 load_qa_chain
和 OpenAI
模型来进行问答。
首先,你需要确保你已经安装了 LangChain 以及其依赖项。你可以通过 pip 安装 LangChain:
pip install langchain
然后,确保你有一个有效的 OpenAI API 密钥,因为我们将使用 OpenAI 的 API。现在我们来看一下具体的代码实现:
from langchain.chat_models import ChatOpenAI
from langchain.chains import load_qa_chain
from langchain.prompts import PromptTemplate
from langchain.schema import Document
import os
# 设置你的 OpenAI API 密钥
os.environ["OPENAI_API_KEY"] = "your-openai-api-key"
# 初始化 ChatOpenAI 模型
llm = ChatOpenAI(temperature=0)
# 加载 QA 链
qa_chain = load_qa_chain(llm, chain_type="stuff")
# 示例文档
documents = [
Document(page_content="The capital of France is Paris."),
Document(page_content="The largest country in the world by area is Russia.")
]
# 构建问题
query = "What's the capital of France?"
# 运行 QA 链以获取答案
result = qa_chain.run(input_documents=documents, question=query)
print(result)
这段代码做了以下几件事:
- 设置了 OpenAI API 密钥环境变量。
- 创建了一个
ChatOpenAI
实例,这是 LangChain 对 OpenAI 的聊天模型的封装。 - 使用
load_qa_chain
函数加载了一个 QA 链,这个链负责从文档中提取信息并生成答案。 - 创建了一些示例文档,这些文档将作为知识源。
- 提出了一个问题,并运行了 QA 链来得到答案。
请记住替换 "your-openai-api-key"
为你的实际 OpenAI API 密钥。
这只是一个基本的例子,LangChain 支持更复杂的用例,比如多轮对话、文档检索等。