เวิร์กโฟลว์แบบมีมนุษย์ร่วมวง
การคืนเงิน การเปลี่ยนสัญญา และการ deploy ขึ้นโปรดักชันรอให้คนอนุมัติ นานเป็นนาทีหรือเป็นวัน โดยไม่ต้องเปิดโปรเซสค้างไว้
เก็บเอเจนต์ LangGraph แบบถาวรบน HotKV หยุด เล่นต่อ และย้อนเวลาผ่านสถานะของกราฟ และเก็บหน่วยความจำระยะยาวที่ค้นหาตามความหมายได้
แพ็กเกจเดียวสำหรับ checkpointer และที่เก็บ Python 3.10 ขึ้นไป
ตัวอย่างแบบแอนิเมชันพร้อมคำสั่ง HotKV จริงและคำตอบตัวอย่าง คลิกขั้นตอนใดก็ได้เพื่อข้ามไปยังขั้นนั้น คำสั่งและคำตอบยังคงเป็นภาษาอังกฤษ ตรงตามที่คุณพิมพ์และเห็นใน HotKV
เอเจนต์ LangGraph ที่เก็บสถานะไว้ในหน่วยความจำของโปรเซสจะเสียทุกอย่างเมื่อรีสตาร์ต การอนุมัติแบบมีมนุษย์ร่วมวงรอข้ามคืนไม่ได้ การรันที่ล้มเหลวเล่นต่อไม่ได้ และสิ่งที่เอเจนต์เรียนรู้ไม่คงอยู่ไปถึงบทสนทนาถัดไป
langgraph-checkpoint-hotkv เก็บ checkpoint ของแต่ละกราฟใน HotKV กราฟถูกขัดจังหวะแล้วเล่นต่อได้ หรือย้อนกลับไปยังขั้นก่อนหน้าใดก็ได้แล้วแตกสาขาจากตรงนั้น ที่เก็บคู่กันเก็บหน่วยความจำระยะยาวข้ามเธรด ค้นพบได้ด้วย namespace ด้วยตัวกรอง หรือด้วยความหมายเมื่อมีโมเดล embedding
แพ็กเกจเดียวสำหรับ checkpointer และที่เก็บ Python 3.10 ขึ้นไป
pip install langgraph-checkpoint-hotkvทุกขั้นของกราฟถูกบันทึกใน HotKV แล้ว
graph = builder.compile(checkpointer=HotKVSaver(hotkv.from_url("hotkv://localhost:6379")), interrupt_before=["refund"])กราฟทำงานผ่านขั้นตอนต่างๆ บันทึก checkpoint หลังแต่ละขั้น และหยุดก่อนการคืนเงิน
graph.invoke({"messages": [("user", "Refund order 1182")]}, {"configurable": {"thread_id": "t-81"}})โปรเซสรีสตาร์ตข้ามคืน สถานะยังอยู่ใน HotKV รออยู่ที่ขั้นเดิม
graph.get_state({"configurable": {"thread_id": "t-81"}}).nextผู้อนุมัติตอบว่าใช่ และกราฟทำงานต่อจาก checkpoint ที่บันทึกไว้
graph.invoke(None, {"configurable": {"thread_id": "t-81"}})หน่วยความจำระยะยาวอยู่ในที่เก็บ และค้นพบได้อีกในบทสนทนาใดก็ตามในภายหลัง
store.put(("users", "42"), "prefs", {"refunds": "prefers store credit"})การคืนเงิน การเปลี่ยนสัญญา และการ deploy ขึ้นโปรดักชันรอให้คนอนุมัติ นานเป็นนาทีหรือเป็นวัน โดยไม่ต้องเปิดโปรเซสค้างไว้
การรันที่ล้มเหลวที่ขั้น 40 เล่นต่อจากขั้น 40 แทนที่จะเริ่มใหม่
ย้อนกลับไปที่ checkpoint ก่อนหน้าใดก็ได้ เปลี่ยนอินพุตแล้วแตกสาขา เพื่อดูว่าเอเจนต์จะทำงานอย่างไร
HotKVSaver และ AsyncHotKVSaver เก็บสถานะของกราฟระหว่างการรัน พร้อม interrupt, resume และ time travel
HotKVStore เก็บรายการข้ามเธรด ค้นหาได้ด้วย namespace ตัวกรอง หรือความหมาย พร้อมวันหมดอายุตามต้องการ
ผ่านชุดทดสอบความสอดคล้องของ checkpointer จาก LangGraph เอง 81 การทดสอบใน 8 ความสามารถ สำหรับทั้งสอง saver
ใช้ชนิดข้อมูลหลักของ HotKV และดัชนีเวกเตอร์ และทำงานได้ทั้งมีและไม่มีไลเซนส์ enterprise
from langgraph.checkpoint.hotkv import HotKVSaver
with HotKVSaver.from_conn_string("hotkv://localhost:6379") as checkpointer:
graph = builder.compile(checkpointer=checkpointer)
graph.invoke({"messages": [("user", "hi")]}, {"configurable": {"thread_id": "1"}})ไม่ต้อง checkpointer และที่เก็บใช้ชนิดข้อมูลหลักและดัชนีเวกเตอร์ของ HotKV และทำงานบนเซิร์ฟเวอร์ที่มีหรือไม่มีไลเซนส์ก็ได้
รองรับ AsyncHotKVSaver และ AsyncHotKVStore ใช้ได้กับ ainvoke และ astream
ได้ ทุกอย่างถูกเก็บภายใต้คีย์พรีฟิกซ์ ค่าเริ่มต้นคือ langgraph ซึ่งเปลี่ยนได้ต่อแอปพลิเคชันหรือต่อสภาพแวดล้อม
HotKV ใช้โปรโตคอลของ Redis คุณจึงชี้ไคลเอนต์ที่มีอยู่มาที่ HotKV แล้วรันคำสั่งเดียวกันนี้ได้