使用 LangChain 构建应用
LangChain 是一个旨在连接大型语言模型(LLM)与外部数据源及计算资源的开源框架。它简化了构建复杂 AI 应用的流程。本教程将从基础的 LLM 链开始,逐步深入到检索增强生成(RAG)、对话记忆以及智能代理(Agent)的实现。
1. 环境准备与模型初始化
LangChain 支持多种模型集成,包括 OpenAI 等商业 API 以及 Ollama 等本地开源模型。以下示例以 OpenAI 为例。
首先安装必要的依赖包:
pip install langchain-openai langchain-core
获取 API 密钥后,建议将其设置为环境变量以确保安全:
export OPENAI_API_KEY="sk-..."
在 Python 代码中初始化模型:
from langchain_openai import ChatOpenAI
llm = ChatOpenAI()
# 或者直接在参数中传入密钥
# llm = ChatOpenAI(openai_api_key="sk-...")
测试模型调用:
response = llm.invoke("请介绍一下李白?")
print(response.content)
2. 提示模板与 LLMChain
直接使用原始输入往往效果不佳,使用提示模板(Prompt Template)可以规范输入格式,引导模型输出更高质量的结果。
定义提示模板:
from langchain_core.prompts import ChatPromptTemplate
prompt = ChatPromptTemplate.from_messages([
("system", "你是世界级的历史人物研究人员,擅长用一句话输出回答。"),
("user", "{input}")
])
组合提示模板与模型形成链:
chain = prompt | llm
result = chain.invoke({"input": "请介绍一下李白?"})
print(result.content)
3. 输出解析器
模型默认返回消息对象,为了便于后续处理,通常使用输出解析器将其转换为字符串。
from langchain_core.output_parsers import StrOutputParser
output_parser = StrOutputParser()
chain = prompt | llm | output_parser
result = chain.invoke({"input": "请介绍一下李白?"})
print((result))


