【agent篇】Langchain入门 一.介绍1.1 定义LangChain开源 LLM 应用开发框架Python/JS 双版本用来串联大模型、私有文档、向量库、工具、API快速搭建 RAG、对话机器人、Agent 智能体。LangChain官网https://www.langchain.comhttps://www.langchain.comhttps://www.langchain.comhttps://www.langchain.com1.2 Agent1.2.1 定义Agent 会思考、能自主规划、主动调用工具完成复杂任务的大模型。1.2.2 四要素感知观察拿到用户目标、历史对话、工具返回结果。思考推理 / Thought我现在拥有哪些信息信息够不够回答缺什么行动Action调用工具搜索、读取文件、执行代码、查询数据库、调用 API。记忆Memory记住之前做过什么、工具返回了什么避免重复操作。1.2.3 agent工作流程图1.3 LangChain、Chain、Agent 的核心区别概念LangChainChainAgent角色舞台提供场地、灯光、道具剧本固定的台词和走位演员根据剧情即兴发挥决策权无是环境无按剧本走有自主决定灵活性高提供各种组件低步骤固定极高动态规划复杂度框架复杂度任务复杂度智能体复杂度关键区别是什么框架怎么做固定流程谁来做怎么做自主流程二.开发准备2.1 Langchainuv add langchain不同模型的安装依赖# 集成 DeepSeek uv add langchain-deepseek 集成 OpenAI uv add langchain-openai 集成 Anthropic uv add langchain-anthropic包名作用langchainLangChain 核心框架提供 Chain、Agent、Memory 等功能langchain-openai接入 OpenAI 接口python-dotenv读取.env文件里的 API Key不用把密钥写死在代码里jupyterlab网页版笔记本可以边写边跑代码适合学习和实验2.2 uvuv是一个用 Rust 编写的极速 Python 包管理器和解析器由 Astral 团队开发也是 Ruff 的开发者。它旨在替代 pip、pip-tools、pipenv、poetry、virtualenv 等工具提供更快的依赖安装和虚拟环境管理。为什么选择 uv极速安装比 pip 快 10-100 倍比 poetry 快 5-50 倍统一工具链一个工具替代多个 Python 包管理工具兼容性好完全兼容 pip 和 pip-tools 的工作流跨平台支持 Windows、macOS、Linux现代化设计内置虚拟环境管理、依赖锁定、项目脚手架等功能2.2.1 安装方法方法一使用 pip 安装推荐# 使用 pip 安装 uv pip install uv 验证安装 uv --version方法二使用安装脚本Linux/macOS# 使用 curl 安装 curl -LsSf https://astral.sh/uv/install.sh | sh 或者使用 wget wget -qO- https://astral.sh/uv/install.sh | sh 安装后需要重启终端或运行 source ~/.bashrc # 或 source ~/.zshrc方法三Windows 安装# 使用 pip推荐 pip install uv 或者使用 PowerShell powershell -c irm https://astral.sh/uv/install.ps1 | iexWindows 用安装脚本装完后当前终端的 PATH 不会立即生效可以新开一个终端2.2.2 uv 与 pip 命令对比功能pip 命令uv 命令说明安装包pip install langchainuv add langchainuv add 会自动更新 pyproject.toml批量安装pip install -r requirements.txtuv pip install -r requirements.txtuv 兼容 pip 命令创建虚拟环境python -m venv .venvuv venvuv 更简洁快速列出依赖pip listuv pip listuv 通过 uv pip 子命令兼容生成锁文件pip freeze requirements.txtuv lockuv 生成 uv.lock 文件三.项目创建3.1 创建项目目录首先目录下右键创建文件并命名PyCharm 打开项目的正确方式PyCharm 新建项目向导不支持 uv正确流程是先在终端用uv init创建项目再用 PyCharm → File → Open → 打开项目文件夹配置解释器选.venv\Scripts\python.exe3.2 初始化 uv 项目uv init --python 3.123.3 安装相应的包uv add langchain langchain-openai python-dotenv jupyterlab3.4 配置 API Key3.4.1 创建.env文件右键创建时容易建成文件夹。确认.env是一个文件不是文件夹。3.4.2 输入相应信息OPENAI_API_KEYsk-你的key OPENAI_BASE_URLhttps://api.openai.com/v1 DEEPSEEK_API_KEYsk-你的deepseek-key ANTHROPIC_API_KEYsk-你的claude-key.gitignore里有这两行防止密钥泄露.env.ipynb_checkpoints/3.5 启动 JupyterLabuv run jupyter lab3.5 代码实例# 1.加载环境变量自动找项目根目录的 .env from pathlib import Path from dotenv import load_dotenv from datetime import datetime import os load_dotenv(Path(__file__).parent.parent / .env) # 检查 key 是否加载成功 if not os.getenv(OPENAI_API_KEY): raise SystemExit(❌ 未找到 OPENAI_API_KEY请确认项目根目录下有 .env 文件) # 2.导入依赖 from langchain_core.tools import tool from langchain.agents import create_agent from langchain_openai import ChatOpenAI # 3.定义工具 tool def get_current_time() - str: 获取当前系统时间 return datetime.now().strftime(%Y-%m-%d %H:%M:%S) # 4.创建模型用 DeepSeek 走 OpenAI 兼容接口key 和 base_url 从 .env 读取 llm ChatOpenAI(modeldeepseek-v4-flash) # 5.定义Agent工具必须在创建 Agent 之前定义好 agent create_agent( llm, # 传入 LLM 对象 tools[get_current_time], # 工具集 ) # 6.调用模型 print( 正在调用大模型...) response agent.invoke({ messages: [ {role: user, content: 今天几月几日} ] }) # 7.打印结果只输出最终回复不输出内部调试信息 print(response[messages][-1].content)结果

