LangChain 学习笔记 · Day 1 环境搭建
LangChain 开发环境搭建指南,包括 Python 环境配置、依赖安装和 Hello World 示例
8 分钟阅读
LangChainPython环境搭建Kimi大语言模型
🎯 学习目标
- 在 macOS 上搭建 Python 开发环境
- 创建虚拟环境(venv),并安装 LangChain 所需依赖
- 成功运行第一个 Hello World Demo(调用国产大模型 Kimi K2)
🛠️ 环境搭建
1. 安装 / 升级 Python
macOS 版本
- macOS 自带 Python 3.9.6(过旧,会遇到 urllib3 / SSL 警告)
- 通过 Homebrew 安装 Python 3.11:
brew install python@3.11 - 将 Homebrew Python 添加到 PATH:
export PATH="/opt/homebrew/opt/python@3.11/libexec/bin:/opt/homebrew/opt/python@3.11/bin:$PATH" - 验证版本:
python3 --version # 期望输出 Python 3.11.x
Windows 版本
- 从 Python 官网 下载 Python 3.11+ 安装包
- 安装时勾选 "Add Python to PATH" 选项
- 或者手动添加 Python 到系统环境变量
- 验证版本:
python --version # 期望输出 Python 3.11.x
2. 创建虚拟环境
macOS/Linux 版本
python3 -m venv .venv
source .venv/bin/activate
Windows 版本
python -m venv .venv
.venv\Scripts\activate
3. 安装依赖
macOS/Linux 版本
pip install -U pip
pip install langchain langchain-openai langchain-community chromadb tiktoken
Windows 版本
python -m pip install -U pip
python -m pip install langchain langchain-openai langchain-community chromadb tiktoken
📦 依赖说明
langchain:核心框架langchain-openai:对接 OpenAI 协议(国产模型兼容接口也能用)langchain-community:社区维护的加载器 & 工具chromadb:轻量级向量数据库(后续做 RAG 用)tiktoken:OpenAI 分词器,用于计算 token 数
✅ Hello World Demo
代码示例(Kimi K2)
from langchain.prompts import PromptTemplate
from langchain_openai import ChatOpenAI
from langchain_core.output_parsers import StrOutputParser
# 初始化 LLM(Kimi API)
llm = ChatOpenAI(
model="kimi-k2-0711-preview",
temperature=0.7,
api_key="你的_KIMI_API_KEY",
base_url="https://api.moonshot.cn/v1"
)
prompt = PromptTemplate(
input_variables=["topic"],
template="请用一句话总结:{topic}"
)
chain = prompt | llm | StrOutputParser()
print(chain.invoke({"topic": "LangChain 是什么?"}))
输出结果示例
LangChain 是一个开源框架,用于快速构建、链接和部署由语言模型驱动的端到端智能应用。
⚠️ 踩坑记录
- ModuleNotFoundError: No module named 'langchain_openai'
→ 解决:
pip install langchain-openai - NotOpenSSLWarning (LibreSSL 2.8.3)
→ 原因:macOS 自带 Python 使用 LibreSSL,不兼容 urllib3 v2
→ 解决:升级到 Homebrew 的 Python 3.11(推荐)或降级 urllib3 (
pip install urllib3<2) - LangChainDeprecationWarning: LLMChain.run 已弃用
→ 解决:改用 LCEL(
prompt | llm | parser) +.invoke()方式
📌 总结
- 已完成 Day 1 环境准备 & Hello World
- 掌握了虚拟环境的作用:隔离依赖、避免污染系统 Python
- 学会了如何用 LangChain 对接国产大模型(Kimi K2)
- 踩坑并解决了 Python 版本 / OpenSSL / LangChain API 变更的问题
⏭️ Day 2 展望
- 深入学习 PromptTemplate 的更多用法
- 编写一个简单的应用:邮件生成器 / 摘要器
- 探索如何通过参数化模板提高 Prompt 的复用性