AI测试 快速入门 LLM Chain

爱学习的饲养员 · 2025年02月10日 · 1709 次阅读

使用 LangChain 构建应用

LangChain 支持构建应用程序,将外部数据源和计算源连接到 LLM。我们将从一个简单的 LLM 链开始,它只依赖于提示模板中的信息来响应。 接下来,我们将构建一个检索链,该链从单独的数据库获取数据并将其传递到提示模板中。 然后,我们将添加聊天记录,以创建对话检索链。这允许您以聊天方式与此 LLM 进行交互,因此它会记住以前的问题。 最后,我们将构建一个代理,利用 LLM 来确定它是否需要获取数据来回答问题。

LLMChain

LangChain 可以通过 API 提供的模型(如 OpenAI)和本地开源模型(如 Ollama)等集成。开源模型的部署依赖于我们拥有的硬件配置,我将不做过多分析。
这里我将使用 OpenAI 提供的 API 做示例。
首先,我们需要导入 LangChain x OpenAI 集成包

pip install langchain-openai

访问 API 需要一个 API 密钥,您可以通过创建一个帐户并前往此处来获取该密钥。
一旦我们有了密钥,我们就要通过运行以下命令将其设置为环境变量(非必须):

export OPENAI_API_KEY="..."

然后,我们可以初始化模型:

from langchain_openai import ChatOpenAI

llm = ChatOpenAI()

如果您不想设置环境变量,则可以在启动 OpenAI LLM 类时直接通过命名参数传入密钥:openai_api_key

from langchain_openai import ChatOpenAI

llm = ChatOpenAI(openai_api_key="...")

一旦你安装并初始化了你选择的 LLM,我们就可以尝试使用它了!

让我们问它 “请介绍一下李白?” 。

输出如下:

AIMessage(content='李白(701年-762年),字太白,号青莲居士,唐朝时期伟大的浪漫主义诗人,被后人誉为“诗仙”。他出生于今天的陕西省凤翔县,自幼聪明好学,擅长诗词歌赋,一生创作了大量的诗歌,其作品风格豪放奔放,语言优美,富有想象力,具有极高的艺术价值。
李白的诗歌题材广泛,包括山水田园、历史人物、神话传说、饮酒抒怀等,他的诗歌充满了浪漫主义色彩,表现出对自由、理想和自然的热爱。他的代表作有《静夜思》、《将进酒》、《庐山谣》、《早发白帝城》等,这些作品在中国文学史上占有重要地位。
李白的一生充满了传奇色彩,他曾游历过许多地方,与当时的文人墨客交往甚广,他的诗歌也深受人们的喜爱。然而,他的生活并不平稳,曾多次遭遇政治挫折,但他始终保持乐观豁达的态度。晚年,李白因病返回故乡,最终在安徽当涂去世。
李白的诗歌对中国文学产生了深远影响,他的作品被后世广为传颂,成为中国古代诗歌的瑰宝。 ')

我们还可以使用提示模板来指导它的响应。 提示模板用于将原始用户输入转换为更好的 LLM 输入。

from langchain_core.prompts import ChatPromptTemplate
prompt = ChatPromptTemplate.from_messages([
    ("system", "你是世界级的历史人物研究人员,擅长用一句话输出回答。"),
    ("user", "{input}")
])

现在,我们可以将它们组合成一个简单的 LLM 链:

chain = prompt | llm

我们现在可以调用它并提出相同的问题,理论上它应该输出一句介绍李白的话。

chain.invoke({"input": "请介绍一下李白?"})

输出:

AIMessage(content='李白,唐朝浪漫主义诗人,被誉为“诗仙”。 ')

模型的输出是一条消息。但是,使用字符串通常要方便得多。让我们添加一个简单的输出解析器,将聊天消息转换为字符串。

from langchain_core.output_parsers import StrOutputParser

output_parser = StrOutputParser()

现在,我们可以将其添加到上一个链中:

chain = prompt | llm | output_parser

我们现在可以调用它并提出相同的问题。答案现在将是一个字符串(而不是 AIMessage)

输出:

李白唐朝浪漫主义诗人被誉为诗仙”。 

总结

至此,我们就学会了 LangChain 中所谓的 “Chain” 的基本使用。既然是基本使用,肯定也有高级用法,甚至我们可以自己 “自定义 Chain” 来处理我们逻辑。具体怎么使用。

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册