004.从 API 裸调到 LangChain

该教程旨在带大家从 0 起步,掌握用 Python 开发大模型应用的技能。若当前内容让你感到晦涩,可回溯本合集的前期文章,降低学习难度。
本文力求用一篇讲清楚:

"我们为什么需要 LangChain?它到底解决了什么?什么时候选它,什么时候不选?以及上手第一步该怎么做。"


一、裸调大模型 API 的四大痛点

  1. 无记忆:两次请求之间互不认识,追问内容无法与之前的提问关联。

  2. 上下文窗口有限:500 页文档一次塞不下,超限即截断。

  3. 计算能力弱:数学题靠"猜下一个 token",长篇大论之后给出了错误的答案。

  4. 重复造轮子:上面三件事自己写 Python 也能搞定,但每次都要"重复差不多的提示词和步骤"。


二、LangChain 给出的"框架级"答案

LangChain把上述痛点抽象成了可复用的"组件 + 链":

裸调 API 的痛点 LangChain 的组件/链 一句话作用
无记忆 ConversationBufferMemory 自动把历史消息拼进下一次请求
文档太长 Retriever + 向量数据库 先用向量检索挑出相关段落,再喂给模型
不擅计算 Agent + Tool 让模型生成代码,再交给本地解释器执行
代码冗余 Chain 把"取记忆→检索→调用模型→解析输出"串成一条流水线

这样做的好处不仅是"少写代码",更关键的是统一抽象

  • 无论背后是 OpenAI、文心、Claude 还是通义,在 LangChain 眼里都是"ChatModel";

  • 无论向量库是 Chroma、FAISS 还是 Pinecone,都是"VectorStore"。

    换模型、换数据库,往往只改一行初始化代码。


三、LangChain 与 Assistant API:什么时候选谁?

文档《LangChain 与 Assistant API 的对比》给出了简洁的取舍:

维度 OpenAI Assistant API LangChain
上手速度 最快:一条 curl 就能跑 需要理解组件、链、Agent 等概念
模型选择 仅 OpenAI 任意模型,可国产可自部署
灵活/定制 中等:线程、文件检索、函数调用已封装 极高:每一步都能拆开重写
学习价值 隐藏细节,适合直接出活 暴露细节,学会后迁移到任何框架都更快

一句话总结:

  • 只想快速做出基于 OpenAI 的产品 → Assistant API;

  • 想切换模型、深度定制、或作为长期技术栈 → LangChain。


四、安装与最小可运行示例

安装命令:

复制代码
# 终端 / Jupyter 都一样
pip install langchain
# macOS 若区分 pip3
pip3 install langchain

最小"Hello Chain"示例(伪代码,帮助理解):

复制代码
from langchain.chat_models import ChatOpenAI
from langchain.memory import ConversationBufferMemory
from langchain.chains import ConversationChain

llm   = ChatOpenAI()                # 可换成文心、通义
mem   = ConversationBufferMemory()  # 自动维护历史
chain = ConversationChain(llm=llm, memory=mem)

chain.run("丘吉尔是谁?")
chain.run("他是哪国人?")           # 模型知道"他"指丘吉尔

五、一条完整的 RAG(检索增强生成)流水线

  1. 文件加载器(DocumentLoader)读 PDF / Markdown / 网页;

  2. 文本分割器(TextSplitter)切成合适 chunk;

  3. Embedding 模型 把 chunk 变成向量,写进 向量数据库

  4. 用户提问 → Retriever 做相似度检索 → 取回 Top-k 段落;

  5. Chain 把 {问题 + 检索结果} 打包给 ChatModel

  6. 如有计算需求,再让 Agent 调用本地 Python 解释器工具。


六、写在最后

  • 如果你已经会用 Python 调 OpenAI,下一步最划算的学习路径就是"用 LangChain 把记忆、检索、工具调用各跑通一次"。

  • 这些概念跑通后,再回头看 Assistant API,你会迅速理解它背后的线程、文件检索、函数调用到底做了什么,从而真正做到"用对工具、做对选择"。

"从裸调 API 到框架思维"------这既是 LangChain 的价值,也是开发者跳出"demo 级玩具"走向"生产级应用"的必经之路。

相关推荐
精致先生21 分钟前
多模态PDF解析
pdf·大模型·rag
chaofan9801 小时前
如何用 Claude Code 搭建安全、可测、可自动化的 GitHub CI 流程?
运维·人工智能·ci/cd·ai·自动化·github·claude
XLP新龙鹏科技2 小时前
视频拼接类产品介绍
经验分享·音视频·视频拼接·产品方案·拼接类
大千AI助手3 小时前
MATH-500:大模型数学推理能力评估基准
人工智能·大模型·llm·强化学习·评估基准·数学推理能力·math500
聪明的笨猪猪3 小时前
Spring Boot & Spring Cloud高频面试清单(含通俗理解+生活案例)
java·经验分享·笔记·面试
聪明的笨猪猪3 小时前
Spring MVC高频面试清单(含通俗理解+生活案例)
java·经验分享·笔记·面试
胖墩会武术3 小时前
大模型效果优化方案(经验分享)
人工智能·经验分享·python·语言模型
晨非辰4 小时前
《从数组到动态顺序表:数据结构与算法如何优化内存管理?》
c语言·数据结构·经验分享·笔记·其他·算法
bcgbsh4 小时前
关于处理大批量数据下载和查询时,怎么进行限流和熔断处理(AI)
ai
Elastic 中国社区官方博客6 小时前
如何在 vscode 里配置 MCP 并连接到 Elasticsearch
大数据·人工智能·vscode·elasticsearch·搜索引擎·ai·mcp