谷歌SEO

谷歌SEO

Products

当前位置:首页 > 谷歌SEO >

LangChain v1.3.4 中,Agent 如何实现上下文记忆?

96SEO 2026-08-03 14:21 0


在 LangChain v1.3.4 中。Agent 的“记忆”并不是模型本身具备的,而是通过把历史对话或数据塞给模型来实现的。理解这两种记忆模式还有如何在实际项目中使用它们,是解决使用者常见痛点的关键。

短期记忆

短期记忆作用于单个会话线程内。开启新对话或更改 thread_id 时记忆即被清空。

LangChain v1.3.4 中,Agent 如何实现上下文记忆?
  • 内存级别这方面。快速、轻量,适合单机短时交互。老实说,
  • 数据库级别的观点是。支持持久化,但需要额外安装和配置。

InMemorySaver 示例


from langgraph.checkpoint.memory import InMemorySaver
agent = create_agent(
model,checkpointer=InMemorySaver # 定义 checkpointer 检查点
)
# 保证后续会话使用同一 thread_id
config = {"configurable": {"thread_id": ""}}
# 第一次调用
agent.invoke]}。config=config)
# 第二次调用,仍能看到之前的上下文
result = agent.invoke]},config=config)
for message in result:
print)

PostgresSaver 示例

注意:数据库存储会把每次执行的数据都写入表中,导致重复数据。


pip install -U "psycopg" langgraph langgraph-checkpoint-postgres
# 基于 Docker 的 PostgreSQL 环境准备示例:
docker pull postgres
docker run --name postgres-langchain-db \
-e POSTGRES_USER=admin \
-e POSTGRES_PASSWORD=admin123 \
-e POSTGRES_DB=lang \
-p 5432:5432 \
-d postgres

from langgraph.checkpoint.postgres import PostgresSaver
DB_URI = "postgresql://admin:admin123@localhost:5432/lang?sslmode=disable"
with PostgresSaver.from_conn_string as checkpointer:
# 初次启动时调用此方法创建表结构
checkpointer.setup
agent = create_agent(
model,checkpointer=checkpointer
)
config = {"configurable": {"thread_id": ""}}
agent.invoke]}。config=config)
result = agent.invoke]},config=config)
for message in result:
print)

PostgreSQL 会生成四张表:

  • checkpoints: 主快照表。
  • checkpoint_blobs: 存放大对象。
  • checkpoint_writes: 中间表。
  • checkpoint_migrations: 表结构迁移记录。

MongoDBSaver 示例


pip install -U pymongo langgraph langgraph-checkpoint-mongodb
docker pull mongo
docker run --name mongo-langchain-db \
-e MONGO_INITDB_ROOT_USERNAME=admin \
-e MONGO_INITDB_ROOT_PASSWORD=admin123 \
-e MONGO_INITDB_DATABASE=lang \
-p 27017:27017 \
-d mongo

from langgraph.checkpoint.mongodb import MongoDBSaver
with MongoDBSaver.from_conn_string as checkpointer:
agent = create_agent(
model。checkpointer=checkpointer,store=None # 如果只想用 DB 做检查点,可不传 store 参数。)
config = {"configurable": {"thread_id": ""}}
agent.invoke]},config=config)
result = agent.invoke]}。config=config)
for message in result:
print)

上下文治理这方面,裁剪、删除、摘要

User Pain Point:

  • "我想让对话保持简洁,但又不想丢失关键信息。"
  • "怎样在多轮对话后自动清理无关历史,以免影响后续回答?"
  • "如何让模型仅关注最新几条消息,而忽略过往冗余内容?"

方法可以通过自定义中间件来完成:

Cutter示例 – before_model 装饰器裁剪消息堆栈。只保留最新一条:


from langchain.agents import AgentState
from langgraph.runtime import Runtime
from langchain.messages import RemoveMessage
from langgraph.graph.message import REMOVEALLMESSAGES

@beforemodeldef trimmessages: # 提取最终一条记录,只保留它和全部删除标识符。new_messages = state

return { "messages": }

agent = createagent( model,checkpointer=InMemorySaver,middleware= )

config={"configurable":{"thread_id":""}} agent.invoke]}。 config=config)

result = agent.invoke]},config=config)

for message in result: print)

该策略可防止历史堆叠导致模型误判上下文。

Delete示例 – after_model 装饰器删掉工具调用等无关信息:

...

SummarizationMiddleware 摘要示例 – 自动生成摘要以压缩历史:


agent = create_agent(
model。checkpointer=InMemorySaver,middleware=,keep=)
]
)


长期记忆

