
在与人工智能代理互动时,我们经常发现自己在重复分享相同的偏好、事实和信息。这种长期记忆的缺失意味着人工智能代理无法从过去的对话中学习,也无法调整自己的反应。试想一下,如果这些人工智能代理能够记住你的偏好,从以前的互动中学习,并相应地优化其行为,长期保留你的行为、事实和事件的知识。最终,这将使人工智能代理在长期对话中表现得更加智能。在本文中,我们将揭示 LangMem SDK 如何让你的代理利用长期记忆来学习和适应。此外,我们还可以根据不同的用户隔离记忆并持久地维护它。
- 了解什么是 LangChain 最近推出的 LangMem SDK。
- 了解它作为长期内存所采用的内存存储概念。
- 探索 LangMem SDK 工具及其使用方法。
- 深入了解将 LangMem SDK 与人工智能代理集成的应用和优势。
LangMem SDK简介
最近,Langchain 推出了一款名为 LangMem 的软件开发工具包(SDK),用于长期记忆存储,可与人工智能代理集成。其工具提供了从对话中提取信息的功能。这些工具可帮助代理记住用户的偏好并提供事实,最终对提示进行微调并完善代理的行为。在与代理的每次交互中,存储的记忆都会得到更新。因此,它可以根据记忆进行调整并提供更高的性能,从而帮助开发出更好的上下文感知、连贯和优化的人工智能代理。
内存存储概念
LangMem 有一个核心内存 API,可以将内存存储在任何存储器中,如后端数据库或内存向量存储器。它的功能独立于与 LangMem 集成的数据库,其工具可直接访问代理,以执行这些内存管理操作。它根据对话提取新内存,理解上下文,并更新现有内存。这就是下文将详细解释的语义内存概念。

