Tutorial 1: LangChain 入门

什么是 LangChain?

LangChain 是一个用于开发由大语言模型(LLM)驱动的应用程序的框架。它提供了:

  • 模块化组件:可组合的抽象层,用于处理语言模型

  • 链式调用:将多个组件串联成复杂的工作流

  • Agent 能力:让 LLM 能够使用工具并做出决策

  • 记忆系统:在对话中保持上下文

核心概念

概念

说明

类比

LLM/Chat Model

语言模型接口,处理文本生成

大脑

Prompt Template

动态构建提示词的模板

问题模板

Chain

将多个组件串联的管道

流水线

Agent

能够使用工具并决策的智能体

员工

Tool

Agent 可以调用的外部功能

工具箱

Memory

存储和检索对话历史

记忆

安装配置

1. 安装 LangChain

pip install langchain langchain-openai langchain-community

2. 配置 API Key

import os
os.environ["OPENAI_API_KEY"] = "your-api-key-here"

# 或者使用 .env 文件
from dotenv import load_dotenv
load_dotenv()

第一个 LangChain 程序

from langchain_openai import ChatOpenAI
from langchain_core.messages import HumanMessage

# 初始化模型
llm = ChatOpenAI(model="gpt-4o-mini", temperature=0.7)

# 发送消息
messages = [HumanMessage(content="你好,请用一句话介绍自己")]
response = llm.invoke(messages)

print(response.content)

LangChain 架构概览

┌─────────────────────────────────────────────────────┐
│                    Application                       │
├─────────────────────────────────────────────────────┤
│  ┌─────────┐  ┌─────────┐  ┌─────────┐  ┌────────┐ │
│  │ Chains  │  │ Agents  │  │ Memory  │  │  RAG   │ │
│  └────┬────┘  └────┬────┘  └────┬────┘  └───┬────┘ │
│       │            │            │            │      │
│  ┌────┴────────────┴────────────┴────────────┴────┐ │
│  │              LangChain Core                     │ │
│  │  (Prompts, LLMs, Output Parsers, Tools)        │ │
│  └────────────────────┬───────────────────────────┘ │
│                       │                             │
│  ┌────────────────────┴───────────────────────────┐ │
│  │           Model Providers & Integrations        │ │
│  │  (OpenAI, Anthropic, HuggingFace, etc.)        │ │
│  └────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────┘

自媒体 Agent 项目预览

在接下来的教程中,我们将逐步构建一个自媒体内容创作 Agent:

# 最终我们将实现这样的功能
from selfmedia_agent import SelfMediaAgent

agent = SelfMediaAgent()

# 生成内容创意
ideas = agent.generate_ideas(topic="AI编程", count=5)

# 撰写文章
article = agent.write_article(
    idea=ideas[0],
    platform="微信公众号",
    style="专业但易懂"
)

# 发布到多平台
agent.publish(
    content=article,
    platforms=["微信公众号", "知乎", "头条"]
)

下一步

在下一个教程中,我们将深入学习 LLM 和 Chat Models 的使用方法。

Tutorial 2: LLM 与 Chat Models