相关新闻

最新新闻

Navicat Mac版试用期重置终极指南:三步告别14天倒计时,实现无限试用

Navicat Mac版试用期重置终极指南:三步告别14天倒计时,实现无限试用

Navicat Mac版试用期重置终极指南:三步告别14天倒计时,实现无限试用 【免费下载链接】navicat_reset_mac navicat mac版无限重置试用期脚本 Navicat Mac Version Unlimited Trial Reset Script 项目地址: https://gitcode.com/gh_mirrors/na/navicat_r…

2026/8/14 18:46:42
Genesis Plus GX 高精度世嘉模拟器完整指南:如何用一款核心跑通 5 代主机?

Genesis Plus GX 高精度世嘉模拟器完整指南:如何用一款核心跑通 5 代主机?

Genesis Plus GX 高精度世嘉模拟器完整指南:如何用一款核心跑通 5 代主机? 【免费下载链接】Genesis-Plus-GX An enhanced port of Genesis Plus - accurate & portable Sega 8/16 bit emulator 项目地址: https://gitcode.com/gh_mirrors/ge/Gene…

2026/8/14 18:46:42
mcrcon 跨平台编译终极指南:一行命令构建你的 Minecraft 远程管理客户端

mcrcon 跨平台编译终极指南:一行命令构建你的 Minecraft 远程管理客户端

mcrcon 跨平台编译终极指南:一行命令构建你的 Minecraft 远程管理客户端 【免费下载链接】mcrcon Rcon client for Minecraft 项目地址: https://gitcode.com/gh_mirrors/mc/mcrcon mcrcon 是一款用 C 语言编写的 Minecraft Rcon 客户端,用于远程…

2026/8/14 18:46:42
2026手机远程办公:向日葵、TeamViewer、ToDesk鸿蒙适配+传文件+AI审计功能对比

2026手机远程办公:向日葵、TeamViewer、ToDesk鸿蒙适配+传文件+AI审计功能对比

手机远程办公是比较常见的临时远控场景,大多数人只想做几件小事:取一份文件,回一条消息,确认程序有没有跑完。手机屏幕有限,网络也不总是理想,因此能不能尽快连上、点得准、输得进去,往往比功能…

2026/8/14 18:46:42
Sora关停启示:从技术奇迹到商业可行,AI视频生成的未来路径

Sora关停启示:从技术奇迹到商业可行,AI视频生成的未来路径

1. 从“封神”到“退场”:Sora的25个月生命周期回顾最近几天,AI圈子里最炸裂的消息,莫过于OpenAI宣布关停其文生视频模型Sora。从2022年底首次亮相引发全球惊叹,到如今悄然退场,Sora的生命周期定格在了大约25个月。这个…

2026/8/14 18:46:42
AI 不会替代程序员,但会重新筛选程序员

AI 不会替代程序员,但会重新筛选程序员

这两年 AI 很火,但我越来越觉得,一个开发者真正需要关心的不是“AI 会不会取代程序员”,而是: AI 出现以后,什么样的程序员会变得更值钱,什么样的程序员会更容易被替代。 如果只是把 AI 当成一个“帮我写…

2026/8/14 18:41:42