Source: LangMem SDK
语义记忆
语义记忆存储的是我们无法从LLM或知识库中获取的事实。在语义记忆中,记忆作为事实存储在键值对中,我们从用户的对话中获取这些事实。代理以后可以利用这种语义记忆来检索与上下文相似的记忆,并对代理进行相应的调整。当我们无法从预先训练好的模型和任何集成知识库中获取数据,而又需要随时对代理进行定制和个性化时,这种类型的记忆就非常有用。此外,它还注重信息的重要性,比如存储最常用的信息。它有助于在创建记忆和巩固记忆之间保持平衡。
从下图中我们可以看到,当用户在对话过程中指定客户端位置时,它会同时验证数据并更新内存向量,如下图所示,以保存更新的数据。
如何设置和安装LangMem
下面让我们来看看如何设置和安装 LangMem:
Step 1:安装软件包
要将 LangMem 与人工智能代理集成,我们首先需要安装 langmem 软件包
!pip install -U langmem #This package for Integrating LangMem
!pip install -qU "langchain[groq]"
!pip install -U langmem #This package for Integrating LangMem
!pip install langchain
!pip install langgraph
!pip install -qU "langchain[groq]"
!pip install -U langmem #This package for Integrating LangMem
!pip install langchain
!pip install langgraph
!pip install -qU "langchain[groq]"
Step 2:配置API密钥
在计划使用模型的环境变量中配置提供商的 API 密钥。我们将使用 Groq 的开源模型,因此将 Groq API 密钥导出为环境变量。
Export GROQ_API_KEY = "<your groq api key>"
Export GROQ_API_KEY = "<your groq api key>"
Export GROQ_API_KEY = "<your groq api key>"
Step 3:导入必要的软件包
from langgraph.prebuilt import create_react_agent
from langchain.chat_models import init_chat_model
from langgraph.store.memory import InMemoryStore
from langgraph.store.memory import InMemorySaver
from langmem import create_manage_memory_tool, create_search_memory_tool
from langgraph.prebuilt import create_react_agent
from langchain.chat_models import init_chat_model
from langgraph.store.memory import InMemoryStore
from langgraph.store.memory import InMemorySaver
from langmem import create_manage_memory_tool, create_search_memory_tool
from langgraph.prebuilt import create_react_agent
from langchain.chat_models import init_chat_model
from langgraph.store.memory import InMemoryStore
from langgraph.store.memory import InMemorySaver
from langmem import create_manage_memory_tool, create_search_memory_tool
在上述导入中,create_react_agent 用于创建人工智能代理,我们将与之集成 langmem。init_chat_model 用于初始化聊天模型,并提供代理需要使用的模型名称。创建管理内存工具(create_manage_memory_tool)和创建搜索内存工具(create_search_memory_tool)是用于提取、管理和优化代理长期内存的 Langmem 工具。
Step 4:定义Langmem工具
在下面的代码片段中,命名空间有助于识别和分割存储的信息,例如我们在这里传递了“agent_memory”作为命名空间。你可以提供任何你想提供的名称。
create_manage_memory_tool 用于存储新信息,而 create_search_memory_tool 用于使用语义搜索检索过去的信息。
create_manage_memory_tool(namespace=("agent_memory",)),
create_search_memory_tool(namespace=("agent_memory",)),]
tools = [
create_manage_memory_tool(namespace=("agent_memory",)),
create_search_memory_tool(namespace=("agent_memory",)),]
tools = [
create_manage_memory_tool(namespace=("agent_memory",)),
create_search_memory_tool(namespace=("agent_memory",)),]
Step 5:设置内存存储
在这里,我们使用 InMemory 存储器,并定义用于创建嵌入式的 openai embeddings。我们传递的“dims”为 1536,这将创建一个 1536 维的嵌入向量,这些向量将存储在内存中。
"embed": "openai:text-embedding-3-small",
store = InMemoryStore(
index={
"dims": 1536,
"embed": "openai:text-embedding-3-small",
}
)
store = InMemoryStore(
index={
"dims": 1536,
"embed": "openai:text-embedding-3-small",
}
)
Step 6:初始化聊天模型
下一步是初始化我们要使用的聊天模型。我们使用开源模型 llama3 来初始化代理
model = init_chat_model("llama3-8b-8192", model_provider="groq")
model = init_chat_model("llama3-8b-8192", model_provider="groq")
model = init_chat_model("llama3-8b-8192", model_provider="groq")
Step 7:添加校验指针
我们正在添加名为校验指针的短期存储器
checkpointer = InMemorySaver()
checkpointer = InMemorySaver()
checkpointer = InMemorySaver()
Step 8:激活代理
最后,我们通过传递上述定义的所有参数来激活代理,如下所示。
agent_executor = create_react_agent(llm=model, tools=tools, checkpointer=checkpointer, store=store)
agent_executor = create_react_agent(llm=model, tools=tools, checkpointer=checkpointer, store=store)
agent_executor = create_react_agent(llm=model, tools=tools, checkpointer=checkpointer, store=store)
现在,我们可以执行代理,并通过与代理的一般交互进行测试。Langmem 工具在后台工作,记忆检索会自动进行。我们无需向代理明确传递任何信息。
text = "Hi, Please create two weeks itinerary in short for my Europe trip from India in mid-budget in bullet points"
result = agent_executor.invoke({"messages": [{"role": "user", "content": text}]}, config={"configurable":{"session_id": session_id}})
print(result["messages"][-1].content)
text = "Hi, Please create two weeks itinerary in short for my Europe trip from India in mid-budget in bullet points"
session_id = 1
result = agent_executor.invoke({"messages": [{"role": "user", "content": text}]}, config={"configurable":{"session_id": session_id}})
print(result["messages"][-1].content)
text = "Hi, Please create two weeks itinerary in short for my Europe trip from India in mid-budget in bullet points"
session_id = 1
result = agent_executor.invoke({"messages": [{"role": "user", "content": text}]}, config={"configurable":{"session_id": session_id}})
print(result["messages"][-1].content)
输出
"Day 1: Arrive in London, UK\n- Arrive in London.\n- Evening: Explore London Eye, Big Ben, Trafalgar Square.\n
Day 2: Explore London\n- Visit The British Museum, Buckingham Palace, Westminster Abbey, Tower Bridge.\n- Evening: Dinner at Borough Market or a pub.\n
Day 3: Day Trip to Stonehenge & Bath\n- Visit Stonehenge and Roman Baths in Bath.\n- Return to London.\n
Day 4: Travel to Paris\n- Take Eurostar train (2.5 hours) to Paris.\n- Evening: Eiffel Tower, Champs-Élysées.\n
Day 5: Explore Paris\n- Visit Louvre Museum, Notre Dame, Montmartre, Sacré-Cœur.\n
Day 6: Day Trip to Versailles\n- Visit Versailles Palace and gardens.\n- Return to Paris.\n
Day 7: Travel to Amsterdam\n- Take Thalys train (3.5 hours) to Amsterdam.\n- Evening: Explore Canals, Anne Frank House, Dam Square.\n
Day 8: Explore Amsterdam\n- Visit Van Gogh Museum, Rijksmuseum, Vondelpark.\n- Canal tour.\n
Day 9: Travel to Berlin\n- Take train (6-7 hours) to Berlin.\n- Evening: Brandenburg Gate, Berlin Wall.\n
Day 10: Explore Berlin\n- Visit Berlin Wall Memorial, Pergamon Museum, East Side Gallery.\n- Evening: Explore Kreuzberg district.\n
Day 11: Travel to Prague\n- Take train (4.5 hours) to Prague.\n- Evening: Explore Old Town Square, Astronomical Clock, Charles Bridge.\n
Day 12: Explore Prague\n- Visit Prague Castle, St. Vitus Cathedral, Golden Lane.\n- Evening: Visit Petrin Hill.\n
Day 13: Travel to Vienna\n- Take train (4 hours) to Vienna.\n- Evening: Explore St. Stephen's Cathedral, Hofburg Palace.\n
Day 14: Explore Vienna & Departure\n- Visit Schönbrunn Palace, Belvedere Palace, Kunsthistorisches Museum.\n- Departure.\n
General Tips:\n- Use city passes for discounts on transport and attractions.\n- Book trains in advance for better prices.\n- Opt for mid-range accommodations like boutique hotels or Airbnb.\n"
"Day 1: Arrive in London, UK\n- Arrive in London.\n- Evening: Explore London Eye, Big Ben, Trafalgar Square.\n
Day 2: Explore London\n- Visit The British Museum, Buckingham Palace, Westminster Abbey, Tower Bridge.\n- Evening: Dinner at Borough Market or a pub.\n
Day 3: Day Trip to Stonehenge & Bath\n- Visit Stonehenge and Roman Baths in Bath.\n- Return to London.\n
Day 4: Travel to Paris\n- Take Eurostar train (2.5 hours) to Paris.\n- Evening: Eiffel Tower, Champs-Élysées.\n
Day 5: Explore Paris\n- Visit Louvre Museum, Notre Dame, Montmartre, Sacré-Cœur.\n
Day 6: Day Trip to Versailles\n- Visit Versailles Palace and gardens.\n- Return to Paris.\n
Day 7: Travel to Amsterdam\n- Take Thalys train (3.5 hours) to Amsterdam.\n- Evening: Explore Canals, Anne Frank House, Dam Square.\n
Day 8: Explore Amsterdam\n- Visit Van Gogh Museum, Rijksmuseum, Vondelpark.\n- Canal tour.\n
Day 9: Travel to Berlin\n- Take train (6-7 hours) to Berlin.\n- Evening: Brandenburg Gate, Berlin Wall.\n
Day 10: Explore Berlin\n- Visit Berlin Wall Memorial, Pergamon Museum, East Side Gallery.\n- Evening: Explore Kreuzberg district.\n
Day 11: Travel to Prague\n- Take train (4.5 hours) to Prague.\n- Evening: Explore Old Town Square, Astronomical Clock, Charles Bridge.\n
Day 12: Explore Prague\n- Visit Prague Castle, St. Vitus Cathedral, Golden Lane.\n- Evening: Visit Petrin Hill.\n
Day 13: Travel to Vienna\n- Take train (4 hours) to Vienna.\n- Evening: Explore St. Stephen's Cathedral, Hofburg Palace.\n
Day 14: Explore Vienna & Departure\n- Visit Schönbrunn Palace, Belvedere Palace, Kunsthistorisches Museum.\n- Departure.\n
General Tips:\n- Use city passes for discounts on transport and attractions.\n- Book trains in advance for better prices.\n- Opt for mid-range accommodations like boutique hotels or Airbnb.\n"
"Day 1: Arrive in London, UK\n- Arrive in London.\n- Evening: Explore London Eye, Big Ben, Trafalgar Square.\n
Day 2: Explore London\n- Visit The British Museum, Buckingham Palace, Westminster Abbey, Tower Bridge.\n- Evening: Dinner at Borough Market or a pub.\n
Day 3: Day Trip to Stonehenge & Bath\n- Visit Stonehenge and Roman Baths in Bath.\n- Return to London.\n
Day 4: Travel to Paris\n- Take Eurostar train (2.5 hours) to Paris.\n- Evening: Eiffel Tower, Champs-Élysées.\n
Day 5: Explore Paris\n- Visit Louvre Museum, Notre Dame, Montmartre, Sacré-Cœur.\n
Day 6: Day Trip to Versailles\n- Visit Versailles Palace and gardens.\n- Return to Paris.\n
Day 7: Travel to Amsterdam\n- Take Thalys train (3.5 hours) to Amsterdam.\n- Evening: Explore Canals, Anne Frank House, Dam Square.\n
Day 8: Explore Amsterdam\n- Visit Van Gogh Museum, Rijksmuseum, Vondelpark.\n- Canal tour.\n
Day 9: Travel to Berlin\n- Take train (6-7 hours) to Berlin.\n- Evening: Brandenburg Gate, Berlin Wall.\n
Day 10: Explore Berlin\n- Visit Berlin Wall Memorial, Pergamon Museum, East Side Gallery.\n- Evening: Explore Kreuzberg district.\n
Day 11: Travel to Prague\n- Take train (4.5 hours) to Prague.\n- Evening: Explore Old Town Square, Astronomical Clock, Charles Bridge.\n
Day 12: Explore Prague\n- Visit Prague Castle, St. Vitus Cathedral, Golden Lane.\n- Evening: Visit Petrin Hill.\n
Day 13: Travel to Vienna\n- Take train (4 hours) to Vienna.\n- Evening: Explore St. Stephen's Cathedral, Hofburg Palace.\n
Day 14: Explore Vienna & Departure\n- Visit Schönbrunn Palace, Belvedere Palace, Kunsthistorisches Museum.\n- Departure.\n
General Tips:\n- Use city passes for discounts on transport and attractions.\n- Book trains in advance for better prices.\n- Opt for mid-range accommodations like boutique hotels or Airbnb.\n"
现在,我们在同一个 session_id 中作为后续问题查询代理为我们提供旅行选项。
text = "Also, pls suggest travel options for above plan in short"
result = agent_executor.invoke({"messages": [{"role": "user", "content": text}]}, config={"configurable":{"session_id": session_id}})
print(result["messages"][-1].content)
text = "Also, pls suggest travel options for above plan in short"
session_id = 1
result = agent_executor.invoke({"messages": [{"role": "user", "content": text}]}, config={"configurable":{"session_id": session_id}})
print(result["messages"][-1].content)
text = "Also, pls suggest travel options for above plan in short"
session_id = 1
result = agent_executor.invoke({"messages": [{"role": "user", "content": text}]}, config={"configurable":{"session_id": session_id}})
print(result["messages"][-1].content)
输出
"Day 1: Arrive in London\nTravel Option: Flight from India to London.\n
Day 2-3: Explore London & Stonehenge\nTravel Option: Use London Underground, rent a car for Stonehenge.\n
Day 4-5: Travel to Paris & Explore\nTravel Option: Eurostar train to Paris, use Paris Métro.\n
Day 6: Versailles Day Trip\nTravel Option: Take RER C train.\n
Day 7-8: Travel to Amsterdam & Explore\nTravel Option: Thalys train, bike or canal cruise.\n
Day 9-10: Travel to Berlin & Explore\nTravel Option: Train to Berlin, use U-Bahn/S-Bahn.\n
Day 11-12: Travel to Prague & Explore\nTravel Option: Train to Prague"
"Day 1: Arrive in London\nTravel Option: Flight from India to London.\n
Day 2-3: Explore London & Stonehenge\nTravel Option: Use London Underground, rent a car for Stonehenge.\n
Day 4-5: Travel to Paris & Explore\nTravel Option: Eurostar train to Paris, use Paris Métro.\n
Day 6: Versailles Day Trip\nTravel Option: Take RER C train.\n
Day 7-8: Travel to Amsterdam & Explore\nTravel Option: Thalys train, bike or canal cruise.\n
Day 9-10: Travel to Berlin & Explore\nTravel Option: Train to Berlin, use U-Bahn/S-Bahn.\n
Day 11-12: Travel to Prague & Explore\nTravel Option: Train to Prague"
"Day 1: Arrive in London\nTravel Option: Flight from India to London.\n
Day 2-3: Explore London & Stonehenge\nTravel Option: Use London Underground, rent a car for Stonehenge.\n
Day 4-5: Travel to Paris & Explore\nTravel Option: Eurostar train to Paris, use Paris Métro.\n
Day 6: Versailles Day Trip\nTravel Option: Take RER C train.\n
Day 7-8: Travel to Amsterdam & Explore\nTravel Option: Thalys train, bike or canal cruise.\n
Day 9-10: Travel to Berlin & Explore\nTravel Option: Train to Berlin, use U-Bahn/S-Bahn.\n
Day 11-12: Travel to Prague & Explore\nTravel Option: Train to Prague"
现在,我们将更改 session_id,并查询一个后续问题,检查它是否根据存储的内存检索数据:
text = "Also, pls suggest food options for my Euope trip"
result = agent_executor.invoke({"messages": [{"role": "user", "content": text}]}, config={"configurable":{"session_id": session_id}})
print(result["messages"][-1].content)
text = "Also, pls suggest food options for my Euope trip"
session_id = 2
result = agent_executor.invoke({"messages": [{"role": "user", "content": text}]}, config={"configurable":{"session_id": session_id}})
print(result["messages"][-1].content)
text = "Also, pls suggest food options for my Euope trip"
session_id = 2
result = agent_executor.invoke({"messages": [{"role": "user", "content": text}]}, config={"configurable":{"session_id": session_id}})
print(result["messages"][-1].content)
输出
"Day 1: Arrive in London\nTravel Option: Flight from India to London.\nFood Option: Try Fish and Chips, English Breakfast.\n
Day 2-3: Explore London & Stonehenge\nTravel Option: Use London Underground, rent a car for Stonehenge.\nFood Option: Try Sunday Roast, Beef Wellington.\n
Day 4-5: Travel to Paris & Explore\nTravel Option: Eurostar train to Paris, use Paris Métro.\nFood Option: Try Croissants, Escargot, Coq au Vin.\n
Day 6: Versailles Day Trip\nTravel Option: Take RER C train.\nFood Option: Try French Pastries and Tarte Tatin.\n
Day 7-8: Travel to Amsterdam & Explore\nTravel Option: Thalys train, bike or canal cruise.\nFood Option: Try Stroopwafels, Dutch Pancakes.\n
Day 9-10: Travel to Berlin & Explore\nTravel Option: Train to Berlin, use U-Bahn/S-Bahn.\nFood Option: Try Currywurst, Pretzel, and Sauerkraut.\n
Day 11-12: Travel to Prague & Explore\nTravel Option: Train to Prague, use public trams/metro.\nFood Option: Try Svíčková, Trdelník, Pilsner Beer.\n
Day 13-14: Travel to Vienna & Departure\nTravel Option: Train to Vienna, use Vienna public transport.\nFood Option: Try Wiener Schnitzel, Sachertorte.\n
General Tips: Book trains early, use city passes, opt for mid-range accommodations.\n
"Day 1: Arrive in London\nTravel Option: Flight from India to London.\nFood Option: Try Fish and Chips, English Breakfast.\n
Day 2-3: Explore London & Stonehenge\nTravel Option: Use London Underground, rent a car for Stonehenge.\nFood Option: Try Sunday Roast, Beef Wellington.\n
Day 4-5: Travel to Paris & Explore\nTravel Option: Eurostar train to Paris, use Paris Métro.\nFood Option: Try Croissants, Escargot, Coq au Vin.\n
Day 6: Versailles Day Trip\nTravel Option: Take RER C train.\nFood Option: Try French Pastries and Tarte Tatin.\n
Day 7-8: Travel to Amsterdam & Explore\nTravel Option: Thalys train, bike or canal cruise.\nFood Option: Try Stroopwafels, Dutch Pancakes.\n
Day 9-10: Travel to Berlin & Explore\nTravel Option: Train to Berlin, use U-Bahn/S-Bahn.\nFood Option: Try Currywurst, Pretzel, and Sauerkraut.\n
Day 11-12: Travel to Prague & Explore\nTravel Option: Train to Prague, use public trams/metro.\nFood Option: Try Svíčková, Trdelník, Pilsner Beer.\n
Day 13-14: Travel to Vienna & Departure\nTravel Option: Train to Vienna, use Vienna public transport.\nFood Option: Try Wiener Schnitzel, Sachertorte.\n
General Tips: Book trains early, use city passes, opt for mid-range accommodations.\n
"
"Day 1: Arrive in London\nTravel Option: Flight from India to London.\nFood Option: Try Fish and Chips, English Breakfast.\n
Day 2-3: Explore London & Stonehenge\nTravel Option: Use London Underground, rent a car for Stonehenge.\nFood Option: Try Sunday Roast, Beef Wellington.\n
Day 4-5: Travel to Paris & Explore\nTravel Option: Eurostar train to Paris, use Paris Métro.\nFood Option: Try Croissants, Escargot, Coq au Vin.\n
Day 6: Versailles Day Trip\nTravel Option: Take RER C train.\nFood Option: Try French Pastries and Tarte Tatin.\n
Day 7-8: Travel to Amsterdam & Explore\nTravel Option: Thalys train, bike or canal cruise.\nFood Option: Try Stroopwafels, Dutch Pancakes.\n
Day 9-10: Travel to Berlin & Explore\nTravel Option: Train to Berlin, use U-Bahn/S-Bahn.\nFood Option: Try Currywurst, Pretzel, and Sauerkraut.\n
Day 11-12: Travel to Prague & Explore\nTravel Option: Train to Prague, use public trams/metro.\nFood Option: Try Svíčková, Trdelník, Pilsner Beer.\n
Day 13-14: Travel to Vienna & Departure\nTravel Option: Train to Vienna, use Vienna public transport.\nFood Option: Try Wiener Schnitzel, Sachertorte.\n
General Tips: Book trains early, use city passes, opt for mid-range accommodations.\n
"
从上面的输出中,我们可以看到它记住了欧洲旅行计划,并在同一计划的基础上推荐了食物选项。如果我们不在这里添加 LangMem,那么如果我们更改 session_id,代理就无法记住该用户的上下文,因为它只有短期记忆。在这里,它将尝试从记忆库中查找语义信息,并增强对该用户的响应。这样,我们就可以利用 LangMem 的长期记忆功能,让代理变得聪明起来。
利用LangMem并为多个用户隔离内存
如果人工智能代理有多个用户,那么我们希望每个用户都有独立的长期记忆,以提供更好的对话体验。我们可以通过创建不同的命名空间来隔离内存,并在运行时指定 user_id,以获取或更新特定用户的内存,同时维护隐私。下面是我们如何实现这一目标的示例。
namespace = {"agent_memory", "{user_id}"}
text = "travel options for my Europe trip"
result = agent_executor.invoke({"messages": [{"role": "user", "content": text}]}, config={"configurable":{"session_id": session_id, "user_id": user_id}})
namespace = {"agent_memory", "{user_id}"}
text = "travel options for my Europe trip"
session_id = 2
user_id = "ab"
result = agent_executor.invoke({"messages": [{"role": "user", "content": text}]}, config={"configurable":{"session_id": session_id, "user_id": user_id}})
namespace = {"agent_memory", "{user_id}"}
text = "travel options for my Europe trip"
session_id = 2
user_id = "ab"
result = agent_executor.invoke({"messages": [{"role": "user", "content": text}]}, config={"configurable":{"session_id": session_id, "user_id": user_id}})
现在,我们可以通过直接搜索内存存储来验证它是否根据 user_id 单独存储数据。同时验证内存隔离。
items = store.search(("agent_memory",))
print(item.namespace, item.value)
items = store.search(("agent_memory",))
for item in items:
print(item.namespace, item.value)
items = store.search(("agent_memory",))
for item in items:
print(item.namespace, item.value)
输出:

