* initial PoC idea running
* removing test code
* cleaning up
* wip
* cleaning up demos
* adding more pipelines to test persistence saving
* wip
* wip
* working example for logging components inputs in run time
* reverting to a simpler solution for intermediate results
* cleaning up
* testing that in a crash components outputs/inputs up to the crash point are returned
* adding tests for state persistance in a RAG pipeline
* updataing tests for state persistance in a RAG pipeline
* removing use cases of agent tests
* adding LICENSE header
* adding LICENSE header
* adding release notes
* updating tests for mocked components only
* updating release notes
* adapting PipelineRuntimeError
* cleaning up tests
* fixing test pipeline crash components inputs/outputs are saved
* fixing tests for state persistance
* isolating changes
* cleaning
* updating release notes
* addding test for regular pipeline
* small improvements and updating release notes
* cleaning imports
* removing code
* improvements/fixes based on PR comments
* raising pipeline_outputs on async version of Pipeline
* fixing async versions + updating tests
* simplifying tests
* Suggested changes pipeline crash (#9744)
* Suggested changes
* Some cleanup
* Small changes
---------
Co-authored-by: Sebastian Husch Lee <10526848+sjrl@users.noreply.github.com>
* Fix inconsistent top_k validation in SentenceTransformersDiversityRanker
- change elif to if in run() method to ensure top_k validation always
runs regardless of whatever top_k comes from init or runtime
- Both scenarios now consistently raise ValueError with descriptive
message format: 'top_k must be between 1 and X, but got Y'
- Fixes inconsistency where init top_k gave confusing MMR error while
runtime top_k gave clear validation error
* improvements
---------
Co-authored-by: Stefano Fiorucci <stefanofiorucci@gmail.com>
* Make source_id_meta_field also work with a list of values
* Fix
* Add reno
* Update docstring
* Add unit test
* Update test
* Adding more tests and simplifying logic
* Simplify
* fix: more informative error message when two components connect
* chore: releasenote
* fix: (PipelineBase.connect) disable C901 complexity check using noqa
* fix: (PipelineBase:connect) provided two exceptions: when is not defined && is not defined
* test: added tests for the related issues
* Update haystack/core/pipeline/base.py
---------
Co-authored-by: Sebastian Husch Lee <10526848+sjrl@users.noreply.github.com>
* modify Documents Classifiers and Extractors to not make in-place changes
* Add e2e test for NER
* Add unit test for NER
* fixes + refinements
---------
Co-authored-by: anakin87 <stefanofiorucci@gmail.com>
* fix: prevent in-place mutation of documents after embeddings by using deepcopy
* Add tests
* use from dataclasses import replace instead of deepcopy
* Address PR comments
* feat: add ReasoningContent to ChatMessage
* more tests
* release note
* Update haystack/dataclasses/chat_message.py
Co-authored-by: Sebastian Husch Lee <10526848+sjrl@users.noreply.github.com>
---------
Co-authored-by: Sebastian Husch Lee <10526848+sjrl@users.noreply.github.com>
* chore(lint): enforce and apply PEP 585 type hinting
* Run fmt fixes
* Fix all typing imports using some regex
* Fix all typing written in string in tests
* undo changes in the e2e tests
* make e2e test use list instead of List
* type fixes
* remove type:ignore
* pylint
* Remove typing from Usage example comments
* Remove typing from most of comments
* try to fix e2e tests on comm PRs
* fix
* Add tests typing.List in to adjust test compatiplity
- test/components/agents/test_state_class.py
- test/components/converters/test_output_adapter.py
- test/components/joiners/test_list_joiner.py
* simplify pyproject
* improve relnote
---------
Co-authored-by: anakin87 <stefanofiorucci@gmail.com>
* feat(huggingface-api): #9671 add image support to HuggingFaceAPIChatGenerator
* docs: add release notes for image support in HuggingFaceAPIChatGenerator
* Fixed comments on PR: implementation, testing, default value for validation
* refinements
---------
Co-authored-by: anakin87 <stefanofiorucci@gmail.com>
* Add support for | operator
* Add reno
* Use type(None) instead of NoneType
* Make custom UnionType private
* Add check that test should only run if python is 3.10+
* PR comments
* Update test/utils/test_type_serialization.py
Co-authored-by: Stefano Fiorucci <stefanofiorucci@gmail.com>
* Fix formatting
---------
Co-authored-by: Stefano Fiorucci <stefanofiorucci@gmail.com>