haystack-experimental 0.15.2__tar.gz → 0.17.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {haystack_experimental-0.15.2 → haystack_experimental-0.17.0}/PKG-INFO +8 -11
- {haystack_experimental-0.15.2 → haystack_experimental-0.17.0}/README.md +6 -7
- {haystack_experimental-0.15.2 → haystack_experimental-0.17.0}/haystack_experimental/chat_message_stores/in_memory.py +3 -3
- {haystack_experimental-0.15.2 → haystack_experimental-0.17.0}/haystack_experimental/chat_message_stores/types.py +2 -2
- {haystack_experimental-0.15.2 → haystack_experimental-0.17.0}/haystack_experimental/components/agents/agent.py +264 -124
- {haystack_experimental-0.15.2 → haystack_experimental-0.17.0}/haystack_experimental/components/agents/human_in_the_loop/dataclasses.py +6 -6
- {haystack_experimental-0.15.2 → haystack_experimental-0.17.0}/haystack_experimental/components/agents/human_in_the_loop/errors.py +1 -5
- {haystack_experimental-0.15.2 → haystack_experimental-0.17.0}/haystack_experimental/components/agents/human_in_the_loop/strategies.py +10 -10
- {haystack_experimental-0.15.2 → haystack_experimental-0.17.0}/haystack_experimental/components/agents/human_in_the_loop/types.py +5 -5
- {haystack_experimental-0.15.2 → haystack_experimental-0.17.0}/haystack_experimental/components/agents/human_in_the_loop/user_interfaces.py +2 -2
- {haystack_experimental-0.15.2 → haystack_experimental-0.17.0}/haystack_experimental/components/generators/chat/openai.py +11 -11
- {haystack_experimental-0.15.2 → haystack_experimental-0.17.0}/haystack_experimental/components/preprocessors/__init__.py +1 -3
- {haystack_experimental-0.15.2 → haystack_experimental-0.17.0}/haystack_experimental/components/retrievers/chat_message_retriever.py +4 -4
- {haystack_experimental-0.15.2 → haystack_experimental-0.17.0}/haystack_experimental/components/retrievers/types/protocol.py +3 -3
- {haystack_experimental-0.15.2 → haystack_experimental-0.17.0}/haystack_experimental/components/summarizers/llm_summarizer.py +7 -7
- {haystack_experimental-0.15.2 → haystack_experimental-0.17.0}/haystack_experimental/core/pipeline/breakpoint.py +6 -6
- {haystack_experimental-0.15.2 → haystack_experimental-0.17.0}/haystack_experimental/dataclasses/breakpoints.py +2 -2
- haystack_experimental-0.17.0/haystack_experimental/memory_stores/__init__.py +7 -0
- haystack_experimental-0.17.0/haystack_experimental/memory_stores/mem0/__init__.py +16 -0
- haystack_experimental-0.17.0/haystack_experimental/memory_stores/mem0/memory_store.py +323 -0
- haystack_experimental-0.17.0/haystack_experimental/memory_stores/types/__init__.py +7 -0
- haystack_experimental-0.17.0/haystack_experimental/memory_stores/types/protocol.py +94 -0
- {haystack_experimental-0.15.2 → haystack_experimental-0.17.0}/haystack_experimental/utils/hallucination_risk_calculator/dataclasses.py +9 -9
- {haystack_experimental-0.15.2 → haystack_experimental-0.17.0}/haystack_experimental/utils/hallucination_risk_calculator/openai_planner.py +4 -4
- {haystack_experimental-0.15.2 → haystack_experimental-0.17.0}/haystack_experimental/utils/hallucination_risk_calculator/skeletonization.py +5 -5
- {haystack_experimental-0.15.2 → haystack_experimental-0.17.0}/pyproject.toml +12 -15
- haystack_experimental-0.15.2/haystack_experimental/components/preprocessors/embedding_based_document_splitter.py +0 -430
- {haystack_experimental-0.15.2 → haystack_experimental-0.17.0}/.gitignore +0 -0
- {haystack_experimental-0.15.2 → haystack_experimental-0.17.0}/LICENSE +0 -0
- {haystack_experimental-0.15.2 → haystack_experimental-0.17.0}/LICENSE-MIT.txt +0 -0
- {haystack_experimental-0.15.2 → haystack_experimental-0.17.0}/haystack_experimental/__init__.py +0 -0
- {haystack_experimental-0.15.2 → haystack_experimental-0.17.0}/haystack_experimental/chat_message_stores/__init__.py +0 -0
- {haystack_experimental-0.15.2 → haystack_experimental-0.17.0}/haystack_experimental/components/__init__.py +0 -0
- {haystack_experimental-0.15.2 → haystack_experimental-0.17.0}/haystack_experimental/components/agents/__init__.py +0 -0
- {haystack_experimental-0.15.2 → haystack_experimental-0.17.0}/haystack_experimental/components/agents/human_in_the_loop/__init__.py +0 -0
- {haystack_experimental-0.15.2 → haystack_experimental-0.17.0}/haystack_experimental/components/agents/human_in_the_loop/breakpoint.py +0 -0
- {haystack_experimental-0.15.2 → haystack_experimental-0.17.0}/haystack_experimental/components/agents/human_in_the_loop/policies.py +0 -0
- {haystack_experimental-0.15.2 → haystack_experimental-0.17.0}/haystack_experimental/components/embedders/__init__.py +0 -0
- {haystack_experimental-0.15.2 → haystack_experimental-0.17.0}/haystack_experimental/components/embedders/types/__init__.py +0 -0
- {haystack_experimental-0.15.2 → haystack_experimental-0.17.0}/haystack_experimental/components/embedders/types/protocol.py +0 -0
- {haystack_experimental-0.15.2 → haystack_experimental-0.17.0}/haystack_experimental/components/generators/__init__.py +0 -0
- {haystack_experimental-0.15.2 → haystack_experimental-0.17.0}/haystack_experimental/components/generators/chat/__init__.py +0 -0
- {haystack_experimental-0.15.2 → haystack_experimental-0.17.0}/haystack_experimental/components/preprocessors/md_header_level_inferrer.py +0 -0
- {haystack_experimental-0.15.2 → haystack_experimental-0.17.0}/haystack_experimental/components/retrievers/__init__.py +0 -0
- {haystack_experimental-0.15.2 → haystack_experimental-0.17.0}/haystack_experimental/components/retrievers/types/__init__.py +0 -0
- {haystack_experimental-0.15.2 → haystack_experimental-0.17.0}/haystack_experimental/components/summarizers/__init__.py +0 -0
- {haystack_experimental-0.15.2 → haystack_experimental-0.17.0}/haystack_experimental/components/writers/__init__.py +0 -0
- {haystack_experimental-0.15.2 → haystack_experimental-0.17.0}/haystack_experimental/components/writers/chat_message_writer.py +0 -0
- {haystack_experimental-0.15.2 → haystack_experimental-0.17.0}/haystack_experimental/core/__init__.py +0 -0
- {haystack_experimental-0.15.2 → haystack_experimental-0.17.0}/haystack_experimental/core/pipeline/__init__.py +0 -0
- {haystack_experimental-0.15.2 → haystack_experimental-0.17.0}/haystack_experimental/dataclasses/__init__.py +0 -0
- {haystack_experimental-0.15.2 → haystack_experimental-0.17.0}/haystack_experimental/utils/__init__.py +0 -0
- {haystack_experimental-0.15.2 → haystack_experimental-0.17.0}/haystack_experimental/utils/hallucination_risk_calculator/__init__.py +0 -0
- {haystack_experimental-0.15.2 → haystack_experimental-0.17.0}/haystack_experimental/utils/hallucination_risk_calculator/core_math.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: haystack-experimental
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.17.0
|
|
4
4
|
Summary: Experimental components and features for the Haystack LLM framework.
|
|
5
5
|
Project-URL: CI: GitHub, https://github.com/deepset-ai/haystack-experimental/actions
|
|
6
6
|
Project-URL: GitHub: issues, https://github.com/deepset-ai/haystack-experimental/issues
|
|
@@ -17,15 +17,13 @@ Classifier: License :: OSI Approved :: Apache Software License
|
|
|
17
17
|
Classifier: Operating System :: OS Independent
|
|
18
18
|
Classifier: Programming Language :: Python
|
|
19
19
|
Classifier: Programming Language :: Python :: 3
|
|
20
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
21
20
|
Classifier: Programming Language :: Python :: 3.10
|
|
22
21
|
Classifier: Programming Language :: Python :: 3.11
|
|
23
22
|
Classifier: Programming Language :: Python :: 3.12
|
|
24
23
|
Classifier: Programming Language :: Python :: 3.13
|
|
25
24
|
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
26
|
-
Requires-Python: >=3.
|
|
25
|
+
Requires-Python: >=3.10
|
|
27
26
|
Requires-Dist: haystack-ai
|
|
28
|
-
Requires-Dist: lazy-imports<1.2.0
|
|
29
27
|
Requires-Dist: rich
|
|
30
28
|
Description-Content-Type: text/markdown
|
|
31
29
|
|
|
@@ -74,19 +72,17 @@ that includes it. Once it reaches the end of its lifespan, the experiment will b
|
|
|
74
72
|
|
|
75
73
|
| Name | Type | Expected End Date | Dependencies | Cookbook | Discussion |
|
|
76
74
|
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------|-------------------|--------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------|
|
|
77
|
-
| [`EmbeddingBasedDocumentSplitter`][8] | EmbeddingBasedDocumentSplitter | August 2025 | None | None | [Discuss][7] |
|
|
78
75
|
| [`OpenAIChatGenerator`][9] | Chat Generator Component | November 2025 | None | <a href="https://colab.research.google.com/github/deepset-ai/haystack-cookbook/blob/main/notebooks/hallucination_score_calculator.ipynb" target="_parent"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"/> | [Discuss][10] |
|
|
79
76
|
| [`MarkdownHeaderLevelInferrer`][15] | Preprocessor | January 2025 | None | None | [Discuss][16] |
|
|
80
77
|
| [`Agent`][17]; [Confirmation Policies][18]; [ConfirmationUIs][19]; [ConfirmationStrategies][20]; [`ConfirmationUIResult` and `ToolExecutionDecision`][21] [HITLBreakpointException][22] | Human in the Loop | December 2025 | rich | None | [Discuss][23] |
|
|
81
78
|
| [`LLMSummarizer`][24] | Document Summarizer | January 2025 | None | None | [Discuss][25] |
|
|
82
79
|
| [`InMemoryChatMessageStore`][1]; [`ChatMessageRetriever`][2]; [`ChatMessageWriter`][3] | Chat Message Store, Retriever, Writer | February 2025 | None | <a href="https://colab.research.google.com/github/deepset-ai/haystack-cookbook/blob/main/notebooks/conversational_rag_using_memory.ipynb" target="_parent"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"/> | [Discuss][4] |
|
|
80
|
+
| [`Mem0MemoryStore`][26] | MemoryStore | February 2025 | mem0ai | None | -- |
|
|
83
81
|
|
|
84
82
|
[1]: https://github.com/deepset-ai/haystack-experimental/blob/main/haystack_experimental/chat_message_stores/in_memory.py
|
|
85
83
|
[2]: https://github.com/deepset-ai/haystack-experimental/blob/main/haystack_experimental/components/retrievers/chat_message_retriever.py
|
|
86
84
|
[3]: https://github.com/deepset-ai/haystack-experimental/blob/main/haystack_experimental/components/writers/chat_message_writer.py
|
|
87
85
|
[4]: https://github.com/deepset-ai/haystack-experimental/discussions/75
|
|
88
|
-
[7]: https://github.com/deepset-ai/haystack-experimental/discussions/356
|
|
89
|
-
[8]: https://github.com/deepset-ai/haystack-experimental/blob/main/haystack_experimental/components/preprocessors/embedding_based_document_splitter.py
|
|
90
86
|
[9]: https://github.com/deepset-ai/haystack-experimental/blob/main/haystack_experimental/components/generators/chat/openai.py
|
|
91
87
|
[10]: https://github.com/deepset-ai/haystack-experimental/discussions/361
|
|
92
88
|
[15]: https://github.com/deepset-ai/haystack-experimental/blob/main/haystack_experimental/components/preprocessors/md_header_level_inferrer.py
|
|
@@ -100,6 +96,7 @@ that includes it. Once it reaches the end of its lifespan, the experiment will b
|
|
|
100
96
|
[23]: https://github.com/deepset-ai/haystack-experimental/discussions/381
|
|
101
97
|
[24]: https://github.com/deepset-ai/haystack-experimental/blob/main/haystack_experimental/components/sumarizers/llm_summarizer.py
|
|
102
98
|
[25]: https://github.com/deepset-ai/haystack-experimental/discussions/382
|
|
99
|
+
[26]: https://github.com/deepset-ai/haystack-experimental/blob/main/haystack_experimental/memory_stores/mem0/memory_store.py
|
|
103
100
|
|
|
104
101
|
### Adopted experiments
|
|
105
102
|
| Name | Type | Final release |
|
|
@@ -112,10 +109,10 @@ that includes it. Once it reaches the end of its lifespan, the experiment will b
|
|
|
112
109
|
| `SuperComponent` | Simplify Pipeline development | 0.8.0 |
|
|
113
110
|
| `Pipeline` | Pipeline breakpoints for debugging | 0.12.0 |
|
|
114
111
|
| `ImageContent`; Image Converters; multimodal support in `OpenAIChatGenerator` and `AmazonBedrockChatGenerator`; `ChatPromptBuilder` refactoring; `SentenceTransformersDocumentImageEmbedder`; `LLMDocumentContentExtractor`; new `Routers` | Multimodality | 0.12.0 |
|
|
115
|
-
| `QueryExpander` | Query Expansion Component | 0.14.3
|
|
116
|
-
| `MultiQueryEmbeddingRetriever` | MultiQueryEmbeddingRetriever | 0.14.3
|
|
117
|
-
| `MultiQueryTextRetriever` | MultiQueryTextRetriever | 0.14.3
|
|
118
|
-
|
|
112
|
+
| `QueryExpander` | Query Expansion Component | 0.14.3 |
|
|
113
|
+
| `MultiQueryEmbeddingRetriever` | MultiQueryEmbeddingRetriever | 0.14.3 |
|
|
114
|
+
| `MultiQueryTextRetriever` | MultiQueryTextRetriever | 0.14.3 |
|
|
115
|
+
| `EmbeddingBasedDocumentSplitter` | Document Splitting | 0.15.2 |
|
|
119
116
|
|
|
120
117
|
### Discontinued experiments
|
|
121
118
|
|
|
@@ -43,19 +43,17 @@ that includes it. Once it reaches the end of its lifespan, the experiment will b
|
|
|
43
43
|
|
|
44
44
|
| Name | Type | Expected End Date | Dependencies | Cookbook | Discussion |
|
|
45
45
|
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------|-------------------|--------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------|
|
|
46
|
-
| [`EmbeddingBasedDocumentSplitter`][8] | EmbeddingBasedDocumentSplitter | August 2025 | None | None | [Discuss][7] |
|
|
47
46
|
| [`OpenAIChatGenerator`][9] | Chat Generator Component | November 2025 | None | <a href="https://colab.research.google.com/github/deepset-ai/haystack-cookbook/blob/main/notebooks/hallucination_score_calculator.ipynb" target="_parent"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"/> | [Discuss][10] |
|
|
48
47
|
| [`MarkdownHeaderLevelInferrer`][15] | Preprocessor | January 2025 | None | None | [Discuss][16] |
|
|
49
48
|
| [`Agent`][17]; [Confirmation Policies][18]; [ConfirmationUIs][19]; [ConfirmationStrategies][20]; [`ConfirmationUIResult` and `ToolExecutionDecision`][21] [HITLBreakpointException][22] | Human in the Loop | December 2025 | rich | None | [Discuss][23] |
|
|
50
49
|
| [`LLMSummarizer`][24] | Document Summarizer | January 2025 | None | None | [Discuss][25] |
|
|
51
50
|
| [`InMemoryChatMessageStore`][1]; [`ChatMessageRetriever`][2]; [`ChatMessageWriter`][3] | Chat Message Store, Retriever, Writer | February 2025 | None | <a href="https://colab.research.google.com/github/deepset-ai/haystack-cookbook/blob/main/notebooks/conversational_rag_using_memory.ipynb" target="_parent"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"/> | [Discuss][4] |
|
|
51
|
+
| [`Mem0MemoryStore`][26] | MemoryStore | February 2025 | mem0ai | None | -- |
|
|
52
52
|
|
|
53
53
|
[1]: https://github.com/deepset-ai/haystack-experimental/blob/main/haystack_experimental/chat_message_stores/in_memory.py
|
|
54
54
|
[2]: https://github.com/deepset-ai/haystack-experimental/blob/main/haystack_experimental/components/retrievers/chat_message_retriever.py
|
|
55
55
|
[3]: https://github.com/deepset-ai/haystack-experimental/blob/main/haystack_experimental/components/writers/chat_message_writer.py
|
|
56
56
|
[4]: https://github.com/deepset-ai/haystack-experimental/discussions/75
|
|
57
|
-
[7]: https://github.com/deepset-ai/haystack-experimental/discussions/356
|
|
58
|
-
[8]: https://github.com/deepset-ai/haystack-experimental/blob/main/haystack_experimental/components/preprocessors/embedding_based_document_splitter.py
|
|
59
57
|
[9]: https://github.com/deepset-ai/haystack-experimental/blob/main/haystack_experimental/components/generators/chat/openai.py
|
|
60
58
|
[10]: https://github.com/deepset-ai/haystack-experimental/discussions/361
|
|
61
59
|
[15]: https://github.com/deepset-ai/haystack-experimental/blob/main/haystack_experimental/components/preprocessors/md_header_level_inferrer.py
|
|
@@ -69,6 +67,7 @@ that includes it. Once it reaches the end of its lifespan, the experiment will b
|
|
|
69
67
|
[23]: https://github.com/deepset-ai/haystack-experimental/discussions/381
|
|
70
68
|
[24]: https://github.com/deepset-ai/haystack-experimental/blob/main/haystack_experimental/components/sumarizers/llm_summarizer.py
|
|
71
69
|
[25]: https://github.com/deepset-ai/haystack-experimental/discussions/382
|
|
70
|
+
[26]: https://github.com/deepset-ai/haystack-experimental/blob/main/haystack_experimental/memory_stores/mem0/memory_store.py
|
|
72
71
|
|
|
73
72
|
### Adopted experiments
|
|
74
73
|
| Name | Type | Final release |
|
|
@@ -81,10 +80,10 @@ that includes it. Once it reaches the end of its lifespan, the experiment will b
|
|
|
81
80
|
| `SuperComponent` | Simplify Pipeline development | 0.8.0 |
|
|
82
81
|
| `Pipeline` | Pipeline breakpoints for debugging | 0.12.0 |
|
|
83
82
|
| `ImageContent`; Image Converters; multimodal support in `OpenAIChatGenerator` and `AmazonBedrockChatGenerator`; `ChatPromptBuilder` refactoring; `SentenceTransformersDocumentImageEmbedder`; `LLMDocumentContentExtractor`; new `Routers` | Multimodality | 0.12.0 |
|
|
84
|
-
| `QueryExpander` | Query Expansion Component | 0.14.3
|
|
85
|
-
| `MultiQueryEmbeddingRetriever` | MultiQueryEmbeddingRetriever | 0.14.3
|
|
86
|
-
| `MultiQueryTextRetriever` | MultiQueryTextRetriever | 0.14.3
|
|
87
|
-
|
|
83
|
+
| `QueryExpander` | Query Expansion Component | 0.14.3 |
|
|
84
|
+
| `MultiQueryEmbeddingRetriever` | MultiQueryEmbeddingRetriever | 0.14.3 |
|
|
85
|
+
| `MultiQueryTextRetriever` | MultiQueryTextRetriever | 0.14.3 |
|
|
86
|
+
| `EmbeddingBasedDocumentSplitter` | Document Splitting | 0.15.2 |
|
|
88
87
|
|
|
89
88
|
### Discontinued experiments
|
|
90
89
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
# SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
|
|
5
5
|
from dataclasses import replace
|
|
6
|
-
from typing import Any, Iterable
|
|
6
|
+
from typing import Any, Iterable
|
|
7
7
|
|
|
8
8
|
from haystack import default_from_dict, default_to_dict
|
|
9
9
|
from haystack.dataclasses import ChatMessage, ChatRole
|
|
@@ -42,7 +42,7 @@ class InMemoryChatMessageStore:
|
|
|
42
42
|
```
|
|
43
43
|
"""
|
|
44
44
|
|
|
45
|
-
def __init__(self, skip_system_messages: bool = True, last_k:
|
|
45
|
+
def __init__(self, skip_system_messages: bool = True, last_k: int | None = 10) -> None:
|
|
46
46
|
"""
|
|
47
47
|
Create an InMemoryChatMessageStore.
|
|
48
48
|
|
|
@@ -135,7 +135,7 @@ class InMemoryChatMessageStore:
|
|
|
135
135
|
|
|
136
136
|
return len(messages_to_write)
|
|
137
137
|
|
|
138
|
-
def retrieve_messages(self, chat_history_id: str, last_k:
|
|
138
|
+
def retrieve_messages(self, chat_history_id: str, last_k: int | None = None) -> list[ChatMessage]:
|
|
139
139
|
"""
|
|
140
140
|
Retrieves all stored chat messages.
|
|
141
141
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
#
|
|
3
3
|
# SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
|
|
5
|
-
from typing import Any,
|
|
5
|
+
from typing import Any, Protocol
|
|
6
6
|
|
|
7
7
|
from haystack.dataclasses import ChatMessage
|
|
8
8
|
|
|
@@ -74,7 +74,7 @@ class ChatMessageStore(Protocol):
|
|
|
74
74
|
"""
|
|
75
75
|
...
|
|
76
76
|
|
|
77
|
-
def retrieve_messages(self, chat_history_id: str, last_k:
|
|
77
|
+
def retrieve_messages(self, chat_history_id: str, last_k: int | None = None) -> list[ChatMessage]:
|
|
78
78
|
"""
|
|
79
79
|
Retrieves chat messages from the ChatMessageStore.
|
|
80
80
|
|