前言
OpenAI 的 API 为开发者构建智能应用提供了强大基础,而 LangChain 作为 LLM 领域的框架,随着 RAG(检索增强生成)在各类场景落地,热度持续攀升。要在实际项目中有效利用 LangChain 的能力,理解其核心组件的集成方式至关重要。本文将结合 OpenAI 模型,梳理 LangChain 的关键用法。
前置准备
开始之前,确保本地环境已就绪。主要涉及 Python 环境、LangChain 依赖包以及 OpenAI 密钥配置。
安装依赖
推荐使用虚拟环境管理依赖,避免污染全局环境。
pip install langchain langchain-openai python-dotenv
python-dotenv 用于安全加载环境变量中的 API Key,避免硬编码。
配置环境变量
在 .env 文件中写入你的 OpenAI Key:
OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxx
代码中通过 load_dotenv() 读取即可。这样既方便管理,也符合安全规范。
LangChain 核心组件使用
Chat Models 组件
这是最基础的交互入口。LangChain 封装了不同模型的调用接口,统一了输入输出格式。
初始化与调用
from langchain_openai import ChatOpenAI
from dotenv import load_dotenv
import os
load_dotenv()
llm = ChatOpenAI(model="gpt-3.5-turbo", temperature=0.7)
response = llm.invoke("你好,请介绍一下你自己")
print(response.content)
这里要注意 temperature 参数,控制生成的随机性。业务对话通常设为 0 到 1 之间,追求稳定性可设低一些。
结果解析
返回的对象包含多种信息,如 content、usage_metadata 等。直接访问 content 字段获取文本即可。若需结构化数据,建议配合 output_parser 使用。
提示词模板
提示词(Prompt)是控制大模型行为的关键。LangChain 提供了灵活的模板工具。
什么是提示词模板
简单的字符串拼接容易出错且难以维护。模板允许我们定义占位符,将变量动态填入,实现复用和版本管理。
创建提示词模板
简单提示词模板适用于单轮对话或静态指令:
from langchain_core.prompts import PromptTemplate
template = "你是一个{role},请用{language}回答用户问题:{question}"
prompt = PromptTemplate.from_template(template)
input_data = {"role": , : , : }
final_prompt = prompt.(**input_data)


