三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

LangChain入门概述

LangChain入门概述

目录

  • 1 LangChain 基础介绍
    • 1.1 什么是 LangChain
      • 1.1.1 为什么需要 LangChain
      • 1.1.2 LangChain 包结构
    • 1.2 LangChain 四大核心模块
  • 2 项目环境准备
      • 2.1 .env 文件管理密钥(项目推荐)
      • 2.2 Windows 全局环境变量(学习使用)
  • 3 Model I/O 模型调用实战
    • 3.1 调用在线大模型(OpenAI 兼容接口)
      • 3.1 OpenAI 原生 SDK 调用
      • 3.2 LangChain 统一调用模型
      • 3.3 消息类型(System/Human/AI/Tool)
      • 3.4 四种调用方式
    • 3.2 本地模型 Ollama 部署调用
      • 3.1 Ollama 介绍
      • 3.3 LangChain 调用 Ollama 本地模型
  • 4 本章小结

1 LangChain 基础介绍

1.1 什么是 LangChain

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

  • Github:https://github.com/langchain-ai/langchain
  • 官网:https://www.langchain.com/langchain

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-adaptersMCP 协议工具适配

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:8b3 修改模型存储路径,避免 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 快速本地运行开源大模型,适合离线开发

← 返回列表