| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- from pathlib import Path
- import sys
- import time
- sys.path.append(str(Path(__file__).resolve().parents[1]))
- from _chapter2_config import get_chat_model, print_dependency_hint
- try:
- from langchain.agents import create_agent
- from langchain_core.messages import HumanMessage
- try:
- from langgraph.checkpoint.memory import InMemorySaver
- except ImportError:
- from langgraph.checkpoint.memory import MemorySaver as InMemorySaver
- except ModuleNotFoundError as exc:
- print_dependency_hint(exc)
- raise SystemExit(1)
- def main() -> None:
- try:
- model = get_chat_model(temperature=0)
- except ModuleNotFoundError as exc:
- print_dependency_hint(exc)
- raise SystemExit(1)
- checkpointer = InMemorySaver()
- timestamp = int(time.time())
- config = {"configurable": {"thread_id": f"{timestamp}"}}
- agent = create_agent(
- model=model,
- tools=[],
- checkpointer=checkpointer,
- system_prompt="你是一个翻译官,擅长中英互译。",
- )
- input_1 = {"messages": [HumanMessage(content="你好,我叫小呆。")]}
- response_a = agent.invoke(input=input_1, config=config)
- input_2 = {"messages": [HumanMessage(content="你好,我叫什么?")]}
- config_2 = {"configurable": {"thread_id": f"{timestamp}-new"}}
- response_b = agent.invoke(input=input_2, config=config_2)
- response_c = agent.invoke(input=input_2, config=config)
- print("Response A (第一次对话):")
- print(response_a)
- print("\nResponse B (新线程,无记忆):")
- print(response_b)
- print("\nResponse C (回到原线程,有记忆):")
- print(response_c)
- if __name__ == "__main__":
- main()
|