开发框架教程(1):LangChain 入门 —— AI 应用的"万能胶水"

如果把 GPT-4 比作**顶级大厨**(核心大脑),那么 LangChain 就是**设备齐全的现代化厨房**。

5分钟
2025-12-26
框架开发SDK开发框架教程(1):LangChain

开发框架教程(1):LangChain 入门 —— AI 应用的"万能胶水"

1. 什么是 LangChain?

如果把 GPT-4 比作顶级大厨(核心大脑),那么 LangChain 就是设备齐全的现代化厨房

虽然大厨会做菜,但如果只有大厨一个人:

  • 他需要自己去买菜(获取数据)。
  • 他需要自己切菜、洗碗(数据预处理)。
  • 他记不住所有客人的口味(缺乏记忆)。

LangChain 的作用:它提供了一整套工具(菜刀、冰箱、食谱),帮大厨把"买菜 -> 切菜 -> 炒菜 -> 上菜"这一整套流程标准化、自动化。

在编程界,LangChain 被称为 "Glue Code" (胶水代码) 的集合体。它让大模型能轻松连接 PDF、数据库、搜索引擎等外部世界。


2. 核心组件 (六大金刚)

LangChain 虽然庞大,但这 6 个概念通过了你就能上手:

1. Models (模型 I/O)

  • 它是对接各大模型的统一接口
  • 不管你用 OpenAI、Claude 还是 Ollama,LangChain 的代码写法几乎一样。你只需要换个模型名字,不用改代码逻辑。

2. Prompts (提示词模板)

  • 它可以把 Prompt 变成填空题
  • 以前你写:"请帮我翻译这句话:Hello"。
  • 现在你写模板:"请帮我翻译这句话:{content}"。程序运行时再把 content 填进去。

3. Indexes (索引/数据检索)

  • 专门负责吃数据
  • Document Loaders(加载 PDF/Word)、Text Splitters(切分文本)、Vector Stores(存入向量库)。这是做 RAG(知识库问答)的基础。

4. Chains (链)

  • 把多个步骤起来。
  • 比如:【获取用户输入】 -> 【去数据库查资料】 -> 【喂给大模型】 -> 【输出结果】。这就是一条链。

5. Memory (记忆)

  • 让 AI 记住上下文。
  • 如果没有 Memory,你问"他叫什么?",AI 会问"他是谁?"。LangChain 帮你自动把历史聊天记录塞进 Prompt 里。

6. Agents (智能体)

  • 给 AI 工具决策权
  • Chain 是死板的流程(第一步做什么,第二步做什么)。
  • Agent 是智能的:AI 自己决定"我现在该查百度,还是该算数学题"。

3. 极速入门实战

这是最简单的调用大模型的代码。

# 0. 安装
# pip install langchain langchain-openai

import os
from langchain_openai import ChatOpenAI
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.output_parsers import StrOutputParser

# 1. 创建模型
model = ChatOpenAI(model="gpt-3.5-turbo")

# 2. 创建 Prompt 模板
prompt = ChatPromptTemplate.from_template("请把这就话翻译成{language}:{text}")

# 3. 创建输出解析器 (把 AI 的对象回复变成字符串)
parser = StrOutputParser()

# 4. 组装链 (LCEL 语法:用 | 管道符号连接)
chain = prompt | model | parser

# 5. 运行
result = chain.invoke({"language": "日语", "text": "我爱学习"})
print(result) 
# 输出:私は勉強が大好きです

4. 总结

LangChain 是目前学习 AI 开发必学的第一框架。虽然它有时候显得有点臃肿,但它的生态是最丰富的。几乎所有新的 AI 技术,LangChain 都会第一时间支持。

AI导航助手

Powered by DeepSeek

你好!我是AI导航助手,由DeepSeek驱动。

我可以帮你: • 推荐适合你的AI模型 • 解答AI相关问题 • 直接带你跳转到相关页面

试试点击下方问题,或直接输入你的问题!

快捷提问:

哪个AI模型最好?有免费的AI吗?写代码用哪个?API怎么接入?

点击按钮可直接跳转到相关页面