在这里插入图片描述

1 LangChain 基础介绍

1.1 什么是 LangChain

LangChain 2022 年 10 月发布,早于 ChatGPT,是主流 LLM 应用开发开源框架,统一封装各类大模型、工具、知识库能力,快速搭建问答、RAG、Agent 智能体。 官方地址:

1.1.1 为什么需要 LangChain

在这里插入图片描述

原生 LLM API 存在诸多局限:

  1. 知识滞后,无法获取实时信息
  2. 不能读取企业私有文档
  3. 无法联网、查询数据库、调用第三方接口
  4. 输出不稳定,难结构化

直接调用各家 API 学习成本高,LangChain 提供统一标准接口,切换模型零成本,内置 Agent、RAG 完整方案。

1.1.2 LangChain 包结构

表格

包名 作用
langchain 主包,高层应用组件
langchain-core 底层统一抽象、Runnable 标准
langchain-openai/langchain-deepseek 各家模型集成包
langchain-text-splitters 文档切分工具
langchain-mcp-adapters MCP 协议工具适配

1.2 LangChain 四大核心模块

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

1 Model I/O:模型输入输出标准化(提示模板、调用、输出解析) 2 Chains:LCEL 链式组合,串联多个步骤 3 Retrieval(RAG):文档加载、切片、向量库检索 4 Agents:自主智能体,可规划任务、调用工具

2 项目环境准备

1 新建 conda 虚拟环境,Python=3.12

conda create -n langchain python=3.12
conda activate langchain

2 安装基础依赖

pip install langchain langchain-core python-dotenv

3 配置 API 密钥管理

2.1 .env 文件管理密钥(项目推荐)

项目根目录新建.env

OPENAI_API_KEY=sk-xxx
OPENAI_BASE_URL=https://xxx/v1
DEEPSEEK_API_KEY=sk-xxx

读取代码:

from dotenv import load_dotenv
import os
load_dotenv()
api_key = os.getenv("OPENAI_API_KEY")

注意:.env 不要提交 git

2.2 Windows 全局环境变量(学习使用)

Win 搜索「编辑系统环境变量」,在用户变量新建 KEY、BASE_URL 字段,重启终端生效。
在这里插入图片描述

3 Model I/O 模型调用实战

3.1 调用在线大模型(OpenAI 兼容接口)

3.1 OpenAI 原生 SDK 调用

from openai import OpenAI
import os
from dotenv import load_dotenv
load_dotenv()
client = OpenAI(base_url=os.getenv("OPENAI_BASE_URL"),api_key=os.getenv("OPENAI_API_KEY"))
# ChatCompletion 传统接口
res = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[{"role":"user","content":"你好"}]
)
print(res.choices[0].message.content)

3.2 LangChain 统一调用模型

两种初始化方式:init_chat_model / ChatOpenAI

from langchain.chat_models import init_chat_model
llm = init_chat_model(
    model="gpt-4o-mini",
    model_provider="openai",
    base_url=os.getenv("OPENAI_BASE_URL"),
    api_key=os.getenv("OPENAI_API_KEY"),
    temperature=0
)
resp = llm.invoke("你好")
print(resp.content)

3.3 消息类型(System/Human/AI/Tool)

from langchain_core.messages import SystemMessage,HumanMessage
res = llm.invoke([
    SystemMessage(content="你是Python专家"),
    HumanMessage(content="写快速排序")
])

3.4 四种调用方式

1 同步 invoke:单次问答 2 异步 ain:高并发服务使用 3 stream 流式:打字机实时输出 4 batch 批量:一次性处理多条问题

3.2 本地模型 Ollama 部署调用

3.1 Ollama 介绍

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本地开源大模型运行工具,一键下载运行 Qwen、DeepSeek 等开源模型,支持 LangChain 无缝集成。

1 官网下载 Windows/Mac/Linux 客户端 2 命令拉取模型:ollama run qwen3:8b 3 修改模型存储路径,避免 C 盘占用

3.3 LangChain 调用 Ollama 本地模型

pip install langchain-ollama
from langchain_ollama import ChatOllama
llm = ChatOllama(model="qwen3:8b",base_url="http://localhost:11434")
res = llm.invoke("介绍LangChain")
print(res.content)

4 本章小结

1 LangChain 四大核心:Model I/O、Chains、RAG、Agents 2 密钥统一用.env 文件管理,避免硬编码泄露 3 在线模型统一使用兼容 OpenAI 接口调用 4 Ollama 快速本地运行开源大模型,适合离线开发

Logo

AtomGit AI 社区提供模型库、数据集、Agent、Token等资源

更多推荐