Silvano Cerza
6e289698e9
fix: Fix Pipeline.run()
getting stuck in a loop even though there are components that can run ( #7434 )
2024-03-28 12:31:36 +01:00
Silvano Cerza
58d91b64dc
Fix: Fix Pipeline.run() running components with only defaults in the wrong order ( #7426 )
...
* Fix Pipeline.run() running components with only defaults in the wrong order
* Add release notes
2024-03-26 16:55:31 +01:00
Stefano Fiorucci
6e69d4f188
fix: Pipeline - disable autoshow on Jupyter ( #7397 )
...
* try
* fix docstring
* simplify tests
* add release note
2024-03-21 12:55:06 +01:00
Silvano Cerza
de4fca4526
ci: Skip collection of test_json_schema.py
to fix CI failures ( #7353 )
...
* Skip collection of test_json_schema.py to fix CI failures
* mock chroma instance
* revert
---------
Co-authored-by: Massimiliano Pippi <mpippi@gmail.com>
2024-03-13 16:59:26 +01:00
Stefano Fiorucci
3dbde84a28
test: monkeypatch some env vars in Predefined Pipelines tests ( #7321 )
...
* ci: skip some tests if the OPENAI API key is not set
* better idea: monkeypatch the env var
2024-03-07 08:52:25 +01:00
Julian Risch
50ad1fa2c4
fix: Remove pipeline serialization from telemetry code ( #7289 )
...
* remove pipeline serialization from telemetry
* simplify getting component instance from pipeline
* reno
* add unit test with non-serializable component
* generate qualified class names
* added pipeline.walk()
* fix imports
* sort Iterator import
* remove bfs
* add test for pipeline.walk() with cycles
* Apply suggestions from code review
Co-authored-by: Madeesh Kannan <shadeMe@users.noreply.github.com>
* raise TypeError if telemetry_data is no dict
* Update haystack/telemetry/_telemetry.py
Co-authored-by: Madeesh Kannan <shadeMe@users.noreply.github.com>
---------
Co-authored-by: Madeesh Kannan <shadeMe@users.noreply.github.com>
2024-03-05 12:45:53 +01:00
Silvano Cerza
72d776c390
fix: Fix run order of variadic greedy components in Pipeline.run() ( #7258 )
...
* Fix run order of variadic greedy components in Pipeline.run()
* Add release notes
2024-03-01 17:39:13 +01:00
Massimiliano Pippi
34dac5f86f
Update test_pipeline.py ( #7284 )
2024-03-01 14:20:15 +01:00
Massimiliano Pippi
e7809b6fea
feat: Add from_template
class method to Pipeline
( #7240 )
...
* move templating code under the core package
* make from_predefined part of the Pipeline API
* add tests
* amend release notes
* import under haystack package
* Apply suggestions from code review
Co-authored-by: David S. Batista <dsbatista@gmail.com>
* from_predefined -> from_template
* remove template inheritance for more readability
---------
Co-authored-by: David S. Batista <dsbatista@gmail.com>
2024-02-29 12:23:32 +01:00
Silvano Cerza
5f97e08feb
feat: Reintroduce max_loops_allowed
check in Pipeline.run()
( #7010 )
...
* Reintroduce max_loops_allowed check in Pipeline.run()
* Add release notes
2024-02-19 10:05:35 +01:00
Silvano Cerza
f96eb3847f
refactor: Merge Pipeline
s definition in core
package ( #6973 )
...
* Move marshalling functions in core Pipeline
* Move telemetry gathering in core Pipeline
* Move run logic in core Pipeline
* Update root Pipeline import
* Add release notes
* Update Pipeline docs path
* Update releasenotes/notes/merge-pipeline-definitions-1da80e9803e2a8bb.yaml
Co-authored-by: Massimiliano Pippi <mpippi@gmail.com>
---------
Co-authored-by: Massimiliano Pippi <mpippi@gmail.com>
2024-02-12 18:25:28 +01:00
Silvano Cerza
d2d01f9fe1
feat: Enhance Pipeline.__repr__()
( #6963 )
...
* Enhance Pipeline.draw() to show image directly in Jupyter notebook
* Add util method to check if we're in a Jupyter notebook
* Split Pipeline.draw() in two methods
* Update tests
* Update releasenotes
* Enhance Pipeline.__repr__
* Simplify Pipeline.__repr__
* Update release notes
2024-02-09 14:44:34 +01:00
Silvano Cerza
a7f36fdd32
feat: Enhance Pipeline.draw()
to show image directly in Jupyter notebook ( #6961 )
...
* Enhance Pipeline.draw() to show image directly in Jupyter notebook
* Add util method to check if we're in a Jupyter notebook
* Split Pipeline.draw() in two methods
* Update tests
* Update releasenotes
2024-02-09 14:44:24 +01:00
Silvano Cerza
0191b1e6e4
feat: Change Component's I/O dunder type ( #6916 )
...
* Add Pipeline.get_component_name() method
* Add utility class to ease discoverability of Component I/O
* Move InputOutput in component package
* Rename InputOutput to _InputOutput
* Raise if inputs or outputs field already exist
* Fix tests
* Add release notes
* Move InputSocket and OutputSocket in types package
* Move _InputOutput in socket package
* Rename _InputOutput class to Sockets
* Simplify Sockets class
* Dictch I/O dunder fields in favour of inputs and outputs fields
* Update Sockets docstrings
* Update release notes
* Fix mypy
* Remove unnecessary assignment
* Remove unused logging
* Change SocketsType to SocketsIOType to avoid confusion
* Change sockets type and name
* Change Sockets.__repr__ to return component instance
* Fix linting
* Fix sockets tests
* Revert to dunder fields for Component IO
* Use singular in IO dunder fields
* Delete release notes
* Update haystack/core/component/types.py
Co-authored-by: Massimiliano Pippi <mpippi@gmail.com>
---------
Co-authored-by: Massimiliano Pippi <mpippi@gmail.com>
2024-02-05 17:46:45 +01:00
Silvano Cerza
76d324a149
feat: Change Pipeline.add_component
to fail when reusing Component
instances ( #6847 )
...
* Change Pipeline.add_component to fail when reusing Component instances
* Change variable name and store Pipeline instance in it
* Fix tests
2024-01-30 11:15:26 +01:00
Silvano Cerza
d4f6531c52
feat: Refactor Pipeline.run()
( #6729 )
...
* First rough implementation of refactored run
* Further improve run logic
* Properly handle variadic input in run
* Further work
* Enhance names and add more documentation
* Fix issue with output distribution
* This works
* Enhance run comments
* Mark Multiplexer as greedy
* Remove MergeLoop in favour of Multiplexer in tests
* Remove FirstIntSelector in favour of Multiplexer
* Handle corner when waiting for input is stuck
* Remove unused import
* Handle mutable input data in run and misbehaving components
* Handle run input validation
* Test validation
* Fix pylint
* Fix mypy
* Call warm_up in run to fix tests
2024-01-18 17:53:47 +01:00
Stefano Fiorucci
8eba053dbc
fix pipeline test ( #6741 )
2024-01-15 13:59:11 +01:00
Massimiliano Pippi
9ace6bf63d
feat: store input's default value in InputSocket
( #6651 )
...
* track default value in sockets
* remove dead code
* include default value in socket description
* add unit test
* add relnote
* unused import
* clarify
2024-01-09 12:17:46 +01:00
Massimiliano Pippi
84da80c1f3
chore: make core
tests layout consistent ( #6449 )
...
* move unit tests up
* move tests up one dir, make them unit
2023-11-29 18:58:44 +01:00