一些容易混淆的点(个人记录)

config 和 configurable:

config

是框架的标准流转载体,必须是请求内的局部变量,并发处理

configurable

configurable是config字典中的特殊字段,专门用来装载动态、因人而异、随时可配置的自定义参数。

存储着thread_id 和 checkpointer_id,一个是线程id,一个是节点id,精准定位。

makefile 复制代码
config = {
    # ------  config 层的"系统标准参数" ------
    "tags": ["v1.0", "production"],  # 给这次运行打标签,方便在 LangSmith 里搜索
    "metadata": {"source": "web"},   # 附加元数据
    "recursion_limit": 50,           # 【系统参数】:防止图陷入死循环,最多跑50步
    "callbacks": [my_custom_handler],# 【系统参数】:埋点监听器
    
    # ------  configurable (定制表单) ------
    "configurable": {
        # 【LangGraph 专属字段】
        "thread_id": "user_123",       # 抽屉钥匙
        "checkpoint_id": "1ef8...",    # 时光机钥匙
        
        # 【塞自己的自定义字段!】
        "user_vip_level": "gold",      # 比如传一个用户的 VIP 等级进去
        "llm_temperature": 0.7         # 动态决定这次大模型的温度
    }
}

Query 和 State:

Query:大门保安

python 复制代码
from pydantic import BaseModel
# 这是 FastAPI 的专属数据类型
class Query(BaseModel):
    question: str
    thread_id: str

State:厨房工单

python 复制代码
from typing import TypedDict, Annotated
from langgraph.graph.message import add_messages

# 这是 LangGraph 的专属数据类型
class AgentState(TypedDict):
    # messages 字段专门用来存聊天记录
    # Annotated[..., add_messages] 是魔法,代表新消息会自动追加,而不是覆盖
    messages: Annotated[list, add_messages] 
    
    # 你还可以随意加别的字段,比如大模型如果查了天气,就存在这里
    # current_weather: str

Query在FastAPI的路由函数中传给State

python 复制代码
@app.post("/chat/stream")
async def chat_stream(query: Query): # <--- 拿到 FastAPI 的 Query 对象
    
    # 1. 提取钥匙
    config = {"configurable": {"thread_id": query.thread_id}}
    
    # 2. 提取文本
    #    把 Query 里的纯文本 question,包装成 LangChain 标准的 HumanMessage,并塞进一个字典,这个字典的格式必须跟 AgentState 一模一样!
    initial_state_data = {
        "messages": [HumanMessage(content=query.question)]
    }
    
    # 3. 把初始的 state 数据交给 LangGraph 开始跑
    async for event in graph.astream_events(initial_state_data, config):
       

数据流转图

前后端流转

编排层流转

数据流转

相关推荐
終不似少年遊*4 分钟前
【Skill】为中型研发团队制作的敏捷迭代AI副驾Skill
人工智能·python·华为云·agent·ai编程·skill
爱吃火鸡面呀9 分钟前
BERT 从入门到实战:为什么需要它、核心原理与工程落地全解析
人工智能·自然语言处理·bert
电子科技圈11 分钟前
2026 RISC-V中国峰会观察:编译调试工具链的“在场节奏”,释放了什么信号?
大数据·人工智能·设计模式·软件工程·软件构建·代码规范·risc-v
紧跟先前的步伐13 分钟前
Go AI Agent 实战 22|完善 Agent 执行循环:从工具调用到最终回答
人工智能·ai·golang
IT智慧客073114 分钟前
前端 AI 面试题:从基础原理到工程实践的完整题库
人工智能
紧固件情报站16 分钟前
紧固件报价逻辑重构:成本、合规与智能博弈
大数据·人工智能·重构
FastCAE202224 分钟前
FastCAE AI应用助手重构(一)架构与桥接详解
人工智能·重构·架构
七牛云行业应用26 分钟前
爆火OpenFilm 0.2.6:开源 AI 视频 Agent 的安装、编辑与渲染流程(2026 年 10 月 )
人工智能·开源·音视频
咕泡科技29 分钟前
AI前沿速递:Gemini双连发+混元双档落地!智元发布首个机器人工时KPI,具身智能分出工厂与客厅两条赛道
人工智能·机器人·腾讯混元·智元机器人·gemini4carbon·巴布机器人
whyutianict_vv32 分钟前
HCIE-AI Developer 备考投入拆解:资源规划、判断矩阵与准备流程
人工智能·ai·开发