枪战英雄
99.99M · 2026-03-28
uv 是一个用 Rust 编写的 极快的 Python 包管理器和项目管理器。
它整合了 Python 开发者常用的多种工具到一个 CLI 中,非常像 Node.js 生态里的 npm/pnpm。
pyproject.tomluv 命令速查表:
| 功能 | 命令 |
|---|---|
| 创建虚拟环境 | uv venv |
| 使用虚拟环境运行脚本 | uv run main.py |
| 安装依赖 | uv pip install fastapi |
| 安装到项目(写入 pyproject) | uv add fastapi |
| 安装 Python 版本 | uv python install 3.12 |
| 运行工具 | uv run uvicorn app:app |
| 解析依赖锁定 | uv pip compile |
我们需要依据 uv 官网给我们提供的安装方法将 uv 安装到计算机中。
powershell -ExecutionPolicy ByPass -c "irm | iex"
以 Windows 为例,将上述命令输入到终端后等待几秒就会安装完成。
学习 langchain 我们要创建一个 Python 项目环境。
首先,创建 langchain 项目目录 learn-langchain,在目录下的终端命令行输入 uv init。
此时,uv 就会帮我们初始化开发环境,会生成如下初始文件:
其中,pyproject.toml 是 Python 项目的“总配置中心 + 依赖声明入口”。
[project]
name = "learn-langchain"
version = "0.1.0"
description = "Add your description here"
readme = "README.md"
requires-python = ">=3.13"
dependencies = []
可以把它类比成前端项目中的 package.json 文件,下面我们详细解释这个文件中各个字段的含义。
首先,安装 langchain 核心依赖,在项目跟目录终端输入:
uv add langchain langchain-core langchain-classic langchain-community
此时,新的依赖会声明在 pyproject.toml 文件的 dependencies 中。
同时,在项目中会生成 uv.lovk 文件和 .venv 文件:
如果是 Windows 系统,在项目终端命令行输入:
.venvScriptsactivate
如果是 macOS / Linux 系统,在项目终端命令行输入:
source .venv/bin/activate
虚拟环境激活后,会在终端命令行前端显示 (learn-langchain) 表示当前激活的 Python 虚拟环境名称。
首先,安装必要的依赖,在项目跟目录终端输入:
uv add python-dotenv langchain-openai langchain-deepseek
python-dotenv是一个用于读取 .env 文件并将环境变量加载到 Python 运行时的工具。langchain-openai 提供对 OpenAI 官方模型 的接口封装。langchain-deepseek 提供对 DeepSeek 平台(OpenAI-compatible)的接口 封装。在项目根目录创建 .env 文件,输入如下内容:
OPENAI_API_KEY=sk-c97afa925b1745f79225c904dff53cba
OPENAI_API_BASE=
在学习 LangChain 的前期阶段,我们暂时使用 DeepSeek 作为我们的大语言模型。
因为 DeepSeek 兼容 OpenAI API 协议, 所以我们可以使用其 API key 赋值给 OPENAI_API_KEY。
访问 DeepSeek 开放平台,创建 API key 保存起来,然后赋值给 .env 中的 OPENAI_API_KEY。
使用官网提供的兼容 OpenAI 的base_url 赋值给 OPENAI_API_BASE。
创建第一个示例,在项目根目录创建 01-hello-world 文件夹,在其文件夹内创建 01-chat.py 文件。
from langchain_openai import ChatOpenAI
from dotenv import load_dotenv
# 加载环境变量
load_dotenv()
# 初始化聊天模型
llm = ChatOpenAI(
model="deepseek-chat",
temperature=0,
)
# 调用模型
response = llm.invoke("你是谁")
print(response.content)
上述代码的含义是:
from langchain_openai import ChatOpenAI
from dotenv import load_dotenv
from langchain_openai import ChatOpenAI
from dotenv import load_dotenv
python-dotenv 导入 load_dotenv.env 文件中的环境变量到 Python 的 os.environload_dotenv()
.env 文件OPENAI_API_KEY、OPENAI_API_BASE)导入环境变量ChatOpenAI 就可以自动读取 Key 和 API Base,无需在代码中硬编码llm = ChatOpenAI(
model="deepseek-chat",
temperature=0,
)
model="deepseek-chat" :
temperature=0:
response = llm.invoke("你是谁")
invoke() 是 ChatOpenAI 的核心方法"你是谁" 是 prompt,告诉 LLM 你希望它做什么response 是一个对象,通常包含:response.content → LLM 的文本输出最终,在终端命令行输入:python . 1-hello-world 1-chat.py 等待几秒就会在控制台打印内容。
这说明,我们第一个 LangChain 示例运行成功,后续,我们将开始系统学习 LangChain 提供的强大的能力。