3174 Commits

Author SHA1 Message Date
Vladimir Blagojevic
9c08f3d9c7
Add AZURE keys for Haystack 2.x Azure integration (#6690) 2024-01-05 14:53:01 +01:00
Stefano Fiorucci
bb2b1a20f8
refactor: optimize API keys reading (#6655)
* centralize API keys handling

* fix mypy and pylint

* rm utility function, be more explicit
2024-01-05 10:40:03 +01:00
Vladimir Blagojevic
1336456b4f
Update prompt builders examples (#6681) 2024-01-04 16:54:26 +01:00
Daria Fokina
d61ac9e6ae
docs: docstrings formatting (#6677)
* docs: docstrings formatting

* indent
2024-01-02 15:28:01 +01:00
Roshan Jossy
76b0d05eb1
chore: use GitHub markdown for warning about beta version in Readme (#6666) 2023-12-31 10:34:40 +01:00
Tuana Çelik
fabc4677af
Update README.md (#6663) 2023-12-29 12:04:16 +01:00
Vladimir Blagojevic
090d66b531
feat: Update OpenAIChatGenerator to handle both tools and functions calling (#6639)
* Handle tools parameter in OpenAIChatGenerator

* Handle tools/functions parameter in OpenAIChatGenerator streaming mode

* Adjust OpenAPIServiceConnector to handle tools parameter

* We never deal with functions/tools in non-chat generator

* Add release note
2023-12-28 17:29:47 +01:00
Stefano Fiorucci
474cf440ee
pin openai>=1.1.0 (#6657) 2023-12-28 17:10:51 +01:00
Stefano Fiorucci
01616d5b6b
ci: skip Tika tests in macOS integration tests (#6654)
* skip tika tests in macos integration tests

* test on this branch

* rm this branch from those to be tested
2023-12-28 15:23:32 +01:00
Stefano Fiorucci
c773c30c66
refactor!: rename all remaining metadata to meta (#6650)
* change metadata to meta

* release note
2023-12-28 12:18:15 +01:00
Vladimir Blagojevic
c254e5ef37
chore: Update and improve TopPSampler docs (#6634)
* Update and improve docs

* Update top_p.py

---------

Co-authored-by: Daria Fokina <daria.fokina@deepset.ai>
2023-12-27 14:38:43 +01:00
dependabot[bot]
c73e6dd248
chore(deps): bump tj-actions/changed-files from 40 to 41 (#6641)
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 40 to 41.
- [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/v40...v41)

---
updated-dependencies:
- dependency-name: tj-actions/changed-files
  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>
2023-12-27 08:49:45 +01:00
Vladimir Blagojevic
ef2f6bd681
feat: Split DynamicPromptBuilder and DynamicChatPromptBuilder (#6557)
* Split DynamicPromptBuilder

* Add release note

* Julian PR feedback

* dynamicchatbuilder lg upd

* dynamicpromptbuilder lg upd

---------

Co-authored-by: Daria Fokina <daria.fokina@deepset.ai>
2023-12-26 15:27:43 +01:00
Stefano Fiorucci
30065eebae
ci: make Tika service smoothly run on MacOs (#6619) 2023-12-22 21:39:28 +01:00
Vladimir Blagojevic
506ab81d26
chore: Rename GPT generators, deprecate old names (#6626) 2023-12-22 19:37:29 +01:00
ZanSara
c0f1dab454
feat: support single metadata dictionary in PyPDFToDocument (#6615)
* support single metadata dict in pypdf2document

* improve tests

* tests

* remove line
2023-12-22 14:13:11 +01:00
Julian Risch
d90f95be2e
test: Check only top answer in extractive QA e2e test (#6614) 2023-12-22 11:11:24 +01:00
Stefano Fiorucci
8469c7f702
chore: upgrade transformers to 4.36.2 in test requirements (#6610)
* Update test_requirements.txt

* make tests run when tests requirements change

---------

Co-authored-by: ZanSara <sara.zanzottera@deepset.ai>
2023-12-21 16:48:24 +01:00
ZanSara
ff55985e2d
feat: support single metadata dictionary in HTMLToDocument (#6613)
* support single metadata in HTMLToDocument

* reno

* docstring
2023-12-21 16:45:31 +01:00
Vladimir Blagojevic
4d08be0c2a
feat: Update OpenAI Python Client in Haystack 2.x (#6584)
* Update openai python client

* Add release note

* Consolidate multiple mock_chat_completion into one

* Ensure all components have api_base_url, organization params

* Update tests

* Enable function calling

* Oversight

* Minor fixes, add streaming test mocks

* Apply suggestions from code review

Co-authored-by: Daria Fokina <daria.fokina@deepset.ai>

* metadata -> meta

---------

Co-authored-by: Massimiliano Pippi <mpippi@gmail.com>
Co-authored-by: Daria Fokina <daria.fokina@deepset.ai>
2023-12-21 16:21:24 +01:00
dependabot[bot]
3c897e3b09
chore(deps): bump actions/setup-python from 4 to 5 (#6616)
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4 to 5.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/setup-python
  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>
2023-12-21 16:02:45 +01:00
ZanSara
cf79aa1485
feat: add support for single meta dict in TextFileToDocument (#6606)
* add support for single meta dict

* reno

* reno

* mypy

* extract to function

* docstring

* mypy
2023-12-21 14:21:17 +01:00
Stefano Fiorucci
7cc6080dfa
chore: replace metadata w meta in tests/examples (#6612)
* replace metadata w meta in tests/examples

* do not touch already broken e2e tests

* Revert "do not touch already broken e2e tests"

This reverts commit 1f911920d98954b57daacfe8d8ed02fd77d136db.
2023-12-21 14:09:31 +01:00
sahusiddharth
3d17e6ff76
changed metadata to meta (#6605) 2023-12-21 12:39:58 +01:00
Ashwin Mathur
fc88ef7076
feat: Add HuggingFace TEI Embedders - HuggingFaceTEITextEmbedder and HuggingFaceTEIDocumentEmbedder (#6602)
* Add TEI Embedders

* Add release notes

* Update release notes with usage examples
2023-12-21 12:16:36 +01:00
Silvano Cerza
8a513f3b8c
test: Add fixture to block requests in tests (#6585)
* Add fixture to block requests in tests

* Mark tests making requests as integration
2023-12-21 08:51:54 +01:00
Silvano Cerza
5546c8144e
ci: Speed up tests.yml by caching dependencies (#6417)
* Speed up tests.yml by caching dependencies

* Trigger for testing

* Use restore only action to speedup restoring

* Use bash shell to get pip cache dir

* Set shell for caching step

* Cache correct path

* Remove trigger
2023-12-20 16:21:48 +01:00
Daria Fokina
a64cf25148
docs: fix formatting (#6599) 2023-12-20 12:30:27 +01:00
ZanSara
ae5297bfd7
example: self-correcting loop for RAG (#6420)
* add example

* docstrings

* reno

* use condrouter

* move functions

* tests

* reno

* add component

* reno

* add tests

* mypy

* pylint

* logger

* module name

* multiplexer

* draw

* query_multiplexer

* reno

* typo
2023-12-20 11:35:05 +01:00
ZanSara
5a68bb10c1
add doc config for others module (#6604) 2023-12-20 11:34:54 +01:00
ZanSara
5a0f0ce22f
feat: Multiplexer (#6592)
* move functions

* tests

* reno

* add component

* reno

* add tests

* mypy

* pylint

* logger

* module name
2023-12-20 11:03:22 +01:00
Silvano Cerza
e836fd6875
fix: Fix Pipeline.connect() when multiple compatible sockets are found (#6594)
* Fix connect not picking the correct socket

* Add release notes
2023-12-20 11:01:18 +01:00
Silvano Cerza
f224f991be
Change DocumentWriter default policy from DuplicatePolicy.FAIL to DuplicatePolicy.NONE (#6596) 2023-12-19 17:46:16 +01:00
ZanSara
f877704839
chore: extract type serialization (#6586)
* move functions

* tests

* reno
2023-12-19 14:16:20 +01:00
Vladimir Blagojevic
2dd5a94b04
feat: Add RAG based OpenAPI service integration (#6555)
* Add OpenAPIServiceConnector and OpenAPIServiceToFunctions

* Add release note

* Add test deps

* Better docs on OpenAPI spec reqs, improve tests

* Silvano PR feedback
2023-12-19 13:27:41 +01:00
Stefano Fiorucci
94cfe5d9ae
feat!: HTMLToDocument - allow choosing the boilerpy3 extractor (#6582)
* allow extractor customizability

* release note

* typo
2023-12-19 10:52:12 +01:00
Sebastian Husch Lee
dcf37c5173
feat: Extractive QA answer deduplication (#6459)
* Add answer deduplication

* Fix test

* Handle None case

* Release notes

* Handle cases where documents or answer spans could be None

* Adding checks for Nones and satisfying mypy

* Add option to turn off deduplication

* Adding unit tests

* Refactored tests to use fixtures

* Added overlap_threshold to run

* Update test

* Fixes related to the merge

* Remove casting, use direct variable names

* Move out if statement and add new test for it

* Update if statement to match comment

* Update how if statements work
2023-12-18 19:27:04 +01:00
Sebastian Husch Lee
c294b8ac8c
feat: Add auto device checks and model_kwargs to TransformersSimilarityRanker (#6561)
* Add device checking and model_kwargs like we do in ExtractiveReader

* Add release notes

* Make a utility function for the device checking

* Better warning message and updated ExtractiveReader to use the util function

* Add unit tests for get_device

* Fix pylint
2023-12-18 15:13:42 +01:00
Ashwin Mathur
46b395eec3
feat: Add Eval and EvaluationResult (#6505)
* Add initial implementation for Eval and EvaluationResult

* Add release notes

* Update files with suggestions from review

* Remove serialization

* Add eval e2e tests

* Update eval e2e tests
2023-12-18 11:29:09 +01:00
Sebastian Husch Lee
3e0e81b1e0
feat: Add meta_fields_to_embed to TransformersSimilarityRanker (#6564)
* Add initial implementation following SentenceTransformersDocumentEmbedder

* Add test for embedding metadata

* Add release notes

* Update name

* Fix tests and to dict

* Fix release notes
2023-12-18 11:28:16 +01:00
Massimiliano Pippi
0ac1bdc6a0
refactor!: uniform run api for LocalWhisperTranscriber (#6542)
* uniform run api for LocalWhisperTranscriber

* add relnote

* fix linter
2023-12-18 10:47:46 +01:00
Massimiliano Pippi
00fed32024
build: depend on haystack_bm25 instead of rank_bm25 (#6578)
* use the forked package

* switch package dependency

* relnote

* fix package name
2023-12-18 10:47:15 +01:00
Massimiliano Pippi
4fdbcfaf56
bump version (#6569) v2.0.0-beta.3 2023-12-15 17:54:39 +01:00
Massimiliano Pippi
3b4c461bfc
use the right version (#6568) 2023-12-15 17:48:12 +01:00
Stefano Fiorucci
f583102932
docs: Converters - add usage examples (#6556)
* standardize converters inputs: first draft

* fix precommit

* fix precommit 2

* fix precommit 3

* add default for optional param

* rm leftover

* install boilerpy in linting workflow

* add boilerpy3 to the core dependencies

* add reno

* remove boilerpy3 installation from test workflow

* fix pylint: import order and unused import

* fix import order

* add release note

* better Tika docstring

* rm boilerpy from linting

* leftover

* first impl for html

* progressing on other components

* fix test

* add tests - run with meta

* release note

* reintroduce patches wrongly deleted

* add patch in test

* fix tika test

* add usage examples

---------

Co-authored-by: Massimiliano Pippi <mpippi@gmail.com>
Co-authored-by: Julian Risch <julian.risch@deepset.ai>
2023-12-15 17:06:21 +01:00
Stefano Fiorucci
2f034d3c97
refactor!: Converters - standardize inputs (#6540)
* standardize converters inputs: first draft

* fix precommit

* fix precommit 2

* fix precommit 3

* add default for optional param

* rm leftover

* install boilerpy in linting workflow

* add boilerpy3 to the core dependencies

* add reno

* remove boilerpy3 installation from test workflow

* fix pylint: import order and unused import

* fix import order

* add release note

* better Tika docstring

* rm boilerpy from linting

* leftover

* md link brackets

* feat: Converters - allow passing `meta` in the `run` method (#6554)

* first impl for html

* progressing on other components

* fix test

* add tests - run with meta

* release note

* reintroduce patches wrongly deleted

* add patch in test

* fix tika test

* Update haystack/components/converters/azure.py

Co-authored-by: Massimiliano Pippi <mpippi@gmail.com>

---------

Co-authored-by: Massimiliano Pippi <mpippi@gmail.com>

* Update releasenotes/notes/converters-standardize-inputs-ed2ba9c97b762974.yaml

Co-authored-by: Silvano Cerza <3314350+silvanocerza@users.noreply.github.com>

* simplify test

---------

Co-authored-by: Massimiliano Pippi <mpippi@gmail.com>
Co-authored-by: Julian Risch <julian.risch@deepset.ai>
Co-authored-by: Daria Fokina <daria.fokina@deepset.ai>
Co-authored-by: Silvano Cerza <3314350+silvanocerza@users.noreply.github.com>
2023-12-15 16:41:35 +01:00
Stefano Fiorucci
cf47abdff5
chore: simplify the management of test dependencies (#6559)
* remove audio dep group

* extract dependencies

* beautify

* rm one step
2023-12-15 16:40:41 +01:00
Massimiliano Pippi
ae1f39a76e
custom release creator for beta versions (#6552) 2023-12-15 16:27:41 +01:00
dependabot[bot]
8ea891f357
chore(deps): bump actions/upload-artifact from 3 to 4 (#6565)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3 to 4.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  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>
2023-12-15 16:14:07 +01:00
Vladimir Blagojevic
c642695ec0
feat: Add FileTypeRouter markdown support (#6551)
* Add FileTypeRouter markdown support

* Add releae note
2023-12-14 16:30:57 +01:00