LangChain

目录

  • [一、LangChain 到底是啥?](#一、LangChain 到底是啥?)
  • 二、环境准备
    • [1. 前提](#1. 前提)
    • [2. 安装依赖](#2. 安装依赖)
    • [3. 拿到大模型 API Key](#3. 拿到大模型 API Key)
  • 三、让LangChain调用大模型
  • 四、核心语法详解
    • [1. LLM / ChatModel(大模型核心)](#1. LLM / ChatModel(大模型核心))
    • [2. Loader(文档加载器)](#2. Loader(文档加载器))
    • [3. Vectorstore/Index(向量索引)](#3. Vectorstore/Index(向量索引))
    • [4. Chain(链)](#4. Chain(链))
    • [5. Memory(记忆)](#5. Memory(记忆))
  • [五、实战Demo:RAG检索 + 带记忆对话](#五、实战Demo:RAG检索 + 带记忆对话)
    • [1. 准备工作](#1. 准备工作)
    • [2. 完整代码](#2. 完整代码)
  • 六、3个核心概念

一、LangChain 到底是啥?

LangChain是一个用于开发由大型语言模型(llm)支持的应用程序的框架。

大模型(比如通义千问、ChatGLM、文心一言)本身只会聊天、写文案、回答问题,但它做不了这些事:

  • 读你电脑里的 PDF/Word/文本文件
  • 联网查最新新闻、天气
  • 连数据库查数据
  • 按固定步骤自动执行任务

LangChain 就是一个「连接器+脚手架」

把大模型和各种工具(文件、网络、数据库、代码)绑在一起,让AI变成能干活的实用工具,而不是只会聊天的机器人。

二、环境准备

1. 前提

电脑装了 Python 3.8+(没有就先装Python)

2. 安装依赖

打开终端/CMD,复制运行:

bash 复制代码
# 安装核心包
pip install langchain

# 安装国产大模型包(用通义千问举例,免费好用)
pip install dashscope

3. 拿到大模型 API Key

阿里云通义千问为例:

  1. 去阿里云百炼平台注册
  2. 创建API-KEY
  3. 复制保存好你的 DASHSCOPE_API_KEY

三、让LangChain调用大模型

python 复制代码
import os
from langchain.llms import Tongyi

# 填入你的API Key
os.environ["DASHSCOPE_API_KEY"] = "你的key"

# 初始化大模型
llm = Tongyi(model_name="qwen-turbo")

# 提问
question = "用一句话介绍LangChain"
answer = llm(question)

# 输出结果
print(answer)

四、核心语法详解

所有LangChain代码都是这5个组件拼出来的:

1. LLM / ChatModel(大模型核心)

作用 :对接大模型(通义、ChatGPT、文心一言),是AI的「大脑」
核心语法

python 复制代码
# 1. 导入模型类
from langchain.llms import 模型名

# 2. 初始化模型(固定写法)
llm = 模型名(参数)

# 3. 调用模型(两种写法通用)
# 写法1:直接传文本
llm("你的问题")
# 写法2:predict方法
llm.predict("你的问题")

关键词llm 是所有代码的基础,代表AI大脑

2. Loader(文档加载器)

作用 :读取本地文件(txt/pdf/word)、网页、数据库,是AI的「眼睛」
核心语法

python 复制代码
# 1. 导入加载器(不同文件用不同Loader)
from langchain.document_loaders import TextLoader  # 读txt
# from langchain.document_loaders import PyPDFLoader  # 读pdf

# 2. 初始化加载器(传文件路径)
loader = TextLoader("文件路径", encoding="utf-8")

# 3. 加载文档(底层方法,无需手动写)
# loader.load()

关键词loader = 读文件,所有RAG代码第一步必用

3. Vectorstore/Index(向量索引)

作用 :把文档转成AI能检索的格式,是RAG的「检索库」
核心语法

python 复制代码
# 1. 导入索引创建器
from langchain.indexes import VectorstoreIndexCreator

# 2. 从加载器创建索引(固定写法)
index = VectorstoreIndexCreator().from_loaders([loader])

# 3. 检索提问
index.query("你的问题", llm=大脑)

关键词index = 检索本地文档,RAG核心

4. Chain(链)

作用 :把「大脑+检索+记忆」串起来,是AI的「工作流」
核心语法

python 复制代码
# 1. 导入链
from langchain.chains import ConversationChain

# 2. 初始化链(传大脑+记忆)
chain = ConversationChain(llm=llm, memory=记忆)

# 3. 执行链
chain.predict(input="内容")

关键词chain = 执行任务的流水线,所有自动化功能都靠它

5. Memory(记忆)

作用 :让AI记住对话历史,是AI的「记性」
核心语法

python 复制代码
# 1. 导入记忆类
from langchain.memory import ConversationBufferMemory

# 2. 初始化记忆
memory = ConversationBufferMemory()

关键词memory = 对话记忆,配合Chain使用

五、实战Demo:RAG检索 + 带记忆对话

最具代表性 :同时集成 LLM大模型 + Loader文件加载 + Vectorstore向量检索 + Memory对话记忆 + Chain链式调用
核心功能:基于本地文档问答 + 永久记住对话历史,是企业级AI应用的基础原型

1. 准备工作

新建 info.txt 文件,写入个人信息:

复制代码
我的名字是李华
今年28岁
职业是软件工程师
居住在上海
爱好是摄影、旅行、看书

2. 完整代码

python 复制代码
import os
from langchain.llms import Tongyi
from langchain.document_loaders import TextLoader
from langchain.indexes import VectorstoreIndexCreator
from langchain.memory import ConversationBufferMemory
from langchain.chains import RetrievalQA
from langchain.chains import ConversationalRetrievalChain

# 配置API Key
os.environ["DASHSCOPE_API_KEY"] = "你的key"

# ===================== 1. 初始化核心组件 =====================
# 初始化AI大脑(LLM语法)
llm = Tongyi(model_name="qwen-turbo")
# 初始化对话记忆(Memory语法)
memory = ConversationBufferMemory(memory_key="chat_history", return_messages=True)

# ===================== 2. 加载并构建本地文档检索库 =====================
# 读取本地文件(Loader语法)
loader = TextLoader("info.txt", encoding="utf-8")
# 创建向量索引(Vectorstore语法)
index = VectorstoreIndexCreator().from_loaders([loader])
# 获取检索器(RAG核心组件)
retriever = index.vectorstore.as_retriever()

# ===================== 3. 构建综合对话链(Chain语法) =====================
# 融合:检索 + 记忆 + 大模型 = 终极对话链
qa_chain = ConversationalRetrievalChain.from_llm(
    llm=llm,
    retriever=retriever,
    memory=memory
)

# ===================== 4. 开始对话测试 =====================
# 问题1:查询文档内容
print("问题1:我的名字和职业是什么?")
result1 = qa_chain({"question": "我的名字和职业是什么?"})
print("AI回答:", result1["answer"], "\n")

# 问题2:基于记忆+文档追问(AI会记住上下文)
print("问题2:我居住在哪里?爱好是什么?")
result2 = qa_chain({"question": "我居住在哪里?爱好是什么?"})
print("AI回答:", result2["answer"], "\n")

# 问题3:自由对话(验证记忆功能)
print("问题3:刚才你都知道了我的哪些信息?")
result3 = qa_chain({"question": "刚才你都知道了我的哪些信息?"})
print("AI回答:", result3["answer"])

六、3个核心概念

  1. Loader(加载器):读文件、PDF、网页的工具
  2. Chain(链):把「大模型+步骤+工具」串起来
  3. Memory(记忆):让AI记住之前的对话内容
相关推荐
乐迪信息2 小时前
乐迪信息:AI算法盒子实时识别船舶烟雾与火焰异常
大数据·人工智能·算法·安全·目标跟踪
LaughingZhu2 小时前
Product Hunt 每日热榜 | 2026-06-04
人工智能·经验分享·深度学习·神经网络·产品运营
dozenyaoyida2 小时前
AI与大模型新闻日报 | 2026-06-06
人工智能·ai·大模型·新闻
李可以量化2 小时前
成交量的终极量化策略:价量共振指标完整实现(下篇)
前端·数据库·人工智能
ASKED_20192 小时前
2026 大模型 API 定价全景图:DeepSeek、豆包、Qwen、GLM、MiniMax、Kimi、Claude、Gemini、GPT 谁最便宜?
人工智能·gpt
波动几何2 小时前
业务运营领域business-operations-assessment
人工智能
giszz2 小时前
【WorkBuddy专栏14】专家不是「换皮」——角色切换、训练机制与自我进化深度拆解
人工智能
zzu123zsw3 小时前
skillup Basic 桌面客户端
人工智能
关山月3 小时前
实战指南:利用 Git Worktrees 实现同仓库多 AI Agent 并行开发
人工智能