|
11 | 11 | "- **Level**: Advanced\n", |
12 | 12 | "- **Time to complete**: 20 minutes\n", |
13 | 13 | "- **Components Used**: [`Agent`](https://docs.haystack.deepset.ai/docs/agent), [`ChatPromptBuilder`](https://docs.haystack.deepset.ai/docs/chatpromptbuilder), [`InMemoryBM25Retriever`](https://docs.haystack.deepset.ai/docs/inmemorybm25retriever) [`OpenAIChatGenerator`](https://docs.haystack.deepset.ai/docs/openaichatgenerator)\n", |
14 | | - "- **Experimental Components Used**: [`ChatMessageStore`](https://docs.haystack.deepset.ai/reference/experimental-chatmessage-store-api), [`ChatMessageRetriever`](https://docs.haystack.deepset.ai/reference/experimental-retrievers-api#chatmessageretriever), [`ChatMessageWriter`](https://docs.haystack.deepset.ai/reference/experimental-writers-api)\n", |
| 14 | + "- **Archived Components Used**: [`InMemoryChatMessageStore`](https://github.com/deepset-ai/haystack-experimental/blob/v0.19.0/haystack_experimental/chat_message_stores/in_memory.py), [`ChatMessageRetriever`](https://github.com/deepset-ai/haystack-experimental/blob/v0.19.0/haystack_experimental/components/retrievers/chat_message_retriever.py), [`ChatMessageWriter`](https://github.com/deepset-ai/haystack-experimental/blob/v0.19.0/haystack_experimental/components/writers/chat_message_writer.py)\n", |
15 | 15 | "- **Prerequisites**: You need an [OpenAI API Key](https://platform.openai.com/api-keys)\n", |
16 | 16 | "- **Goal**: After completing this tutorial, you'll have learned how to incorporate a conversational history into a RAG pipeline to enable multi-turn conversations grounded in documents.\n", |
17 | 17 | "\n", |
|
22 | 22 | "\n", |
23 | 23 | "**Why is this useful?** By incorporating conversational memory, a RAG system can remember earlier parts of a conversation. This allows users to ask natural follow-up questions without restating context, while the pipeline continues to retrieve relevant information and generate accurate responses based on the full conversation history.\n", |
24 | 24 | "\n", |
25 | | - "> 🧪 **Beta Feature Notice**:\n", |
| 25 | + "> ⚠️ **Archived Feature Notice**:\n", |
26 | 26 | ">\n", |
27 | | - "> The **ChatMessageStore** feature is currently in **beta**, available in the [haystack-experimental](https://github.com/deepset-ai/haystack-experimental) repository. We'd love your feedback, join the conversation in [this GitHub discussion](https://github.com/deepset-ai/haystack-experimental/discussions/420) and help us shape this feature!" |
| 27 | + "> The **ChatMessageStore** components used here live in the [haystack-experimental](https://github.com/deepset-ai/haystack-experimental) package, which is now **archived and no longer maintained**. They were not adopted into Haystack core. This tutorial pins the final release, `haystack-experimental==0.19.0.post1`, which stays installable from PyPI but is only tested against the version of Haystack that was current in February 2026.\n", |
| 28 | + ">\n", |
| 29 | + "> If you are building something new, prefer keeping chat history in your own application state, or use a [memory store](https://docs.haystack.deepset.ai/docs/mem0memorystore) for persistence across sessions." |
28 | 30 | ] |
29 | 31 | }, |
30 | 32 | { |
|
35 | 37 | "source": [ |
36 | 38 | "## Installation\n", |
37 | 39 | "\n", |
38 | | - "Install Haystack, `haystack-experimental` and `datasets` with pip:" |
| 40 | + "Install Haystack, the final `haystack-experimental` release and `datasets` with pip:" |
39 | 41 | ] |
40 | 42 | }, |
41 | 43 | { |
|
48 | 50 | "source": [ |
49 | 51 | "%%bash\n", |
50 | 52 | "\n", |
51 | | - "pip install -q haystack-ai \"haystack-experimental>=0.15.0\" datasets" |
| 53 | + "pip install -q haystack-ai \"haystack-experimental==0.19.0.post1\" datasets" |
52 | 54 | ] |
53 | 55 | }, |
54 | 56 | { |
|
108 | 110 | "\n", |
109 | 111 | "Conversation history is stored as `ChatMessage` objects in an `InMemoryChatMessageStore`. The `ChatMessageRetriever` reads past messages from the store, while the `ChatMessageWriter` appends new messages after each interaction. Together, these components allow the pipeline to persist and reuse chat history across multiple turns.\n", |
110 | 112 | "\n", |
111 | | - "Import these components from the [haystack-experimental](https://github.com/deepset-ai/haystack-experimental) package:" |
| 113 | + "Import these components from the archived [haystack-experimental](https://github.com/deepset-ai/haystack-experimental) package:" |
112 | 114 | ] |
113 | 115 | }, |
114 | 116 | { |
|
473 | 475 | "- delete_messages\n", |
474 | 476 | "- delete_all_messages\n", |
475 | 477 | "\n", |
476 | | - "For more information check out our ChatMessageStore docs at https://docs.haystack.deepset.ai/reference/experimental-chatmessage-store-api" |
| 478 | + "For more information check out the `InMemoryChatMessageStore` source at https://github.com/deepset-ai/haystack-experimental/blob/v0.19.0/haystack_experimental/chat_message_stores/in_memory.py" |
477 | 479 | ] |
478 | 480 | }, |
479 | 481 | { |
|
0 commit comments