LangChain 上手指南

一句话摘要:LangChain 用“乐高式”组件把大语言模型、检索、工具调用、记忆等能力拼在一起,让个人开发者也能一周内做出可落地的 AI 应用。


1. 背景与定位

大模型热潮下的新痛点:Prompt 尝试很快做出 Demo,但要把 Demo 变为“可维护、可扩展”的产品,就需要统一封装模型、存储、第三方 API 以及评估流程。

LangChain 的角色:在“底层模型 ↔ 场景需求”之间加一层 松耦合胶水:把常见步骤(调用 LLM → 解析 → 再调用工具)抽象成可复用模块。

GitHub Star 已突破 10 万,活跃度居同类框架首位。


2. 成长轨迹 & 资本故事

关键节点 事件 & 指标
2022-10-25 Harrison Chase 提交首个开源版本,主打 PromptTemplate 封装。
2023-03 获 Benchmark 领投 1000 万美元种子轮
2024-02 Sequoia 领投 2500 万美元 Series A,同时发布商用产品 LangSmith。
2025-05 Star 数破 100k,日均 Commit 近 30 次。

资金+社区双轮驱动:融资保证了官方持续迭代;庞大社区贡献了集成适配、最佳实践和教程。


3. 组件总览(作者视角解读)

组件 作用 使用感受
LLM & Prompt 屏蔽各家 API 差异;支持模板变量 迁移模型非常轻松
Chains 把多步调用串成管道 逻辑复用、易测试
Retrievers / Vector Stores 外部知识注入 (RAG) Milvus / Chroma 一键对接
Agents & Tools 让 LLM 决策“该用哪个工具” 复杂度高,需谨慎上线
Memory 保存状态 / 历史 聊天场景刚需
Evaluation 自动对比输出质量 适合 A/B 调参


4. 优劣势对照

👍 优势 👎 待改进
生态活跃,几乎“什么都有适配” 版本更新快,Breaking Change 多
Python / JS 双 SDK,上手门槛低 学习资料杂,需甄别质量
LangServe + LangSmith 打通部署与监控 真正高并发仍需自行做缓存/队列

5. 环境快速搭建(Windows / macOS / Linux 通用)

# Python ≥3.9 python -m 
pip install -U langchain openai tiktoken 
# 可选:JupyterLab 便于调试 
pip install jupyterlab

💡 小贴士:生产环境建议锁版本,例如 langchain==0.3.*,避免大版本升级引起脚本失效。


6. 实战 Demo:随机抓一句中文短句,然后让大模型延伸成一句励志/幽默点评

# ========= 0. 手动写入环境变量(跟你的示范保持一致) =========
import os, requests
os.environ["OPENAI_KEY"] = "RiX37aHCIi"
os.environ["OPENAI_API_BASE"] = "https://api.gptsapi.net/v1"

# ========= 1. 初始化 LangChain 模型 =========
from langchain_openai import ChatOpenAI

llm = ChatOpenAI(
    model       = "o1-mini",
    temperature = 0,
    api_key     = os.environ.get("OPENAI_KEY"),
    base_url    = os.environ.get("OPENAI_API_BASE"),
)

# ========= 2. 拉取一句随机中文短句(Hitokoto 公共接口) =========
quote = requests.get("https://v1.hitokoto.cn/?encode=json", timeout=6).json()["hitokoto"]

# ========= 3. 构造提示词并调用 LLM =========
prompt = (
    f"你是一名中文段子手。
"
    f"原句:{quote}。
"
    f"对这句话进行幽默或励志点评。"
)
reply = llm.invoke(prompt).content.strip()

# ========= 4. 输出 =========
print("原句:", quote)
print("AI 点评:", reply)

运行示例:

原句: 人生如逆旅,我亦是行人。
AI 点评: 逆风也能起飞,别停在原地感慨。

注: 我这里使用的是wildcard的api接口,请自行获取


7. 常见坑 & 实战经验

“用力过猛”的 Agent

工具列表太多 → LLM 选错工具 → 延迟高、消耗大。

经验:先用 Chain 验证流程,Agent 只做决策层。

上下文长度炸裂

长对话 + 大文档 + 工具 JSON,容易超 token 上限。

经验:检索阶段做好摘要;Memory 里只留关键信息。

依赖版本不一致

OpenAI SDK / tiktoken / langchain 三方升级节奏不同。

经验:pip freeze > requirements.txt,跨环境一键复现。


8. 竞品速览

框架 核心卖点 适用人群
LlamaIndex 检索链(RAG)功能强,文档接入简单 专注问答/知识库
Haystack 企业级搜索管线,Elastic 生态友好 大规模检索场景
AutoGen 多 Agent 协作脚本化 研究/实验快速验证

LangChain 胜在“全能”,但若你的场景极端垂直,也可考虑轻量替代方案。


9. 未来展望

多模态链:官方正在合并 Vision / Audio 组件,未来视频问答、音频摘要可统一写法。

服务器原生支持:LangServe 正在把 Chain → REST API 的流程模板化,预计年内支持一键 Docker 部署。

开源商业化:LangSmith 已经证明“监控 + 评估”能变现,社区猜测后续会推出托管向量检索等增值服务。

10. 新增langchain对deepseek的api调用

import os
os.environ["DEEPSEEK_API_KEY"] = "sk-e9b"
os.environ["OPENAI_API_BASE"] = "https://api.deepseek.com"

from langchain_deepseek import ChatDeepSeek

llm = ChatDeepSeek(
    model = "deepseek-reasoner",
    temperature = 0,
    api_key = os.environ.get("DEEPSEEK_API_KEY"),
    api_base = os.environ.get("OPENAI_API_BASE"),
)
llm.invoke("介绍下你自己")

注意:需要安装对应的模块包

pip install langchain-deepseek

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容