docs: add Synap managed memory integration#471
Conversation
There was a problem hiding this comment.
Pull request overview
Adds a new integration page to the Haystack integrations hub to document Synap as a managed “Memory Store” backend for cross-session agent memory.
Changes:
- Adds
integrations/synap.mdwith front matter metadata (name, repo, PyPI, issue tracker, etc.). - Documents installation and usage for
SynapRetrieverandSynapMemoryWriter, plus a “Full Pipeline Example”.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| from haystack import Document, Pipeline | ||
| from haystack.components.builders import ChatPromptBuilder | ||
| from haystack.components.generators.chat import OpenAIChatGenerator | ||
| from maximem_synap import MaximemSynapSDK | ||
| from synap_haystack import SynapMemoryWriter, SynapRetriever |
| A complete retrieval-augmented pipeline that loads Synap context before the LLM and records turns afterward: | ||
|
|
||
| ```python | ||
| from haystack import Document, Pipeline | ||
| from haystack.components.builders import ChatPromptBuilder | ||
| from haystack.components.generators.chat import OpenAIChatGenerator | ||
| from maximem_synap import MaximemSynapSDK | ||
| from synap_haystack import SynapMemoryWriter, SynapRetriever | ||
|
|
||
| sdk = MaximemSynapSDK(api_key="sk-...") | ||
|
|
||
| retriever = SynapRetriever(sdk=sdk, user_id="user_123", customer_id="acme_corp") | ||
| writer = SynapMemoryWriter( | ||
| sdk=sdk, conversation_id="session_1", user_id="user_123", customer_id="acme_corp" | ||
| ) |
| A complete retrieval-augmented pipeline that loads Synap context before the LLM and records turns afterward: | ||
|
|
||
| ```python | ||
| from haystack import Document, Pipeline | ||
| from haystack.components.builders import ChatPromptBuilder | ||
| from haystack.components.generators.chat import OpenAIChatGenerator | ||
| from maximem_synap import MaximemSynapSDK | ||
| from synap_haystack import SynapMemoryWriter, SynapRetriever | ||
|
|
||
| sdk = MaximemSynapSDK(api_key="sk-...") | ||
|
|
||
| retriever = SynapRetriever(sdk=sdk, user_id="user_123", customer_id="acme_corp") | ||
| writer = SynapMemoryWriter( | ||
| sdk=sdk, conversation_id="session_1", user_id="user_123", customer_id="acme_corp" | ||
| ) | ||
|
|
||
| pipeline = Pipeline() | ||
| pipeline.add_component("memory", retriever) | ||
| pipeline.add_component("llm", OpenAIChatGenerator(model="gpt-4o")) |
| from haystack import Document, Pipeline | ||
| from haystack.components.builders import ChatPromptBuilder | ||
| from haystack.components.generators.chat import OpenAIChatGenerator | ||
| from maximem_synap import MaximemSynapSDK | ||
| from synap_haystack import SynapMemoryWriter, SynapRetriever | ||
|
|
||
| sdk = MaximemSynapSDK(api_key="sk-...") |
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
|
Hi @kacperlukawski and @bilgeyucel — would love a review when you have a moment! This adds a All Copilot-flagged issues have been addressed: hardcoded API keys replaced with |
|
Hi @kacperlukawski and @bilgeyucel 👋 — gentle follow-up on this whenever you get a moment. The page is ready for review and all bot feedback has been addressed. Happy to make any further changes you'd like. Thanks! |
|
Hi @kacperlukawski @bilgeyucel 👋 — checking in once more on this. Happy to iterate on anything that would help it land, or close it out if a Synap page isn't the right fit for the integrations hub right now. Whatever's easiest for you. Thanks! |
kacperlukawski
left a comment
There was a problem hiding this comment.
@visy-ani, thank you for contributing this!
I left some comments, but more generally, I think this integration should use the same interface like Mem0. We support memory stores natively, so it would be also better for our users to see Synap Memory being one of the available options, not something they cannot use directly.
|
Thanks for the review @kacperlukawski! Both addressed in the latest push:
Let me know if there's anything else. |
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
|
@visy-ani I still have some concerns regarding this integration. Haystack supports memory stores, but they are not just components used in a pipeline. Could you please have a look at mem0 integration and consider refactoring the integration so it provides the same interface? Otherwise, I cannot accept adding it as a "Memory Store", since our users may find that misleading. |
Adds Synap to the Haystack integrations hub as a Memory Store.
Synap is a managed memory layer for AI agents. The Haystack integration provides two native
@componentclasses:SynapRetriever: retrieves facts, preferences, and episodes from the user's Synap memory and returns them as HaystackDocumentobjectsSynapMemoryWriter: records conversation turns to Synap so they are available for retrieval in future sessionsMemory is scoped to
user_idandcustomer_id, ensuring strict isolation in multi-tenant applications.Install:
pip install maximem-synap-haystackPyPI: https://pypi.org/project/maximem-synap-haystack/
Docs: https://docs.maximem.ai/integrations/haystack
Open source: Integration package source at
maximem-ai/maximem_synap_sdk— contributions welcome