Daria Fokina
a71dd7d2aa
update license headers ( #9861 )
2025-10-10 12:04:48 +02:00
Daria Fokina
a66a05f756
docs: moving Docusaurus setup to Haystack repo ( #9847 )
...
* move-docusarus-to-haystack
* debug
* add src
* blank page bug
* unify readme
2025-10-10 11:44:13 +02:00
Arya Tayshete
f8d6757eab
feat(converters): CSVToDocument supports row-level conversion ( #9773 )
...
* feat(converters): CSVToDocument row-level conversion (content_column, columns→meta) + tests + releasenote
Signed-off-by: Arya Tayshete <avtayshete_b21@et.vjti.ac.in>
* feat(converters): CSVToDocument row-mode hardening + tests
Signed-off-by: Arya Tayshete <avtayshete_b21@et.vjti.ac.in>
* test(converters): remove long commented line to satisfy ruff E501
Signed-off-by: Arya Tayshete <avtayshete_b21@et.vjti.ac.in>
* fix(converters): avoid infinite loop
Signed-off-by: Arya Tayshete <avtayshete_b21@et.vjti.ac.in>
* feat(converters): require content_column in run() for row mode; remove fallbacks; improve docstrings; update tests
Signed-off-by: Arya Tayshete <avtayshete_b21@et.vjti.ac.in>
* feat(converters): content_column required in run method instead of init
Signed-off-by: Arya Tayshete <avtayshete_b21@et.vjti.ac.in>
* feat(csv): row-mode with required run() arg ; update BDD pipeline tests
---------
Signed-off-by: Arya Tayshete <avtayshete_b21@et.vjti.ac.in>
2025-10-09 13:15:51 +00:00
Stefano Fiorucci
2a27e0d131
fix: fix OpenAIChatGenerator response_format serialization errors ( #9858 )
...
* fix: fix OpenAIChatGenerator response_format serialization errors
* relnote fix
2025-10-08 09:30:34 +00:00
Sebastian Husch Lee
5c69b08a76
fix: Fix Agent not raising BreakpointException for ToolBreakpoint with specific tool_name in assistant messages with multiple tool calls ( #9853 )
...
* Fix tool breakpoint triggering in Agent
* formatting
* fix formatting
2025-10-06 14:55:17 +02:00
Stefano Fiorucci
b096431aff
test: pin transformers<4.57 ( #9852 )
2025-10-05 11:14:46 +02:00
Sebastian Husch Lee
9796e86247
Fix docstring ( #9848 )
2025-10-02 15:25:20 +02:00
Sriniketh J
34aa66ecc6
fix: embedding backend id key for sent trans backend ( #9844 )
...
* fix: embedding backend id key for sent trans backend
* refactor: sparse embedding to use kwargs
* fix: workflow failure
* feat: add rn file
* Revert "refactor: sparse embedding to use kwargs"
This reverts commit 3b331d6904bf1fdaf4d735127461407d96c2eef2.
* fix: review comments (dev)
* fix: review comments (test)
* Slow tests should run when changing embedding backends
---------
Co-authored-by: Stefano Fiorucci <stefanofiorucci@gmail.com>
2025-09-30 10:20:08 +02:00
Sebastian Husch Lee
c77295d137
Refactoring and cleaning up breakpoint code in pipeline.run ( #9846 )
...
* Refactoring and cleaning up breakpoint code in pipeline.run
* More simplification
* Add redundant check to make mypy happy
* Remove unnecessary input
* PR comments
2025-09-30 06:39:13 +00:00
Sebastian Husch Lee
ed523bf9fd
Remove workflow ( #9832 )
2025-09-26 08:55:20 +02:00
Stefano Fiorucci
606b264f46
chore: remove dead code in ChatGenerator protocol ( #9831 )
2025-09-25 17:53:55 +02:00
Stefano Fiorucci
11b4b4f9fc
fix: make Agent run_async work with async streaming_callback ( #9824 )
...
* fix Agent streaming_callback requires_async
* add tests
* fix
* relnote
2025-09-25 15:06:41 +00:00
Sebastian Husch Lee
1e04845b02
fix: Fix initializing an Agent from an AgentSnapshot ( #9826 )
...
* Fix initializing agent from snapshot. Refactoring tests
* Fixing tests
* Add integration test
* Add reno
* linting
* Update releasenotes/notes/fix-openai-agent-snapshot-init-1ca26789564a53fe.yaml
Co-authored-by: David S. Batista <dsbatista@gmail.com>
---------
Co-authored-by: David S. Batista <dsbatista@gmail.com>
2025-09-25 16:54:45 +02:00
Stefano Fiorucci
75e1018f4e
ci: update Hatch to 1.14.2 ( #9823 )
2025-09-25 08:56:02 +02:00
Stefano Fiorucci
707e6837b6
fix: pin openai>=1.99.2 ( #9812 )
2025-09-24 07:51:21 +00:00
Stefano Fiorucci
bc8a4754d2
test: use small Sentence Transformers models in tests ( #9802 )
...
* test: use small Sentence Transformers models in tests
* fix
2025-09-24 09:26:51 +02:00
Sebastian Husch Lee
143b0b00e8
tests: Add more tests for OpenAIChatGenerator with different response_format options ( #9810 )
...
* Fix: only put in response_format into api args if it's not None
* Add reno
* Add more tests
* Update test
* Remove test
2025-09-23 14:51:52 +02:00
Sebastian Husch Lee
8250c2b2b9
Fix: In OpenAIChatGenerator only put in response_format into api args if it's not None ( #9809 )
...
* Fix: only put in response_format into api args if it's not None
* Add reno
* Add dev comment
2025-09-23 08:42:47 +00:00
tstadel
622f922b98
feat: select tools at runtime ( #9798 )
...
* feat: select tools at runtime
* pass tools to ToolInvoker too for consistency
* refactoring
* add reno
* apply feedback and add tools to run_async
* add tests
* fix mypy
* chore: enable tool selection when running from snapshot as well
* fix pylint
* apply feedback
* Update haystack/components/agents/agent.py
Co-authored-by: Sebastian Husch Lee <10526848+sjrl@users.noreply.github.com>
* Update releasenotes/notes/add-tools-to-agent-run-params-3aa9c75ee548c38d.yaml
Co-authored-by: Sebastian Husch Lee <10526848+sjrl@users.noreply.github.com>
* add raises
* add more tests
---------
Co-authored-by: Sebastian Husch Lee <10526848+sjrl@users.noreply.github.com>
2025-09-23 09:07:54 +02:00
Daria Fokina
580d269887
add pipeline_tool reference ( #9806 )
2025-09-22 13:44:51 +02:00
Sebastian Husch Lee
7f802656f6
chore: Refactor tool invoker ( #9794 )
...
* Refactoring tool invoker
* More refactoring
* More refactoring
* Small fix
* Fix
* max_workers was missing from ToolInvoker.to_dict
2025-09-22 09:39:52 +02:00
Bilge Yücel
ff1ba62fd1
Update README.md - Who uses Haystack part ( #9799 )
2025-09-22 09:34:07 +02:00
Sebastian Husch Lee
3568b6fe31
fix: Fix parameter schema generation in ComponentTool when using inputs_from_state ( #9795 )
...
* Fix for removing parameters from the parameters schema when using inputs_from_state
* Add reno
2025-09-22 07:02:36 +02:00
Arseniy Shkunkov
1fb76ec7e4
feat: add Sparse Embedders based on Sentence Transformers ( #9588 )
...
* Added backend class for SparseEncoder and also SentenceTransformersSparseTextEmbedder
* Added SentenceTransformersSparseDocumentEmbedder
* Created a separate _SentenceTransformersSparseEmbeddingBackendFactory and added tests
* Remove unused parameter
* Wrapped output into SparseEmbedding dataclass + fix tests
* Return correct SparseEmbedding, imports and tests
* fix fmt
* Style changes and fixes
* Added a test for embed function
* Added integration test and fixed some other tests
* Add lint fixes
* Fixed positional arguments
* fix types, simplify and more
* fix
* token fixes
* pydocs, small model in test, cache improvement
* try 3.9 for docs
* better to pin click
* release note
* small fix
---------
Co-authored-by: anakin87 <stefanofiorucci@gmail.com>
2025-09-19 14:00:13 +00:00
Haystack Bot
74606dcc1c
Update unstable version to 2.19.0-rc0 ( #9792 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-17 14:58:41 +02:00
Sebastian Husch Lee
5bca520a48
fix: Fix MetaFieldGroupingRanker to handle unhashable subgroup_by values like list ( #9791 )
...
* Fixes
* Add reno
---------
Co-authored-by: David S. Batista <dsbatista@gmail.com>
v2.19.0-rc0
2025-09-16 12:24:08 +02:00
David S. Batista
10e05b679f
feat: save last AgentSnapshot when Agent crashes ( #9774 )
...
* raise last good snapshot in PipelineRunTimeError + tests updates
* adding release notes
* renaming test file
* wip: PoC generating Agent snapshot + host pipeline snapshot and saving it to disk
* wip: agent tool error generates a valid snapshot file
* dealing with function seralisation/deserialisation
* wip: fixing typing issues
* fixing typing issues
* wip
* fixing types
* fixing tests
* extending tests for sudden crash + breakpoints and resume
* adding release notes
* merginng pipeline tests into single file
* adding missing test file
* WIP: PR comments/improvments
* set test as integration test
* refactor: Updates to saving an AgentSnapshot if execution fails (#9781 )
* Updates
* Fix circular import
* Fixes
* Fix license header
* fixing typing
* fixing typing
---------
Co-authored-by: David S. Batista <dsbatista@gmail.com>
* Update haystack/utils/base_serialization.py
Co-authored-by: Amna Mubashar <amnahkhan.ak@gmail.com>
* wip
* fixing tests
* updaing deserialisation
* updating more tests, reorganising breakpoints tests
* fixing bug in saving agent_snapshot
* updating tests
* updating tests
* updating tests
* adding tests for serialisation/deserialisation of functions
---------
Co-authored-by: Sebastian Husch Lee <10526848+sjrl@users.noreply.github.com>
Co-authored-by: Amna Mubashar <amnahkhan.ak@gmail.com>
2025-09-16 09:46:35 +00:00
Amna Mubashar
35c1cabb4e
feat: support structured outputs in OpenAIChatGenerator ( #9754 )
...
* Add parse for response format
* Update response_format
* Add tests
* Add release notes
* Update checks
* remove instance var
* Add tests for azure
* Add schema test
* Add comments
* Add streaming support
* PR comments
* PR comments
* Add tests
* Fix tests
* Add unit tests
* Update Azure files
* PR comments
* Small fix
* Include message.parsed
* Fix seriliaztion
* Update the async method
* Update release notes
* Loosen tests to prevent failure
* PR comments
* Fix release notes
* Fix error
2025-09-16 11:15:28 +02:00
dependabot[bot]
e3d4e9e945
chore(deps): bump tj-actions/changed-files from 46 to 47 ( #9788 )
...
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files ) from 46 to 47.
- [Release notes](https://github.com/tj-actions/changed-files/releases )
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md )
- [Commits](https://github.com/tj-actions/changed-files/compare/v46...v47 )
---
updated-dependencies:
- dependency-name: tj-actions/changed-files
dependency-version: '47'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-15 16:41:45 +02:00
Stefano Fiorucci
07c5763134
chore: update pre-commit hooks ( #9784 )
2025-09-15 14:27:39 +02:00
Sebastian Husch Lee
7443efe2f8
feat: Add reasoning content to streaming chunk ( #9777 )
...
* Add reasoning content to streaming chunk
* Add reno
* Update print_streaming_chunk
2025-09-15 13:44:12 +02:00
Sebastian Husch Lee
443101ee78
test: Increase robustness of PipelineTool integration tests ( #9779 )
...
* Add system prompt to encourage model to use the tool
* Increase robustness
2025-09-10 15:04:11 +02:00
tstadel
0d09f7b889
feat: add system_prompt to Agent run parameters ( #9778 )
...
* enhancement: add system_prompt to Agent run parameters
* add reno
* add test
2025-09-09 18:55:42 +02:00
Abdelrahman Kaseb
34f1a04120
fix: preserve explicit lambda_threshold=0.0 in SentenceTransformersDiversityRanker ( #9771 )
...
* fix(rankers): preserve lambda_threshold=0.0 in SentenceTransformersDiversityRanker
* Add tests
* release note
* remove unreachable code, merge tests
---------
Co-authored-by: Julian Risch <julian.risch@deepset.ai>
2025-09-09 09:55:12 +00:00
David S. Batista
7e63b36a1d
fixing comment typos ( #9775 )
2025-09-09 11:32:59 +02:00
Sebastian Husch Lee
0592e747f9
feat: Add PipelineTool to streamline using Pipeline as Tools with Agent ( #9759 )
...
* Some refactoring and finish TODO for component tool
* Initial addition of PipelineTool
* Add missing files
* Add reno and update example
* Fix usage example, add integration test, improve error messages from SuperComponent
* Add missing license header
* Make it work with async pipeline as well
* Add unit tests
* Fix unit test
* Remove unused import
* Update integration tests and PR comments
* Fix unit tests
* Fix tests and make description required
* Update docstrings
* PR comments
2025-09-09 07:54:24 +00:00
dependabot[bot]
542214cc19
chore(deps): bump actions/labeler from 5 to 6 ( #9768 )
...
Bumps [actions/labeler](https://github.com/actions/labeler ) from 5 to 6.
- [Release notes](https://github.com/actions/labeler/releases )
- [Commits](https://github.com/actions/labeler/compare/v5...v6 )
---
updated-dependencies:
- dependency-name: actions/labeler
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-05 16:09:27 +02:00
Stefano Fiorucci
ed8649743d
test: attempt to avoid HF API Embedders errors, fail fast when unavoidable ( #9766 )
...
* test: better retry configurations for HF API Embedders integration tests
* shorter delay, test only on Ubunt
* try different settings
* fail fast via timeout
2025-09-05 13:15:47 +02:00
dependabot[bot]
329bcbb71c
chore(deps): bump actions/setup-python from 5 to 6 ( #9764 )
...
Bumps [actions/setup-python](https://github.com/actions/setup-python ) from 5 to 6.
- [Release notes](https://github.com/actions/setup-python/releases )
- [Commits](https://github.com/actions/setup-python/compare/v5...v6 )
---
updated-dependencies:
- dependency-name: actions/setup-python
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-05 10:11:53 +02:00
dependabot[bot]
ce50022a18
chore(deps): bump actions/setup-go from 5 to 6 ( #9765 )
...
Bumps [actions/setup-go](https://github.com/actions/setup-go ) from 5 to 6.
- [Release notes](https://github.com/actions/setup-go/releases )
- [Commits](https://github.com/actions/setup-go/compare/v5...v6 )
---
updated-dependencies:
- dependency-name: actions/setup-go
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-05 10:11:31 +02:00
dependabot[bot]
9db408e941
chore(deps): bump actions/stale from 9 to 10 ( #9762 )
...
Bumps [actions/stale](https://github.com/actions/stale ) from 9 to 10.
- [Release notes](https://github.com/actions/stale/releases )
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/stale/compare/v9...v10 )
---
updated-dependencies:
- dependency-name: actions/stale
dependency-version: '10'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-04 16:45:12 +02:00
Arya Tayshete
efeb985e52
feat(fetcher): support custom request headers in LinkContentFetcher ( #9760 )
...
* feat(fetcher): support custom requests in LinkContentFetcher
* feat(fetcher): support custom request headers in LinkContentFetcher + tests
* undo changes in file
2025-09-04 13:31:15 +00:00
David S. Batista
f48789f5fe
feat: raise last good snapshot in PipelineRunTimeError + tests updates ( #9758 )
...
* raise last good snapshot in PipelineRunTimeError + tests updates
* adding release notes
* renaming test file
* PR comments + fixing tests
2025-09-03 13:46:33 +02:00
David S. Batista
68f4cc719f
changing _check_chat_generator_breakpoint and _check_tool_invoker_breakpoint to staticmethod ( #9755 )
2025-09-03 09:43:10 +02:00
Sebastian Husch Lee
68168c45c9
chore: Bump transformers ( #9740 )
...
* Bump transformers
* Fix typing issue
* Pin transformers to less than 5
2025-09-02 13:37:56 +02:00
Ujjwal-Bajpayee
0fe2f8e45b
Docs: clarify purpose of State class ( closes #9738 ) ( #9746 )
...
Co-authored-by: anakin87 <stefanofiorucci@gmail.com>
2025-09-02 11:30:00 +02:00
Sebastian Husch Lee
4644785df1
refactor: Some refactoring and finish TODO for component tool ( #9751 )
...
* Some refactoring and finish TODO for component tool
* Add docstrings
2025-09-01 12:48:51 +00:00
David S. Batista
6c7ae8f658
feat: pipeline checkpoints crash allow to resume from snapshot ( #9743 )
...
* 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
* removing code
* removing code
* removing code
* updating release notes
* validating parameters
* cleaning
* wip: debugging
* removing persistance tests
* formatting
* formatting
* cleaning up code
* updating release notes
* adding missing docstrings
* typo in release notes
* Update haystack/core/pipeline/pipeline.py
Co-authored-by: Sebastian Husch Lee <10526848+sjrl@users.noreply.github.com>
* PR comments
* handling potential issues with saving the snapshot file
* updating tests
* Update haystack/core/pipeline/pipeline.py
Co-authored-by: Sebastian Husch Lee <10526848+sjrl@users.noreply.github.com>
* Update haystack/core/pipeline/pipeline.py
Co-authored-by: Sebastian Husch Lee <10526848+sjrl@users.noreply.github.com>
* some more improvements
* fixing exxception
* fixing exception error name conflict
---------
Co-authored-by: Sebastian Husch Lee <10526848+sjrl@users.noreply.github.com>
2025-09-01 11:22:37 +02:00
Daria Fokina
477188d484
add code block ( #9749 )
2025-08-29 10:31:27 +00:00
Rigved Telang
b17471207d
feat(websearch): add exclude_subdomains parameter to SerperDevWebSearch ( #9729 )
...
* feat: add domain filtering with subdomain exclusion to SerperDevWebSearch
- Introduced `exclude_subdomains` parameter to control whether to include subdomains in search results.
- Implemented `_is_domain_allowed` method to enforce domain filtering based on the new parameter.
- Updated tests to verify functionality of domain filtering and subdomain exclusion.
* Fix error in test
* Remove redundant test for `to_dict` method in `TestSerperDevSearchAPI` class
* Fix linting
---------
Co-authored-by: Amna Mubashar <amnahkhan.ak@gmail.com>
2025-08-29 12:22:02 +02:00