从上面的输出中可以看出,信息将根据命名空间和用户 ID 进行存储。这样,LangMem 就能智能地管理每个用户的长期内存。这有助于保护数据隐私,避免数据泄露。
将LangMem与AI代理集成的好处
- 一致性:客户将在多个会话中体验到连续性,助理会“记住”过去的问题和偏好。
- 效率:人工智能助理可以更快地回答问题或解决问题,因为它不需要反复询问客户相同的信息。
- 个性化: 系统可以提供更加个性化的解决方案、建议和服务,从而提高客户满意度。
使用案例
- 客户互动:一位客户向人工智能助理咨询六个月前购买的产品的技术问题。人工智能助手可以立即检索产品的保修详情,对过去的支持单进行故障排除,并根据以往的互动提供个性化的解决方案。
- 行动中的长期记忆:随着时间的推移,人工智能助理会更多地了解客户的偏好,如偏好的沟通语气(正式与非正式)、产品使用模式或服务升级偏好。这样就能实现更有效、更高效的互动,为客户和公司节省时间。
- 持续改进:随着人工智能助理与客户互动的增多,LangMem 使其能够保留洞察力,并根据以往的互动情况改进其响应,从而改善整体用户体验。
小结
从本质上讲,我们可以看到,如果我们利用 LangMem 的功能来有效地保留内存,那么它就能与人工智能代理进行有价值的整合。它将帮助公司提高人工智能代理的性能。应针对不同的上下文进行适当的命名空间隔离,如用户特定命名空间和通用命名空间。高效使用持久数据存储进行内存管理。遵循这些做法并结合 LangMem 工具,我们就能利用智能内存功能逐步增强代理。
- LangMem SDK 可让人工智能代理保留长期记忆,提高对话的连贯性和适应性。
- 它采用语义记忆存储来动态存储和检索用户特定的事实和偏好。
- LangMem 支持与各种数据库集成,提高了内存管理的灵活性。
- SDK 允许多个用户维护独立的内存空间,确保个性化的人工智能交互。
- 有了 LangMem,人工智能代理会随着时间的推移而不断发展,根据过去的互动情况改进反应和优化行为。
评论留言