LangChain 是一个开源框架,用于构建应用程序,这些应用能够利用语言模型(如大型预训练模型)来执行各种自然语言处理任务。LangChain 提供了许多组件和工具,可以帮助开发者轻松地集成和使用这些强大的语言模型。

下面是一个简单的 LangChain 使用示例,我们将创建一个基于文本的问答系统,它将使用一个预训练的语言模型来回答问题。在这个例子中,我们将使用 LangChain 的 load_qa_chainOpenAI 模型来进行问答。

首先,你需要确保你已经安装了 LangChain 以及其依赖项。你可以通过 pip 安装 LangChain:

pip install langchain
  • 1.

然后,确保你有一个有效的 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)
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.

这段代码做了以下几件事:

  1. 设置了 OpenAI API 密钥环境变量。
  2. 创建了一个 ChatOpenAI 实例,这是 LangChain 对 OpenAI 的聊天模型的封装。
  3. 使用 load_qa_chain 函数加载了一个 QA 链,这个链负责从文档中提取信息并生成答案。
  4. 创建了一些示例文档,这些文档将作为知识源。
  5. 提出了一个问题,并运行了 QA 链来得到答案。

请记住替换 "your-openai-api-key" 为你的实际 OpenAI API 密钥。

这只是一个基本的例子,LangChain 支持更复杂的用例,比如多轮对话、文档检索等。