1. LangChain基础入门与核心概念解析
LangChain是一个强大的框架,专门用于构建基于大语言模型(LLM)的应用程序。它提供了一套标准化的接口和组件,让开发者能够轻松地将LLM与各种工具、数据源和外部服务连接起来。对于刚接触LangChain的开发者来说,理解其核心概念至关重要。
LangChain的核心思想是将复杂的LLM应用拆解为可组合的"链"(Chain)。每个链由多个组件构成,比如模型、提示模板、记忆存储等。这种模块化设计让开发者能够灵活地构建各种应用场景,从简单的问答系统到复杂的多步骤推理任务。
1.1 环境准备与API配置
在开始使用LangChain之前,我们需要先配置开发环境。以下是一个典型的设置过程:
python复制import os
from langchain_community.llms import Tongyi # 导入通义千问模型
import dashscope
# 从环境变量获取API Key
api_key = os.getenv('DASHSCOPE_API_KEY')
dashscope.api_key = api_key
# 加载Tongyi模型
llm = Tongyi(model_name="qwen-turbo", dashscope_api_key=api_key)
注意:在实际项目中,建议将API密钥存储在环境变量中,而不是直接硬编码在代码里。这可以避免敏感信息泄露的风险。
1.2 第一个LangChain应用:公司命名服务
让我们从一个简单的例子开始 - 创建一个为公司命名的服务。这个例子展示了LangChain最基本的PromptTemplate和LLMChain的使用:
python复制from langchain_core.prompts import PromptTemplate
# 创建Prompt模板
prompt = PromptTemplate(
input_variables=["product"],
template="What is a good name for a company that makes {product}?",
)
# 将prompt和llm组合成chain
chain = prompt | llm
# 使用chain生成公司名称
result = chain.invoke({"product": "colorful socks"})
print(result) # 输出可能是:"Rainbow Toes"或"Vibrant Sock Co."
这个简单的例子展示了LangChain的几个关键特点:
- Prompt模板化:使用{变量}语法动态生成提示
- 链式组合:通过|操作符将组件连接起来
- 统一接口:使用invoke方法执行链
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 构建功能型Agent
LangChain的真正强大之处在于它能创建具有特定功能的Agent。Agent可以理解用户意图,选择适当的工具,并执行复杂任务。
2.1 基础Agent搭建
下面是一个使用搜索引擎工具(serpapi)的Agent示例:
python复制from langchain_communi