L​angChain 将长期记忆划分为三类,帮助我们在不同层面上管理知识库:

  • 语义记忆: 记录事实、使用者偏好、领域概念等可检索知识。
  • 情景记忆: 经验类记录,用成功/失败案例作为提示词或约束条件。
  • 程序性记忆: 规则、工作流程、程序提示词等操作性知识。

User Pain Point:如何在多使用者、多线程环境下统一访问与更新这些知识,而不出现冲突或版本问题?答案是使用统一的 Store 接口!下面演示其主要 API 与典型使用方式。

Store API 简介 & 示例代码

API 接口支持四个基本操作:.

python

from langgraph.store.memory import InMemoryStore

store = InMemoryStore

store.put,key='user_1',value={'name': 'zhangsan'。'age': 30})

ret = store.get,key='user_1') print # {'name': 'zhangsan','age': 30}

store.delete,'user_1')

  • 命名空间类似文件方法,如
  • value 可以是任意对象;若需要向量检索需自行嵌入向量字段。
  • search 支持以下参数:namespace_prefix / query / filter / limit / offset。
  • # 搜索范例:
    python store.put,key='hobby',value={"learn":"计算机组成原理","food":"大米饭","sports":"撸铁"}) store.put,key='hobby',value={"learn":"计算机组成原理","food":"大米饭"。"sports":"撸铁"}) result_all_user_hobbies = store.search) result_specific_user_hobbies = store.search) result_filtered_by_learning = store.search,filter={'learn':'数据库原理'}) -- 返回 Item 列表,可直接遍历查看值与 score 等字段。-- key='hobby',value={'learn':'计算机组成原理','food':'大米饭','sports':'撸铁'},created_at='...',updated_at='...',score=None)。... ] # 向量检索 :
    - 使用本地 Ollama embedding 模型做向量化,需安装 `langchain-ollama` 或相似包。老实说,- 在 Store 构造时传入 `index` 字典即可启用向量搜索。- query 参数即为文本查询,通过 Cosine 相似度排序返回最匹配的 Item。
    python from langchain.embeddings import init_embeddings embedding_model = init_embeddings store_with_vec_index = InMemoryStore( index={ "embed": embedding_model,"dims": embedding_model.dimensions,"fields":}) vec_result = store_with_vec_index.search,query="计算机") print ---

    Agent 使用 Store 的方式示例

    python agent_with_store_in_memory = create_agent( model。store=InMemoryStore ) result_mem_store_demo = agent_with_store_in_memory.invoke( {"messages":}) for m in result_mem_store_demo: print) ---

    PostgreSQL 长期存储实例

    python with PostgresStore.from_conn_string as pg_store: agent_pg_long_term = create_agent res_pg_demo = agent_pg_long_term.invoke( {"messages":}) for m in res_pg_demo: print) ---

    工具层访问 Store 的完整案例

    python @tooldef save_user->str: """保存使用者信息""" runtime.store.put,key=runtime.state,value={'name': name}) return 'saved' @tooldef get_user->str: """获取使用者信息""" u=runtime.store.get,key=runtime.state) return str if u else 'unknown' class CustomState: user_id : NotRequired # 自定义属性注入到 state agent_with_tool_and_state=create_agent( model,store=InMemoryStore,state_schema=CustomState,tools=,system_prompt="""当使用者提及个人信息时及时记录。当询问个人信息时尝试用工具检索。”" ) agent_with_tool_and_state.invoke({ "messages":,"user_id":"" }) res=get_user_invocation = agent_with_tool_and_state.invoke({ "messages":。"user_id":"" }) for m in res: print) ---

    中间件层访问 Store 示范

    • `NodeStyle` 钩子通过第二个参数 `Runtime` 获取 `runtime.store`;可直接操作键值或查询日志。
      • `before_model`: 在模型调用前处理状态,例如预先从 Store 加载某些配置项。python @before_modeldef custom_node_middleware: # 可读取 runtime.store 或 state.user_id 等自定义字段 pass
    • WrapStyle 钩子通过第一个参数 ModelRequest 来访问 request.messages 和 request.runtime.store。
      • `wrap_model_call`: 用于实现“按需缓存”或者“动态修改请求”功能。python @wrap_model_calldef custom_wrap_middleware: # 对 request.messages 做增删改,接下来交给 handler 调用真正的 LLM。其实,return handler


标签:

SEO优化服务概述

作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。

百度官方合作伙伴 白帽SEO技术 数据驱动优化 效果长期稳定

SEO优化核心服务

