amazon-bedrock-haystack 6.1.1__tar.gz → 6.2.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.
Files changed (49) hide show
  1. {amazon_bedrock_haystack-6.1.1 → amazon_bedrock_haystack-6.2.0}/CHANGELOG.md +6 -0
  2. {amazon_bedrock_haystack-6.1.1 → amazon_bedrock_haystack-6.2.0}/PKG-INFO +1 -1
  3. {amazon_bedrock_haystack-6.1.1 → amazon_bedrock_haystack-6.2.0}/src/haystack_integrations/components/generators/amazon_bedrock/chat/chat_generator.py +28 -0
  4. {amazon_bedrock_haystack-6.1.1 → amazon_bedrock_haystack-6.2.0}/tests/test_chat_generator.py +16 -0
  5. {amazon_bedrock_haystack-6.1.1 → amazon_bedrock_haystack-6.2.0}/.gitignore +0 -0
  6. {amazon_bedrock_haystack-6.1.1 → amazon_bedrock_haystack-6.2.0}/LICENSE.txt +0 -0
  7. {amazon_bedrock_haystack-6.1.1 → amazon_bedrock_haystack-6.2.0}/README.md +0 -0
  8. {amazon_bedrock_haystack-6.1.1 → amazon_bedrock_haystack-6.2.0}/examples/bedrock_ranker_example.py +0 -0
  9. {amazon_bedrock_haystack-6.1.1 → amazon_bedrock_haystack-6.2.0}/examples/chatgenerator_example.py +0 -0
  10. {amazon_bedrock_haystack-6.1.1 → amazon_bedrock_haystack-6.2.0}/examples/embedders_generator_with_rag_example.py +0 -0
  11. {amazon_bedrock_haystack-6.1.1 → amazon_bedrock_haystack-6.2.0}/examples/s3_downloader_example.py +0 -0
  12. {amazon_bedrock_haystack-6.1.1 → amazon_bedrock_haystack-6.2.0}/pydoc/config_docusaurus.yml +0 -0
  13. {amazon_bedrock_haystack-6.1.1 → amazon_bedrock_haystack-6.2.0}/pyproject.toml +0 -0
  14. {amazon_bedrock_haystack-6.1.1 → amazon_bedrock_haystack-6.2.0}/src/haystack_integrations/common/amazon_bedrock/__init__.py +0 -0
  15. {amazon_bedrock_haystack-6.1.1 → amazon_bedrock_haystack-6.2.0}/src/haystack_integrations/common/amazon_bedrock/errors.py +0 -0
  16. {amazon_bedrock_haystack-6.1.1 → amazon_bedrock_haystack-6.2.0}/src/haystack_integrations/common/amazon_bedrock/utils.py +0 -0
  17. {amazon_bedrock_haystack-6.1.1 → amazon_bedrock_haystack-6.2.0}/src/haystack_integrations/common/py.typed +0 -0
  18. {amazon_bedrock_haystack-6.1.1 → amazon_bedrock_haystack-6.2.0}/src/haystack_integrations/common/s3/__init__.py +0 -0
  19. {amazon_bedrock_haystack-6.1.1 → amazon_bedrock_haystack-6.2.0}/src/haystack_integrations/common/s3/errors.py +0 -0
  20. {amazon_bedrock_haystack-6.1.1 → amazon_bedrock_haystack-6.2.0}/src/haystack_integrations/common/s3/utils.py +0 -0
  21. {amazon_bedrock_haystack-6.1.1 → amazon_bedrock_haystack-6.2.0}/src/haystack_integrations/components/downloaders/py.typed +0 -0
  22. {amazon_bedrock_haystack-6.1.1 → amazon_bedrock_haystack-6.2.0}/src/haystack_integrations/components/downloaders/s3/__init__.py +0 -0
  23. {amazon_bedrock_haystack-6.1.1 → amazon_bedrock_haystack-6.2.0}/src/haystack_integrations/components/downloaders/s3/s3_downloader.py +0 -0
  24. {amazon_bedrock_haystack-6.1.1 → amazon_bedrock_haystack-6.2.0}/src/haystack_integrations/components/embedders/amazon_bedrock/__init__.py +0 -0
  25. {amazon_bedrock_haystack-6.1.1 → amazon_bedrock_haystack-6.2.0}/src/haystack_integrations/components/embedders/amazon_bedrock/document_embedder.py +0 -0
  26. {amazon_bedrock_haystack-6.1.1 → amazon_bedrock_haystack-6.2.0}/src/haystack_integrations/components/embedders/amazon_bedrock/document_image_embedder.py +0 -0
  27. {amazon_bedrock_haystack-6.1.1 → amazon_bedrock_haystack-6.2.0}/src/haystack_integrations/components/embedders/amazon_bedrock/text_embedder.py +0 -0
  28. {amazon_bedrock_haystack-6.1.1 → amazon_bedrock_haystack-6.2.0}/src/haystack_integrations/components/embedders/py.typed +0 -0
  29. {amazon_bedrock_haystack-6.1.1 → amazon_bedrock_haystack-6.2.0}/src/haystack_integrations/components/generators/amazon_bedrock/__init__.py +0 -0
  30. {amazon_bedrock_haystack-6.1.1 → amazon_bedrock_haystack-6.2.0}/src/haystack_integrations/components/generators/amazon_bedrock/adapters.py +0 -0
  31. {amazon_bedrock_haystack-6.1.1 → amazon_bedrock_haystack-6.2.0}/src/haystack_integrations/components/generators/amazon_bedrock/chat/__init__.py +0 -0
  32. {amazon_bedrock_haystack-6.1.1 → amazon_bedrock_haystack-6.2.0}/src/haystack_integrations/components/generators/amazon_bedrock/chat/utils.py +0 -0
  33. {amazon_bedrock_haystack-6.1.1 → amazon_bedrock_haystack-6.2.0}/src/haystack_integrations/components/generators/amazon_bedrock/generator.py +0 -0
  34. {amazon_bedrock_haystack-6.1.1 → amazon_bedrock_haystack-6.2.0}/src/haystack_integrations/components/generators/py.typed +0 -0
  35. {amazon_bedrock_haystack-6.1.1 → amazon_bedrock_haystack-6.2.0}/src/haystack_integrations/components/rankers/amazon_bedrock/__init__.py +0 -0
  36. {amazon_bedrock_haystack-6.1.1 → amazon_bedrock_haystack-6.2.0}/src/haystack_integrations/components/rankers/amazon_bedrock/ranker.py +0 -0
  37. {amazon_bedrock_haystack-6.1.1 → amazon_bedrock_haystack-6.2.0}/src/haystack_integrations/components/rankers/py.typed +0 -0
  38. {amazon_bedrock_haystack-6.1.1 → amazon_bedrock_haystack-6.2.0}/tests/__init__.py +0 -0
  39. {amazon_bedrock_haystack-6.1.1 → amazon_bedrock_haystack-6.2.0}/tests/conftest.py +0 -0
  40. {amazon_bedrock_haystack-6.1.1 → amazon_bedrock_haystack-6.2.0}/tests/test_chat_generator_utils.py +0 -0
  41. {amazon_bedrock_haystack-6.1.1 → amazon_bedrock_haystack-6.2.0}/tests/test_document_embedder.py +0 -0
  42. {amazon_bedrock_haystack-6.1.1 → amazon_bedrock_haystack-6.2.0}/tests/test_document_image_embedder.py +0 -0
  43. {amazon_bedrock_haystack-6.1.1 → amazon_bedrock_haystack-6.2.0}/tests/test_files/apple.jpg +0 -0
  44. {amazon_bedrock_haystack-6.1.1 → amazon_bedrock_haystack-6.2.0}/tests/test_files/haystack-logo.png +0 -0
  45. {amazon_bedrock_haystack-6.1.1 → amazon_bedrock_haystack-6.2.0}/tests/test_files/sample_pdf_1.pdf +0 -0
  46. {amazon_bedrock_haystack-6.1.1 → amazon_bedrock_haystack-6.2.0}/tests/test_generator.py +0 -0
  47. {amazon_bedrock_haystack-6.1.1 → amazon_bedrock_haystack-6.2.0}/tests/test_ranker.py +0 -0
  48. {amazon_bedrock_haystack-6.1.1 → amazon_bedrock_haystack-6.2.0}/tests/test_s3_downloader.py +0 -0
  49. {amazon_bedrock_haystack-6.1.1 → amazon_bedrock_haystack-6.2.0}/tests/test_text_embedder.py +0 -0
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## [integrations/amazon_bedrock-v6.1.1] - 2026-01-13
4
+
5
+ ### 🌀 Miscellaneous
6
+
7
+ - Fix: support global and regional inference profiles in `AmazonBedrockGenerator` (#2725)
8
+
3
9
  ## [integrations/amazon_bedrock-v6.1.0] - 2026-01-13
4
10
 
5
11
  ### 🐛 Bug Fixes
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: amazon-bedrock-haystack
3
- Version: 6.1.1
3
+ Version: 6.2.0
4
4
  Summary: An integration of AWS S3 and Bedrock as a Downloader and Generator components.
5
5
  Project-URL: Documentation, https://github.com/deepset-ai/haystack-core-integrations/tree/main/integrations/amazon_bedrock#readme
6
6
  Project-URL: Issues, https://github.com/deepset-ai/haystack-core-integrations/issues
@@ -372,6 +372,8 @@ class AmazonBedrockChatGenerator:
372
372
  merged_kwargs = self.generation_kwargs.copy()
373
373
  merged_kwargs.update(generation_kwargs)
374
374
 
375
+ merged_kwargs = self._resolve_flattened_generation_kwargs(merged_kwargs)
376
+
375
377
  # Extract known inference parameters
376
378
  # See https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InferenceConfiguration.html
377
379
  inference_config = {
@@ -419,6 +421,32 @@ class AmazonBedrockChatGenerator:
419
421
 
420
422
  return params, callback
421
423
 
424
+ def _resolve_flattened_generation_kwargs(self, generation_kwargs: dict[str, Any]) -> dict[str, Any]:
425
+ generation_kwargs = generation_kwargs.copy()
426
+ if "disable_parallel_tool_use" in generation_kwargs:
427
+ disable_parallel_tool_use = generation_kwargs.pop("disable_parallel_tool_use")
428
+ tool_choice = generation_kwargs.setdefault("tool_choice", {})
429
+ tool_choice["disable_parallel_tool_use"] = disable_parallel_tool_use
430
+
431
+ if "parallel_tool_use" in generation_kwargs:
432
+ parallel_tool_use = generation_kwargs.pop("parallel_tool_use")
433
+ disable_parallel_tool_use = not parallel_tool_use
434
+ tool_choice = generation_kwargs.setdefault("tool_choice", {})
435
+ tool_choice["disable_parallel_tool_use"] = disable_parallel_tool_use
436
+
437
+ if "tool_choice_type" in generation_kwargs:
438
+ tool_choice_type = generation_kwargs.pop("tool_choice_type")
439
+ tool_choice = generation_kwargs.setdefault("tool_choice", {})
440
+ tool_choice["type"] = tool_choice_type
441
+
442
+ if "thinking_budget_tokens" in generation_kwargs:
443
+ thinking_budget_tokens = generation_kwargs.pop("thinking_budget_tokens")
444
+ thinking = generation_kwargs.setdefault("thinking", {})
445
+ thinking["budget_tokens"] = thinking_budget_tokens
446
+ thinking["type"] = "enabled"
447
+
448
+ return generation_kwargs
449
+
422
450
  @component.output_types(replies=list[ChatMessage])
423
451
  def run(
424
452
  self,
@@ -409,6 +409,22 @@ class TestAmazonBedrockChatGenerator:
409
409
  ]
410
410
  }
411
411
 
412
+ def test_prepare_request_params_with_flattened_generation_kwargs(self, mock_boto3_session, set_env_variables):
413
+ generator = AmazonBedrockChatGenerator(model="anthropic.claude-3-5-sonnet-20240620-v1:0")
414
+ request_params, _ = generator._prepare_request_params(
415
+ messages=[ChatMessage.from_user("What's the capital of France?")],
416
+ generation_kwargs={
417
+ "parallel_tool_use": False,
418
+ "tool_choice_type": "any",
419
+ "thinking_budget_tokens": 1024,
420
+ },
421
+ )
422
+
423
+ assert request_params["additionalModelRequestFields"] == {
424
+ "tool_choice": {"disable_parallel_tool_use": True, "type": "any"},
425
+ "thinking": {"budget_tokens": 1024, "type": "enabled"},
426
+ }
427
+
412
428
 
413
429
  # In the CI, those tests are skipped if AWS Authentication fails
414
430
  @pytest.mark.integration