feat: implement powermem langchain middleware - #1187
Closed
kazmiller0 wants to merge 1 commit into
Closed
Conversation
- before_agent/abefore_agent search PowerMem using the latest user message and inject retrieved memories as a SystemMessage - after_agent writes back the user/assistant exchange via memory.add, gated on save_interactions - explicit user_id threaded through all PowerMem calls - fail-open: search failures are logged and swallowed so the agent still runs - async path delegates to the sync implementation since PowerMem's Memory client is sync and LangGraph's RunnableCallable supports sync-only hooks under async execution
Member
LangChain Contract ScoreLangChain Contract Score ======================== score: 100.00 / 100 suites: 2 rule: A weighted capability receives credit only when it passes on every configured Python suite and all declared prerequisite capabilities also receive credit. Gate tests are reported but do not add points. Public import contract: PASS (gate) py311: passed py312: passed Retrieve memory before model call: PASS (35/35) py311: passed py312: passed Persist interaction after agent run: PASS (25/25) py311: passed py312: passed Disable interaction persistence: PASS (10/10) py311: passed py312: passed Fail-open on search error: PASS (15/15) py311: passed py312: passed Async memory injection: PASS (15/15) py311: passed py312: passed LangChain Contract ReportLangChain Contract Report ========================= score: 100.00 / 100 rule: A weighted capability receives credit only when it passes on every configured Python suite and all declared prerequisite capabilities also receive credit. Gate tests are reported but do not add points. Suite Summary ------------- py311: passed=6/6, failures=0, errors=0, skipped=0 py312: passed=6/6, failures=0, errors=0, skipped=0 Gate Checks ----------- Public import contract [gate] PASS - py311: passed - py312: passed Weighted Breakdown ------------------ Retrieve memory before model call [35/35] PASS - py311: passed - py312: passed Persist interaction after agent run [25/25] PASS - py311: passed - py312: passed Disable interaction persistence [10/10] PASS - py311: passed - py312: passed Fail-open on search error [15/15] PASS - py311: passed - py312: passed Async memory injection [15/15] PASS - py311: passed - py312: passed |
Member
|
Thank you for participating in the VLDB Summer School. Now that the program has concluded, we’re closing this PR as part of the event wrap-up. We appreciate the time and effort you put into your contribution. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Solution Description