网站技术SEO

  • 网站结构优化 - 提升网站爬虫可访问性
  • 页面速度优化 - 缩短加载时间,提高用户体验
  • 移动端适配 - 确保移动设备友好性
  • HTTPS安全协议 - 提升网站安全性与信任度
  • 结构化数据标记 - 增强搜索结果显示效果

内容优化服务

  • 关键词研究与布局 - 精准定位目标关键词
  • 高质量内容创作 - 原创、专业、有价值的内容
  • Meta标签优化 - 提升点击率和相关性
  • 内容更新策略 - 保持网站内容新鲜度
  • 多媒体内容优化 - 图片、视频SEO优化

外链建设策略

  • 高质量外链获取 - 权威网站链接建设
  • 品牌提及监控 - 追踪品牌在线曝光
  • 行业目录提交 - 提升网站基础权威
  • 社交媒体整合 - 增强内容传播力
  • 链接质量分析 - 避免低质量链接风险

SEO服务方案对比

服务项目 基础套餐 标准套餐 高级定制
关键词优化数量 10-20个核心词 30-50个核心词+长尾词 80-150个全方位覆盖
内容优化 基础页面优化 全站内容优化+每月5篇原创 个性化内容策略+每月15篇原创
技术SEO 基本技术检查 全面技术优化+移动适配 深度技术重构+性能优化
外链建设 每月5-10条 每月20-30条高质量外链 每月50+条多渠道外链
数据报告 月度基础报告 双周详细报告+分析 每周深度报告+策略调整
效果保障 3-6个月见效 2-4个月见效 1-3个月快速见效

SEO优化实施流程

我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:

1

网站诊断分析

全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。

2

关键词策略制定

基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。

3

技术优化实施

解决网站技术问题,优化网站结构,提升页面速度和移动端体验。

4

内容优化建设

创作高质量原创内容,优化现有页面,建立内容更新机制。

5

外链建设推广

获取高质量外部链接,建立品牌在线影响力,提升网站权威度。

6

数据监控调整

持续监控排名、流量和转化数据,根据效果调整优化策略。

SEO优化常见问题

SEO优化一般需要多长时间才能看到效果?
SEO是一个渐进的过程,通常需要3-6个月才能看到明显效果。具体时间取决于网站现状、竞争程度和优化强度。我们的标准套餐一般在2-4个月内开始显现效果,高级定制方案可能在1-3个月内就能看到初步成果。
你们使用白帽SEO技术还是黑帽技术?
我们始终坚持使用白帽SEO技术,遵循搜索引擎的官方指南。我们的优化策略注重长期效果和可持续性,绝不使用任何可能导致网站被惩罚的违规手段。作为百度官方合作伙伴,我们承诺提供安全、合规的SEO服务。
SEO优化后效果能持续多久?
通过我们的白帽SEO策略获得的排名和流量具有长期稳定性。一旦网站达到理想排名,只需适当的维护和更新,效果可以持续数年。我们提供优化后维护服务,确保您的网站长期保持竞争优势。
你们提供SEO优化效果保障吗?
我们提供基于数据的SEO效果承诺。根据服务套餐不同,我们承诺在约定时间内将核心关键词优化到指定排名位置,或实现约定的自然流量增长目标。所有承诺都会在服务合同中明确约定,并提供详细的KPI衡量标准。

SEO优化效果数据

基于我们服务的客户数据统计,平均优化效果如下:

+85%
自然搜索流量提升
+120%
关键词排名数量
+60%
网站转化率提升
3-6月
平均见效周期

行业案例 - 制造业

  • 优化前:日均自然流量120,核心词无排名
  • 优化6个月后:日均自然流量950,15个核心词首页排名
  • 效果提升:流量增长692%,询盘量增加320%

行业案例 - 电商

  • 优化前:月均自然订单50单,转化率1.2%
  • 优化4个月后:月均自然订单210单,转化率2.8%
  • 效果提升:订单增长320%,转化率提升133%

行业案例 - 教育

  • 优化前:月均咨询量35个,主要依赖付费广告
  • 优化5个月后:月均咨询量180个,自然流量占比65%
  • 效果提升:咨询量增长414%,营销成本降低57%

为什么选择我们的SEO服务

专业团队

  • 10年以上SEO经验专家带队
  • 百度、Google认证工程师
  • 内容创作、技术开发、数据分析多领域团队
  • 持续培训保持技术领先

数据驱动

  • 自主研发SEO分析工具
  • 实时排名监控系统
  • 竞争对手深度分析
  • 效果可视化报告

透明合作

  • 清晰的服务内容和价格
  • 定期进展汇报和沟通
  • 效果数据实时可查
  • 灵活的合同条款

我们的SEO服务理念

我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。

提交需求或反馈

Demand feedback