发布时间:2026-04-15 20:54:10编辑:123阅读(28)
LangSmith开发-应用入门
大模型具有不确定性,尤其是构建复杂AI Agent应用程序中,中间会涉及非常多的子步骤,如果想要了解每一步的运行状态和结果,一方面可以通过Debug来进行实时控制,而另一方面可以借助一些工具来观察和调试中间的交互流程,LangSmith就
是这样一个工具平台,由LangChain和LangGraph背后的团队创建,主要作用是:为基于大语言模型构建的应用程序提供全面的监控、调试和可观察性。提供强大的跟踪、日志记录和实时分析功能。
LangSmith官网:https://smith.langchain.com/
注册账号,创建一个API-KEY

![]()
通常,对于一个项目而言,可以是单个应用程序或服务。
代码如下:
from typing import Annotated
from typing_extensions import TypedDict
from langgraph.graph import StateGraph,START,END
from langgraph.graph.message import add_messages
from langchain_ollama import ChatOllama
from langgraph.checkpoint.memory import MemorySaver
import os
os.environ['LANGSMITH_TRACING'] = 'true'
os.environ['LANGSMITH_API_KEY'] = 'lsv2_pt_7a7db729daee4c949f09fxxxxxxxxxxxxxx'
os.environ['LANGSMITH_PROJECT'] = 'langgraph_chatbot'
# 定义状态类(会自动合并messages)
class State(TypedDict):
messages: Annotated[list, add_messages]
# 初始化模型
model = ChatOllama(
model="qwen3:8b",
temperature=0,
top_p=0.95,
)
# 定义聊天节点
def chatbot(state: State) -> State:
reply = model.invoke(state["messages"])
return {'messages': [reply]}
# 构建带MemorySaver的图
builder = StateGraph(State)
builder.add_node('chatbot', chatbot)
builder.add_edge(START, 'chatbot')
builder.add_edge('chatbot', END)
memory = MemorySaver()
graph = builder.compile(checkpointer=memory)
# 运行多轮对话,使用相同thread_id实现记忆
thread_config = {"configurable":{"thread_id":"session_10"}}
# 第一轮对话
state1 = graph.invoke({"messages":[{"role":"user", "content":"我叫张三"}]}, config=thread_config)
print(state1["messages"][-1].content)
# 第二轮对话
state2 = graph.invoke({"messages":[{"role":"user", "content":"我叫什么"}]}, config=thread_config)
print(state2["messages"][-1].content)
# 使用不同的thread_id,会开启全新对话
state3 = graph.invoke({"messages":[{"role":"user", "content":"我叫什么"}]}, config={"configurable":
{"thread_id":"session_2"}})
print(state3["messages"][-1].content)
# 查看记忆
latest = graph.get_state(thread_config)
print(latest.values['messages']) # 包含全部轮次对话运行结果:
你好,张三!很高兴认识你。有什么我可以帮你的吗?是想讨论某个话题,还是需要解决某个问题?随时告诉我哦! 😊
你叫张三!😊 有什么我可以帮你的吗?
你好!我是通义千问,你可以叫我Qwen。有什么问题或需要帮助的地方吗?😊
访问LangSmith页面,可以看到Agent的运行状态

LangGraph详细

在初次构建AI应用程序时,建议从最简单的工作流实现开始,结合LangSmith这样的评估工具是能够极大程序上帮助理解调用模型中间过程。而随着构建应用程序的越来越复杂,其中间状态也会变得越来越多。
下一篇: 没有了
52538
52459
42549
39461
33887
30851
29625
24525
24382
22755
28°
119°
133°
162°
317°
319°
325°
387°
321°
458°