transformers-haystack 0.2.0__tar.gz → 0.3.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.
- transformers_haystack-0.3.0/CHANGELOG.md +28 -0
- {transformers_haystack-0.2.0 → transformers_haystack-0.3.0}/PKG-INFO +2 -2
- {transformers_haystack-0.2.0 → transformers_haystack-0.3.0}/pyproject.toml +1 -0
- {transformers_haystack-0.2.0 → transformers_haystack-0.3.0}/src/haystack_integrations/components/generators/transformers/chat/chat_generator.py +6 -2
- {transformers_haystack-0.2.0 → transformers_haystack-0.3.0}/src/haystack_integrations/components/routers/transformers/zero_shot_text_router.py +5 -1
- {transformers_haystack-0.2.0 → transformers_haystack-0.3.0}/tests/test_chat_generator.py +28 -0
- {transformers_haystack-0.2.0 → transformers_haystack-0.3.0}/tests/test_zero_shot_text_router.py +9 -0
- transformers_haystack-0.2.0/CHANGELOG.md +0 -9
- {transformers_haystack-0.2.0 → transformers_haystack-0.3.0}/.gitignore +0 -0
- {transformers_haystack-0.2.0 → transformers_haystack-0.3.0}/LICENSE.txt +0 -0
- {transformers_haystack-0.2.0 → transformers_haystack-0.3.0}/README.md +0 -0
- {transformers_haystack-0.2.0 → transformers_haystack-0.3.0}/pydoc/config_docusaurus.yml +0 -0
- {transformers_haystack-0.2.0 → transformers_haystack-0.3.0}/src/haystack_integrations/common/py.typed +0 -0
- {transformers_haystack-0.2.0 → transformers_haystack-0.3.0}/src/haystack_integrations/common/transformers/__init__.py +0 -0
- {transformers_haystack-0.2.0 → transformers_haystack-0.3.0}/src/haystack_integrations/common/transformers/utils.py +0 -0
- {transformers_haystack-0.2.0 → transformers_haystack-0.3.0}/src/haystack_integrations/components/classifiers/py.typed +0 -0
- {transformers_haystack-0.2.0 → transformers_haystack-0.3.0}/src/haystack_integrations/components/classifiers/transformers/__init__.py +0 -0
- {transformers_haystack-0.2.0 → transformers_haystack-0.3.0}/src/haystack_integrations/components/classifiers/transformers/zero_shot_document_classifier.py +0 -0
- {transformers_haystack-0.2.0 → transformers_haystack-0.3.0}/src/haystack_integrations/components/extractors/py.typed +0 -0
- {transformers_haystack-0.2.0 → transformers_haystack-0.3.0}/src/haystack_integrations/components/extractors/transformers/__init__.py +0 -0
- {transformers_haystack-0.2.0 → transformers_haystack-0.3.0}/src/haystack_integrations/components/extractors/transformers/named_entity_extractor.py +0 -0
- {transformers_haystack-0.2.0 → transformers_haystack-0.3.0}/src/haystack_integrations/components/generators/py.typed +0 -0
- {transformers_haystack-0.2.0 → transformers_haystack-0.3.0}/src/haystack_integrations/components/generators/transformers/__init__.py +0 -0
- {transformers_haystack-0.2.0 → transformers_haystack-0.3.0}/src/haystack_integrations/components/generators/transformers/chat/__init__.py +0 -0
- {transformers_haystack-0.2.0 → transformers_haystack-0.3.0}/src/haystack_integrations/components/readers/py.typed +0 -0
- {transformers_haystack-0.2.0 → transformers_haystack-0.3.0}/src/haystack_integrations/components/readers/transformers/__init__.py +0 -0
- {transformers_haystack-0.2.0 → transformers_haystack-0.3.0}/src/haystack_integrations/components/readers/transformers/extractive_reader.py +0 -0
- {transformers_haystack-0.2.0 → transformers_haystack-0.3.0}/src/haystack_integrations/components/routers/py.typed +0 -0
- {transformers_haystack-0.2.0 → transformers_haystack-0.3.0}/src/haystack_integrations/components/routers/transformers/__init__.py +0 -0
- {transformers_haystack-0.2.0 → transformers_haystack-0.3.0}/src/haystack_integrations/components/routers/transformers/text_router.py +0 -0
- {transformers_haystack-0.2.0 → transformers_haystack-0.3.0}/tests/__init__.py +0 -0
- {transformers_haystack-0.2.0 → transformers_haystack-0.3.0}/tests/conftest.py +0 -0
- {transformers_haystack-0.2.0 → transformers_haystack-0.3.0}/tests/test_extractive_reader.py +0 -0
- {transformers_haystack-0.2.0 → transformers_haystack-0.3.0}/tests/test_named_entity_extractor.py +0 -0
- {transformers_haystack-0.2.0 → transformers_haystack-0.3.0}/tests/test_text_router.py +0 -0
- {transformers_haystack-0.2.0 → transformers_haystack-0.3.0}/tests/test_utils.py +0 -0
- {transformers_haystack-0.2.0 → transformers_haystack-0.3.0}/tests/test_zero_shot_document_classifier.py +0 -0
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## [integrations/transformers-v0.2.0] - 2026-07-06
|
|
4
|
+
|
|
5
|
+
### 📚 Documentation
|
|
6
|
+
|
|
7
|
+
- Replace old haystack core imports with haystack_integrations paths (#3545)
|
|
8
|
+
|
|
9
|
+
### 🧪 Testing
|
|
10
|
+
|
|
11
|
+
- Improve del_hf_env_vars fixture (#3428)
|
|
12
|
+
- Trust test modules under Haystack 3.0's deserialization allowlist (#3537)
|
|
13
|
+
- Make Tool/Agent serialization assertions version-agnostic for Haystack 2.x/3.x (#3533)
|
|
14
|
+
- Force Transformers and Sentence Transformers integration tests to run on CPU (#3550)
|
|
15
|
+
|
|
16
|
+
### 🧹 Chores
|
|
17
|
+
|
|
18
|
+
- Improve consistency of integrations folder structure (#3430)
|
|
19
|
+
- Support sync streaming callbacks in async contexts for Haystack 2.x/3.x compatibility (#3534)
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
## [integrations/transformers-v0.1.0] - 2026-06-08
|
|
23
|
+
|
|
24
|
+
### 🚀 Features
|
|
25
|
+
|
|
26
|
+
- Move Transformers components from Haystack (#3409)
|
|
27
|
+
|
|
28
|
+
<!-- generated by git-cliff -->
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.5
|
|
2
2
|
Name: transformers-haystack
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.3.0
|
|
4
4
|
Summary: Haystack integration for transformers
|
|
5
5
|
Project-URL: Documentation, https://github.com/deepset-ai/haystack-core-integrations/tree/main/integrations/transformers#readme
|
|
6
6
|
Project-URL: Issues, https://github.com/deepset-ai/haystack-core-integrations/issues
|
|
@@ -353,7 +353,9 @@ class TransformersChatGenerator:
|
|
|
353
353
|
|
|
354
354
|
:param messages: A list of ChatMessage objects representing the input messages. If a string is provided,
|
|
355
355
|
it is converted to a list containing a ChatMessage with user role.
|
|
356
|
-
:param generation_kwargs: Additional keyword arguments for text generation.
|
|
356
|
+
:param generation_kwargs: Additional keyword arguments for text generation. These are merged per key with
|
|
357
|
+
the `generation_kwargs` passed at initialization: keys provided here take precedence, keys set only at
|
|
358
|
+
initialization are kept.
|
|
357
359
|
:param streaming_callback: An optional callable for handling streaming responses.
|
|
358
360
|
:param tools: A list of Tool and/or Toolset objects, or a single Toolset for which the model can prepare calls.
|
|
359
361
|
If set, it will override the `tools` parameter provided during initialization.
|
|
@@ -472,7 +474,9 @@ class TransformersChatGenerator:
|
|
|
472
474
|
and return values but can be used with `await` in an async code.
|
|
473
475
|
|
|
474
476
|
:param messages: A list of ChatMessage objects representing the input messages.
|
|
475
|
-
:param generation_kwargs: Additional keyword arguments for text generation.
|
|
477
|
+
:param generation_kwargs: Additional keyword arguments for text generation. These are merged per key with
|
|
478
|
+
the `generation_kwargs` passed at initialization: keys provided here take precedence, keys set only at
|
|
479
|
+
initialization are kept.
|
|
476
480
|
:param streaming_callback: An optional callable for handling streaming responses.
|
|
477
481
|
:param tools: A list of Tool and/or Toolset objects, or a single Toolset for which the model can prepare calls.
|
|
478
482
|
If set, it will override the `tools` parameter provided during initialization.
|
|
@@ -156,7 +156,11 @@ class TransformersZeroShotTextRouter:
|
|
|
156
156
|
Dictionary with serialized data.
|
|
157
157
|
"""
|
|
158
158
|
serialization_dict = default_to_dict(
|
|
159
|
-
self,
|
|
159
|
+
self,
|
|
160
|
+
labels=self.labels,
|
|
161
|
+
multi_label=self.multi_label,
|
|
162
|
+
huggingface_pipeline_kwargs=self.huggingface_pipeline_kwargs,
|
|
163
|
+
token=self.token,
|
|
160
164
|
)
|
|
161
165
|
|
|
162
166
|
huggingface_pipeline_kwargs = serialization_dict["init_parameters"]["huggingface_pipeline_kwargs"]
|
|
@@ -440,6 +440,19 @@ class TestTransformersChatGenerator:
|
|
|
440
440
|
assert chat_message.is_from(ChatRole.ASSISTANT)
|
|
441
441
|
assert chat_message.text == "Berlin is cool"
|
|
442
442
|
|
|
443
|
+
def test_run_with_generation_kwargs(self, model_info_mock, mock_pipeline_with_tokenizer, chat_messages):
|
|
444
|
+
generator = TransformersChatGenerator(
|
|
445
|
+
model="meta-llama/Llama-2-13b-chat-hf",
|
|
446
|
+
generation_kwargs={"max_new_tokens": 100, "temperature": 0.5},
|
|
447
|
+
)
|
|
448
|
+
generator.pipeline = mock_pipeline_with_tokenizer
|
|
449
|
+
|
|
450
|
+
generator.run(messages=chat_messages, generation_kwargs={"temperature": 0.9})
|
|
451
|
+
|
|
452
|
+
_, kwargs = generator.pipeline.call_args
|
|
453
|
+
assert kwargs["max_new_tokens"] == 100
|
|
454
|
+
assert kwargs["temperature"] == 0.9
|
|
455
|
+
|
|
443
456
|
def test_run_with_streaming_callback(self, model_info_mock, mock_pipeline_with_tokenizer, chat_messages):
|
|
444
457
|
# Define the streaming callback function
|
|
445
458
|
def streaming_callback_fn(chunk: StreamingChunk): ...
|
|
@@ -705,6 +718,21 @@ class TestTransformersChatGeneratorAsync:
|
|
|
705
718
|
assert chat_message.text == "Berlin is cool"
|
|
706
719
|
generator.shutdown()
|
|
707
720
|
|
|
721
|
+
@pytest.mark.asyncio
|
|
722
|
+
async def test_run_async_with_generation_kwargs(self, model_info_mock, mock_pipeline_with_tokenizer, chat_messages):
|
|
723
|
+
generator = TransformersChatGenerator(
|
|
724
|
+
model="meta-llama/Llama-2-13b-chat-hf",
|
|
725
|
+
generation_kwargs={"max_new_tokens": 100, "temperature": 0.5},
|
|
726
|
+
)
|
|
727
|
+
generator.pipeline = mock_pipeline_with_tokenizer
|
|
728
|
+
|
|
729
|
+
await generator.run_async(messages=chat_messages, generation_kwargs={"temperature": 0.9})
|
|
730
|
+
|
|
731
|
+
_, kwargs = generator.pipeline.call_args
|
|
732
|
+
assert kwargs["max_new_tokens"] == 100
|
|
733
|
+
assert kwargs["temperature"] == 0.9
|
|
734
|
+
generator.shutdown()
|
|
735
|
+
|
|
708
736
|
@pytest.mark.asyncio
|
|
709
737
|
async def test_run_async_with_string_input(self, model_info_mock, mock_pipeline_with_tokenizer):
|
|
710
738
|
generator = TransformersChatGenerator(model="meta-llama/Llama-2-13b-chat-hf")
|
{transformers_haystack-0.2.0 → transformers_haystack-0.3.0}/tests/test_zero_shot_text_router.py
RENAMED
|
@@ -22,6 +22,7 @@ class TestTransformersZeroShotTextRouter:
|
|
|
22
22
|
"type": COMPONENT_TYPE,
|
|
23
23
|
"init_parameters": {
|
|
24
24
|
"labels": ["query", "passage"],
|
|
25
|
+
"multi_label": False,
|
|
25
26
|
"token": {"env_vars": ["HF_API_TOKEN", "HF_TOKEN"], "strict": False, "type": "env_var"},
|
|
26
27
|
"huggingface_pipeline_kwargs": {
|
|
27
28
|
"model": "MoritzLaurer/deberta-v3-base-zeroshot-v1.1-all-33",
|
|
@@ -31,6 +32,14 @@ class TestTransformersZeroShotTextRouter:
|
|
|
31
32
|
},
|
|
32
33
|
}
|
|
33
34
|
|
|
35
|
+
def test_multi_label_survives_a_serialization_round_trip(self, del_hf_env_vars_if_empty):
|
|
36
|
+
"""`multi_label` changes how the pipeline normalizes scores, so losing it changes routing decisions."""
|
|
37
|
+
router = TransformersZeroShotTextRouter(labels=["query", "passage"], multi_label=True)
|
|
38
|
+
|
|
39
|
+
restored = TransformersZeroShotTextRouter.from_dict(router.to_dict())
|
|
40
|
+
|
|
41
|
+
assert restored.multi_label is True
|
|
42
|
+
|
|
34
43
|
def test_from_dict(self, del_hf_env_vars_if_empty):
|
|
35
44
|
data = {
|
|
36
45
|
"type": COMPONENT_TYPE,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{transformers_haystack-0.2.0 → transformers_haystack-0.3.0}/tests/test_named_entity_extractor.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|