17_memory_chat_history.py 1.0 KB

123456789101112131415161718192021222324252627282930313233343536
  1. from pathlib import Path
  2. import json
  3. import sys
  4. sys.path.append(str(Path(__file__).resolve().parents[1]))
  5. from _chapter2_config import print_dependency_hint
  6. try:
  7. from langchain_community.chat_message_histories import ChatMessageHistory
  8. from langchain_core.messages import messages_from_dict, messages_to_dict
  9. except ModuleNotFoundError as exc:
  10. print_dependency_hint(exc)
  11. raise SystemExit(1)
  12. def main() -> None:
  13. history = ChatMessageHistory()
  14. history.add_user_message("在吗?")
  15. history.add_ai_message("在")
  16. print(f"history.messages-->{history.messages}")
  17. dicts = messages_to_dict(history.messages)
  18. print(f"dicts-->{dicts}")
  19. history_file = Path(__file__).with_name("history.json")
  20. history_file.write_text(json.dumps(dicts, indent=2, ensure_ascii=False), encoding="utf-8")
  21. messages = json.loads(history_file.read_text(encoding="utf-8"))
  22. chat_messages = messages_from_dict(messages)
  23. print(f"chat_messages-->{chat_messages}")
  24. if __name__ == "__main__":
  25. main()