106 Commits
Author SHA1 Message Date
7a829354e8 test: disabling telemetry for all tests (#12573)
Co-authored-by: Julian Risch <[email protected]>
Co-authored-by: Claude Opus 5 (1M context) <[email protected]>
2026-09-03 12:18:32 +02:00
+11 f962e67347 chore: Merge main into v3 (#11715)
Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Anubhav Anand <[email protected]>
Co-authored-by: Julian Risch <[email protected]>
Co-authored-by: Claude Opus 4.8 (1M context) <[email protected]>
Co-authored-by: Srivatsa Kamballa <[email protected]>
Co-authored-by: David S. Batista <[email protected]>
Co-authored-by: gyx09212214-prog <[email protected]>
Co-authored-by: gyx09212214-prog <[email protected]>
Co-authored-by: Haystack Bot <[email protected]>
Co-authored-by: anakin87 <[email protected]>
Co-authored-by: milljer <[email protected]>
Co-authored-by: bogdankostic <[email protected]>
Co-authored-by: julian-risch <[email protected]>
Co-authored-by: davidsbatista <[email protected]>
Co-authored-by: AxelRay <[email protected]>
Co-authored-by: Ayush <[email protected]>
Co-authored-by: bogdankostic <[email protected]>
Co-authored-by: Ashith Fernandes <[email protected]>
Co-authored-by: Kunal <[email protected]>
Co-authored-by: Aditya Raut <[email protected]>
2026-06-22 18:04:43 +02:00
Stefano Fiorucci 6411c8cef9 chore!: remove sentence transformers components (#11646) 2026-06-16 12:23:49 +02:00
Stefano Fiorucci 4c021fa9fd chore!: remove NamedEntityExtractor + spacy-related code (#11614) 2026-06-15 13:09:39 +00:00
Stefano Fiorucci ea78fab82d chore!: remove transformers components (#11572) 2026-06-10 13:21:46 +00:00
+14 aac56ef8b6 chore: Merge main into v3 (#11495)
Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: Pragnyan Ramtha <[email protected]>
Co-authored-by: Julian Risch <[email protected]>
Co-authored-by: Claude Sonnet 4.6 <[email protected]>
Co-authored-by: Aarkin Karnik <[email protected]>
Co-authored-by: Haystack Bot <[email protected]>
Co-authored-by: Stefano Fiorucci <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: davidsbatista <[email protected]>
Co-authored-by: bogdankostic <[email protected]>
Co-authored-by: bogdankostic <[email protected]>
Co-authored-by: Sachin Yadav <[email protected]>
Co-authored-by: Copilot Autofix powered by AI <[email protected]>
Co-authored-by: anakin87 <[email protected]>
Co-authored-by: Abdulhamid Onawole <[email protected]>
Co-authored-by: David S. Batista <[email protected]>
Co-authored-by: Aditya Raut <[email protected]>
Co-authored-by: Nhat Huy Vu <[email protected]>
Co-authored-by: julian-risch <[email protected]>
Co-authored-by: kota <[email protected]>
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Co-authored-by: devteamaegis <[email protected]>
Co-authored-by: Ritwij Aryan Parmar <[email protected]>
Co-authored-by: Srivatsa Kamballa <[email protected]>
2026-06-03 11:43:55 +00:00
Stefano Fiorucci c487176311 chore!: remove legacy generators (#11421) 2026-05-29 09:19:59 +02:00
Ritik Raj 2121b53a8d fix: Fix device state restoration in NamedEntityExtractor and add release … (#11259) 2026-05-11 07:27:26 +00:00
Stefano Fiorucci 8003ca086f chore: update Spacy test dependency for Python 3.14 support (#10923) 2026-03-25 11:24:25 +01:00
Sebastian Husch Lee b970a64b77 feat: Updates to make Haystack compatible with python 3.14 (#10634)
* start adding python 3.14 support in tests

* start updating tests

* Add reno

* Updates

* Collect tests that should be skipped in python 3.14+

* run tests using python 3.14

* Revert back to 3.10 for testing

* Fix flaky tests

* Skip only spacy tests if python 3.14+

* switch to get_running_loop
2026-03-16 09:22:14 +00:00
Kooltek68 84930a2728 chore: add return type hints to e2e/pipelines/test_named_entity_extractor.py (#10822) 2026-03-16 09:38:25 +01:00
Stefano Fiorucci 819ed7244b chore: drop pylint (#10640)
* draft

* progress

* more fixes

* improvs

* strict

* rm pylint

* rm pylint comments

* fix and simplify

* standardize

* more

* alpha order

* final touch

* remove template

* rm ellipsis comments
2026-02-24 07:46:20 +00:00
Stefano Fiorucci 0fa5c00301 test: consolidate HF env vars removal in a fixture (#10637)
* test: consolidate HF env vars removal in a fixture

* rm yield
2026-02-19 15:17:56 +00:00
Sebastian Husch Lee b4fd38dcbe remove unneeded test (#10221) 2025-12-11 11:11:38 +01:00
Abdelrahman Kasebandanakin87 b9a34dfebf Fix: prevent in-place mutation of documents in Document Classifiers and Extractors (#9703)
* 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 <[email protected]>
2025-08-12 15:20:44 +02:00
Abdelrahman Kasebandanakin87 5f3c37d287 chore: adopt PEP 585 type hints (#9678)
* 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 <[email protected]>
2025-08-07 10:23:14 +02:00
Stefano Fiorucci d059cf2c23 feat: add skip_empty_documents init parameter to DocumentSplitter (#9649)
* feat: add skip_empty_documents init parameter to DocumentSplitter

* improve test

* fix + relnote
2025-07-24 11:26:11 +02:00
Stefano Fiorucci bcaef53cbc test: export HF_TOKEN env var in e2e environment (#9551)
* try to fix e2e tests for private NER models

* explanatory comment

* extend skipif condition
2025-06-25 15:00:28 +02:00
Stefano FiorucciandSebastian Husch Lee de5c7ea3d2 feat: add py.typed; adjust Component protocol (#9329)
* experimenting with py.typed

* try changing run method in protocol

* Trigger Build

* better docstring + release note

* remove type:ignore where possible

* Removed a few more type: ignores

---------

Co-authored-by: Sebastian Husch Lee <[email protected]>
2025-05-07 09:34:31 +02:00
David S. Batista 03505678e2 removing unused imports (#9172) 2025-04-04 11:16:44 +02:00
Stefano Fiorucci 019c238dd0 test: stop drawing pipelines in e2e tests (#9164) 2025-04-04 10:50:05 +02:00
David S. Batista ed931b4c2b fix: adding pylint disable for EvalRunResult end2endtest (#9054) 2025-03-18 11:20:11 +01:00
David S. Batista de76d20f12 fix: updating end2end evaluation tests (#9053)
* updating tests

* fixing tests, default now is JSON object and no longer dataframe

* cleaning up leftovers
2025-03-18 10:52:05 +01:00
Michele Pangrazzi c192488bf6 Named entity extractor private models (#8658)
* add 'token' support to NamedEntityExtractor to enable using private models on HF backend

* fix existing error message format

* add release note

* add HF_API_TOKEN to e2e workflow

* add informative comment

* Updated to_dict / from_dict to handle 'token' correctly ; Added tests

* Fix lint

* Revert unwanted change
2024-12-20 11:15:55 +01:00
David S. Batista db89b9a2e5 fix: removing unused import (#8636) 2024-12-13 12:35:58 +01:00
David S. Batista 176db5dbf9 initial import (#8635) 2024-12-13 12:12:40 +01:00
David S. Batista 97126eb544 fix: changing default model to gpt-4o-mini on OpenAI API calls (#8360)
* chaning default model to gpt-4o-mini

* adding release notes

* fixing some missed tests

* fixing some more missed tests

* fixing one last missed test

* fixing linting issues

* making pylint happy about an end2end test

* chaning if test to walruss operator

* fixing azure embedder from ada to text-embedding-ada-002
2024-09-17 10:36:42 +02:00
David S. Batista 276ff3c104 test evaluation pipeline failing (#7823) 2024-06-07 11:26:18 +02:00
Silvano Cerza 26b263e349 Fix InMemoryDocumentStore not sharing some document stats with other instances (#7792) 2024-06-04 10:15:50 +02:00
Julian Risch 6723dc3801 check for RuntimeError instead of ComponentError in test (#7769) 2024-05-31 08:42:40 +02:00
Massimiliano Pippi 10c675d534 chore: add license header to all modules (#7675)
* add license header to modules
* check license header at linting time
2024-05-09 13:40:36 +00:00
Julian Risch 48c7c6ad26 test: Rename responses and use preds instead of ground truth answers in e2e eval test (#7640)
* rename responses, use preds instead of ground truth answers

* fix typo in component name
2024-05-03 12:48:42 +02:00
David S. Batista 8d04e530da test: end2end evaluation tests (#7601)
* initial import

* wip

* cleaning up tests

* fixing tests

* adding context relevance

* reverting some wrong changes to due PyCharm error in refactoring

* building eval pipeline only once

* handling mypy issues
2024-04-26 14:07:05 +00:00
Silvano Cerza d66b5358a1 Remove eval end to end tests (#7093) 2024-02-26 12:27:15 +01:00
Vladimir Blagojevic d2497d54e8 Update to use the default Secret.from_env_var(OPENAI_API_KEY) approach (#6941) 2024-02-09 14:15:45 +01:00
Ashwin MathurandSilvano Cerza 393a7993c3 feat: Add Semantic Answer Similarity metric (#6877)
* Add SAS metric

* Add release notes

* Round similarity scores for precision consistency

* Add tolerance to tests

* Update haystack/evaluation/eval.py

Co-authored-by: Silvano Cerza <[email protected]>

* Add types for preprocess_text; Add additional types for f1 and em methods

---------

Co-authored-by: Silvano Cerza <[email protected]>
2024-02-02 17:07:52 +01:00
Ashwin Mathur 7217f9d9f0 feat: Add F1 metric (#6822)
* Add F1 metric

* Add release notes
2024-01-26 11:04:43 +01:00
a238c6dd51 feat: Add Exact Match metric (#6696)
* Add exact match metric

* Add release notes

* Cleanup comments in test_eval_exact_match.py

* Create separate preprocessing function; Add output_key parameter

* Update release note

---------

Co-authored-by: Silvano Cerza <[email protected]>
Co-authored-by: Julian Risch <[email protected]>
2024-01-22 09:57:04 +01:00
Madeesh Kannan 6a1514550e test: Update E2E tests to use Pipeline.dump/load (#6756) 2024-01-17 15:09:27 +01:00
Madeesh Kannan 7376838922 feat!: Framework-agnostic device management (#6748)
* feat: Framework-agnostic device management

* Add release note

* Linting

* Fix test

* Add `first_device` property, expand release notes, validate `ComponentDevice` state
2024-01-17 10:41:34 +01:00
Madeesh Kannan d6cafeaff3 test: Rename RAG E2E test file (#6750)
Prior to this change, this broke `pytest` workflows in VSCode due to identical test names in this file and the integration/unit test file.
2024-01-16 13:40:22 +01:00
ZanSara 96c0b59aaa feat!: Rename model_name_or_path to model in ExtractiveReader (#6736)
* rename model parameter and internam model attribute in ExtractiveReader

* fix tests for ExtractiveReader

* fix e2e

* reno

* another fix

* review feedback

* Update releasenotes/notes/rename-model-param-reader-b8cbb0d638e3b8c2.yaml
2024-01-15 14:48:33 +01:00
ZanSara b236ea49e3 fix: hybrid pipeline e2e test (#6740)
* fix hybrid pipeline e2e test

* warmup

* write to the right docstore
2024-01-15 14:20:02 +01:00
ZanSara 288ed150c9 feat!: Rename model_name or model_name_or_path to model in all Embedder classes (#6733)
* rename model parameter in the openai doc embedder

* fix tests for openai doc embedder

* rename model parameter in the openai text embedder

* fix tests for openai text embedder

* rename model parameter in the st doc embedder

* fix tests for st doc embedder

* rename model parameter in the st backend

* fix tests for st backend

* rename model parameter in the st text embedder

* fix tests for st text embedder

* fix docstring

* fix pipeline utils

* fix e2e

* reno

* fix the indexing pipeline _create_embedder function

* fix e2e eval rag pipeline

* pytest
2024-01-12 15:30:17 +01:00
ZanSara 3156343dce fix leftover model_name_or_path param (#6737) 2024-01-12 15:03:06 +01:00
Massimiliano PippiandSilvano Cerza e1ec4e5e4d refact!: Remove symbols under the haystack.document_stores namespace (#6714)
* remove symbols under the haystack.document_stores namespace

* Update haystack/document_stores/types/protocol.py

Co-authored-by: Silvano Cerza <[email protected]>

* fix

* same for retrievers

* leftovers

* more leftovers

* add relnote

* leftovers

* one more

* fix examples

---------

Co-authored-by: Silvano Cerza <[email protected]>
2024-01-10 21:20:42 +01:00
374a937663 feat: Add calculate_metrics and MetricsResult (#6680)
* Add calculate_metrics, MetricsResult, Exact Match

* Add additional tests for metric calculation

* Add release notes

* Add docstring for Exact Match metric

* Remove Exact Match Implementation

* Update release notes

* Remove unnecessary metrics implementation

* Simplify logic to run supported metrics

* Add some evaluation tests

* Fix linting

---------

Co-authored-by: Silvano Cerza <[email protected]>
Co-authored-by: Silvano Cerza <[email protected]>
2024-01-10 10:26:44 +01:00
Madeesh KannanandMassimiliano Pippi e6d6ce1c73 feat: Add NamedEntityExtractorcomponent (#6689)
* feat: Add `NamedEntityExtractor`component

This component accepts a list of `Document`s which it annotates with named entities. The annotations are stored in the `meta` dictionary of each `Document` under a specific key.

The component currently support two backends for the annotation models: Hugging Face `transformers` and spaCy.

* Address comments

* Expand release note

* Add the `[torch]` extra package specifier to the lazy import

* Remove dead code

---------

Co-authored-by: Massimiliano Pippi <[email protected]>
2024-01-09 17:56:20 +01:00
Massimiliano Pippi 93b2aaee09 chore: move DocumentJoiner to new joiners package (#6692)
* move DocumentJoiner to new joiners package

* relnote

* leftovers

* fix docstrings generation

* fix unrelated pydoc misconfiguration

* more unrelated work, yay!

* fix assertions
2024-01-08 22:06:27 +01:00
Vladimir Blagojevic 506ab81d26 chore: Rename GPT generators, deprecate old names (#6626) 2023-12-22 19:37:29 +01:00