* 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>
* wip: fixing tests
* wip: fixing tests
* wip: fixing tests
* wip: fixing tests
* fixing circular imports
* decoupling resume and initial run() for agent
* adding release notes
* re-raising BreakPointException from pipeline.run()
* fixing imports
* refactor: Refactor suggestions for Pipeline breakpoints (#9614)
* Refactoring
* Start adding debug_path into Breakpoint class
* Fully move debug_path into Breakpoint dataclass
* Simplifications in pipeline run logic
* More simplification
* lint
* More simplification
* Updates
* Rename resume_state to pipeline_snapshot
* PR comments
* Missed renaming of state in a few more places
* feat: Add dataclasses to represent a `PipelineSnapshot` and refactored to use it (#9619)
* Refactor to use dataclasses for PipelineSnapshot and AgentSnapshot
* Fix integration tests
* Mypy
* Fix mypy
* Fix lint
* Refactor AgentSnapshot to only contain needed info
* Fix mypy
* More refactoring
* removing unused import
---------
Co-authored-by: David S. Batista <dsbatista@gmail.com>
* feat: saving include_outputs_from intermediate results to `PipelineState` object (#9629)
* saving intermediate components results in include_outputs_from into the PipelineSnaptshot
* cleaning up
* fixing tests
* fixing tests
* extending tests
* Update haystack/dataclasses/breakpoints.py
Co-authored-by: Sebastian Husch Lee <10526848+sjrl@users.noreply.github.com>
* Update haystack/dataclasses/breakpoints.py
Co-authored-by: Sebastian Husch Lee <10526848+sjrl@users.noreply.github.com>
* linting
* moving intermediate results to pipeline state and adding pipeline outputs to state
* moving ordered_component_names and include_outputs_from to PipelineSnapshot
* moving original_input_data to PipelineSnapshot
* simplifying saving the intermediate results
* Update haystack/dataclasses/breakpoints.py
Co-authored-by: Sebastian Husch Lee <10526848+sjrl@users.noreply.github.com>
* Update haystack/dataclasses/breakpoints.py
Co-authored-by: Sebastian Husch Lee <10526848+sjrl@users.noreply.github.com>
* Update haystack/dataclasses/breakpoints.py
Co-authored-by: Sebastian Husch Lee <10526848+sjrl@users.noreply.github.com>
* Update haystack/dataclasses/breakpoints.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>
* linting
* cleaning up
* avoiding creating PipelineSnapshot for every component run
* removing unecessary code
* Update checks in Agent to not unecessarily create AgentSnapshot when not needed.
* Update haystack/components/agents/agent.py
Co-authored-by: Sebastian Husch Lee <10526848+sjrl@users.noreply.github.com>
* Update haystack/components/agents/agent.py
Co-authored-by: Sebastian Husch Lee <10526848+sjrl@users.noreply.github.com>
* cleaning up tests
* linting
---------
Co-authored-by: Sebastian Husch Lee <10526848+sjrl@users.noreply.github.com>
Co-authored-by: Sebastian Husch Lee <sjrl423@gmail.com>
* feat: added to init
* feat: added return_embedding in to_dict
* feat: added return_embedding to filter_documents
* feat: added return_embedding to bm25_retrieval
* refactor: embedding_retrieval to use return_embedding attribute rather than parameter passed
* docs: added releasenote
* fix: pop from doc_fields instead of changing return_documents attr to none
* fix: made return_embedding an optional field and removed deprecation warning
* fix: give return_embedding a higher priority than self.return_embedding
* feat: changed default behaviour of return_embedding to True
* chore: update tests after InMemory Document store update
* Update releasenotes/notes/update-in-memory-document-store-17f555695caf9d52.yaml
Co-authored-by: Sebastian Husch Lee <10526848+sjrl@users.noreply.github.com>
* chore: update docs
* chore: enhanced clarity and redability of expression
* test: return_embedding is set to false during initialization
* test: overriding return_embedding inside
* fix: changed the use of self.filter_documents to actual implementation inside `embedding_retrieval`
Signed-off-by: rafaeljohn9 <rafaeljohb@gmail.com>
---------
Signed-off-by: rafaeljohn9 <rafaeljohb@gmail.com>
Co-authored-by: Sebastian Husch Lee <10526848+sjrl@users.noreply.github.com>
* add to_dict and from_dict to StreamingChunk
* bugfix: set index field
* release notes + minor bugfix in tests
* ensure full serialization + update tests
* support de/serialization for all involved dataclasses
* remove unnecessary import
* code cleanup + only allow dicts in from_dict
* update release notes
* add more tests
* upgraded README.md
Added table of contents and made minor grammatical fixes with enhancing the readability of the file
* update README.md
Removal of capitalization
* Update README.md
* First pass at alerting a user that the pipeline is blocked
* Change approach and add change to async pipeline
* Fix check in run_async
* Another fix
* Somehow also fixed the max_runs_per_component
* Align sync run and async run component
* Update output type of component outputs to Mapping to align with our protocol
* linting
* ruff
* Make it a core test
* Add reno
* Some refactoring
* Linting
* Fix mypy
* Converting to warning
* Small changes
* Update release note
* More cleanup
* PR comment
* PR comments
* Updating tests
* More tests
* More tests
* More tests
* More tests
* Get bare types to work with builtins
* Add reno
* PR comments
---------
Co-authored-by: David S. Batista <dsbatista@gmail.com>