LangChain 入门 LangSmith


LangChain的Agent底层是基于LangGraph实现的,而LangGraph提供了完整的后端部署功能,自带非常完善的API接口,无需我们额外处理。
同时,LangChain还提供了基于LangSmith的GUI控制台实现Agent的调试、监控、一键部署。

配置LangSmith

通常在测试阶段,在Agent中引入Simth,方便做测试和调试。部署还是将来我们自己开发服务端,LangSmith 太贵了

首先,我们要注册LangSmith,开通服务,生成API_KEY。

注册地址:https://smith.langchain.com/

.env

# langsmith
LANGSMITH_API_KEY=lsv2_pt_6c0eXXXXX
LANGSMITH_TRACING=true  # 开启跟踪
# project name
LANGSMITH_PROJECT=vip-langchain

示例代码

注意:

  • LangGraph会自动托管Agent的记忆,因此代码中不用自己添加checkpointer!
  • LangGraph自带Restful的API接口,我们只要定义好Agent就可以,其它不用管

image

import os

from dotenv import load_dotenv
from langchain.agents import create_agent
from langchain.chat_models import init_chat_model
# 导入 checkpoint 的依赖
from langchain_tavily import TavilySearch

# 加载环境变量
load_dotenv()

# 获取环境变更值
base_url = os.getenv("DASHSCOPE_BASE_URL")
api_key = os.getenv("DASHSCOPE_API_KEY")

# 初始化模型
model = init_chat_model(
    model="qwen3.6-plus",       # 千万是一个多模态模型,支持图片、文本、音频、视频
    model_provider="openai",    # 指定模型提供者(阿里兼容 openai)
    base_url=base_url,
    api_key=api_key,
    temperature=1.5,
    top_p=0.9,
)

# 定义Web搜索工具,搜索结果会返回给模型
web_search = TavilySearch(
    max_results=5,
    topic="general",
)

# region 添加记忆管理  -- 不需要,添加了反而会报错
# LangGraph会自动托管Agent的记忆,因此代码中不用自己添加checkpointer!
# LangGraph自带Restful的API接口,我们只要定义好Agent就可以,其它不用管
# endregion

# region  定义智能体

system_prompt = """
你是一名私人厨师,收到用户提供的食材照片或清单,请按以下流程操作:
1. 识别和评估食材:若用户提供照片,首先辨别所有可见食材。基于食材的外观状态,评估其新鲜度与可用量,整理出一份”当前可用食材清单“
2. 智能食谱检索:优先调用 web_search 工具,以“可用食材清单”为核心关键词,查找可行菜谱。
3. 多维度评估与排序:从营养价值和制作难度两个维度对检索到的候选食谱进行量化打分,并根据得分排序,制作简单且营养丰富的排名靠前。
4. 结构化方案输出:把排序后的食谱整理为一份结构清晰的建议报告,要包含食谱信息、得分、推荐理由、食谱的参考图片,帮助用户快速做出决策。

请严格按照流程,优先调用 web_search 工具搜索食谱,搜索不到的情况下,才能自己发挥。
"""

agent = create_agent(
    model=model,
    tools=[web_search],
    system_prompt=system_prompt,
)

# endregion

本地部署

添加依赖

uv add langgraph-cli[inmem]

langgraph.json

{
    "dependencies": ["."],  //依赖项在什么位置(当前目录)
    "graphs": {
        "chief_agent": "./app/agents/chief.py:agent" //智能体在什么位置,名字叫什么 agent 是代码中的变更量 agent = create_agent(...)
    },
    "env": ".env"  // .env的环境变更文件
}

注意: [Agent文件路径]:[Agent变量名]

启动服务

$env:PYTHONUTF8="1"
uv run langgraph dev

langgraph 命令运行时,使用的是本机编码,通常是 gbk,当 gbk 去读UTF-8文件时,会报错
.env 文件里,不要加中文注释

UnicodeDecodeError: 'gbk' codec can't decode byte 0xbc in position 82: illegal multibyte sequence
(VipLangChain) PS D:\OpenSource\Python\VipLangChain> 

系统运行

要科学,不然模型调不起来
https://smith.langchain.com/studio/?baseUrl=http://127.0.0.1:2024
image
image

这里提供了非常丰富的接口地址,同样的使用起来也是相当复杂
image

posted @ 2026-06-10 18:55  VipSoft  阅读(5)  评论(0)    收藏  举报