3174 Commits

Author SHA1 Message Date
Massimiliano Pippi
ce07ba3b72
Update labeler.yml (#6440) 2023-11-29 09:22:27 +01:00
Silvano Cerza
c800f74d0c Bump version to v2.0.0-alpha.2 v2.0.0-alpha.2 2023-11-28 12:31:45 +01:00
Silvano Cerza
831d0611d9
feat: Change default DuplicatePolicy in DocumentStore.write_documents() (#6438)
* Change default DuplicatePolicy in DocumentStore.write_documents()

* Add release notes
2023-11-28 12:30:17 +01:00
Massimiliano Pippi
00e1dd6eb8
chore: rearrange the core package, move tests and clean up (#6427)
* rearrange code

* fix tests

* relnote

* merge test modules

* remove extra

* rearrange draw tests

* forgot

* remove unused import
2023-11-28 09:58:56 +01:00
Silvano Cerza
9a7fd6f2ce
refactor: Add new filters tests for Document Store testing (#6428)
* Add new filters tests for Document Store testing

* Add release notes
2023-11-28 09:57:08 +01:00
Silvano Cerza
373e1d6172
ci: Fix mypy failures in CI (#6429)
* Fix mypy failures in CI

* Trigger for testing

* Revert "Trigger for testing"

This reverts commit e5d9246df805b3bf2aa845b7f737610cf779a7ad.
2023-11-27 19:09:28 +01:00
Julian Risch
c3a5d0d32f
docs: Add indexing example (#6412)
* docs: Add indexing example

* use Path for current directory
2023-11-27 18:44:44 +01:00
Massimiliano Pippi
011e32ebdf
chore: merge canals into Haystack codebase (#6422)
* Ignore some mypy errors

* Fix I/O comparator

* Avoid calling asdict multiple times when comparing dataclasses

* Enhance component tests

* Fix I/O dataclasses comparison

* Use Any instead of type when expecting I/O dataclasses

* Fix mypy

* Change InputSocket taken_by field to sender

* Remove variadics implementation

* Adapt tests

* Enhance docs and simplify run

* Remove useless check on drawing

* Add __canals_optional_inputs__ field in components

* Rework a bit Pipeline._ready_to_run()

* Simplify some logic

* Add __canals_mandatory_inputs__ field in components

* Handle pipeline loops

* Fix tests

* Document component state run logic

* Add double loop pipeline test

* Make component decorator a class

* PR feedback

* Add error logging when registering Component with identical names

* Add 'remove' action that removes current component from Pipeline run input queue

* Simplify run checks and logging

* Better logging

* Apply suggestions from code review

Co-authored-by: ZanSara <sara.zanzottera@deepset.ai>

* Trim whitespace

* Add support for Union in Component's I/O

* Remove dependencies section in marshaled pipelines

* Create Component Protocol

* simpler optional deps

* Simplify component init wrapping and fix issue with save_init_params

* Update canals/pipeline/save_load.py

Co-authored-by: ZanSara <sara.zanzottera@deepset.ai>

* Simplify functions to find I/O sockets

* Fix import

* change import

* testing ci

* testing ci

* Simplify _save_init_params

* testing ci

* testing ci

* use direct pytest call

* trying to force old version for macos

* list macos versions

* list macos versions

* disable on macos

* remove extra

* refactor imports

* re-enable some logs

* some more tests

* small correction

* Remove unused leftover methods

* docs

* update docstring

* mention optionals

* example for dataclass initialization

* missed part

* fix api docs

* improve error reporting and testing

* add tests for Any

* parametrized tests

* fix test for py<3.10

* test type printing

* remove typing. prefix from Any (compat with Py3.11)

* test helpers

* test names

* add type_is_compatible()

* tests pass

* more tests

* add small comment

* handle Unions as anything else

* use sender/receiver for socket pairs

* more sender/receiver renames

* even more renames

* split if statement

* Update __about__.py

* fix logic operator and add tests

* Update __about__.py

* Simplify imports

* Move draw in pipeline module and clearly define public interface

* Format pyproject.toml

* Include only required files in built wheel

* Move sample components out of tests

* stub component class decorator

* update static sample components to new API

* stub

* dynamic output examples

* sum

* add components fixed

* re-add inputsocket and outputsocket creation

* fix component tests

* fixing tests

* Add methods to set I/O dinamically

* fix drawing

* fix some integration tests

* tests green

* pylint

* remove stray files

* Remove default in InputSocket and add is_optional field

* Fix drawing

* Rework sockets string representation

* Add back Component Protocol

* Simplify method to get string representation of types

* Remove sockets __str__

* Remove Component's I/O type checks at run time

* Remove IO check in init wrapper

* Update canals/utils.py

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

* Split __canals_io__ field in __canals_input__ and __canals_output__

* Order input and output fields

* Add test to verify __canals_component__ is set

* Remove empty line

* Add component class factory

* Fix API docs workflow failure

* fix api docs

* Update __about__.py

* Add component from_dict and to_dict methods

* Add Pipeline to_dict and from_dict

* Fix components tests

* Add some more tests

* Change error messages

* Simplify test_to_dict

* Add max_loops_allowed in test_to_dict

* Test non default max_loops_allowed in test_to_dict

* Rework marshal_pipelines

* Rework unmarshal_pipelines

* Rename some stuff

* allow falsy outputs

* apply falsy fix to validation

* add test for falsy inputs

* Split _cleanup_marshalled_data into two functions

* Use from_dict to deserialise component

* Remove commented out code and update variable name

* Add test to verify difference when unmarshaling Pipeline with duplicate names

* Update marshal_pipelines docstring

* update workflow

* exclude tests from mypy in pre-commit hooks

* add additional falsy tests

* remove unnecessary import

* split test into two

Co-authored-by: ZanSara <sara.zanzottera@deepset.ai>

* remove init_parameters decorator and fix assumptions

* fix accumulate

* stray if

* Bump version to 0.5.0

* Implement generic default_to_dict and default_from_dict

* Update default_to_dict docstring

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

* Remove all mentions of Component.defaults

* Add Remainder to_dict and from_dict (#91)

* Add Repeat to_dict and from_dict (#92)

* Add Sum to_dict and from_dict (#93)

* Add Greet to_dict and from_dict (#89)

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

* Rework Accumulate to_dict and from_dict (#86)

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

* Add to_dict and from_dict for Parity, Subtract, Double, Concatenate (#87)

* Add Concatenate to_dict and from_dict

* Add Double to_dict and from_dict

* Add Subtract to_dict and from_dict

* Add Parity to_dict and from_dict

---------

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

* Change _to_mermaid_text to use component serialization data (#94)

* Add MergeLoop to_dict and from_dict (#90)

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

* Add Threshold to_dict and from_dict (#97)

* Add AddFixedValue to_dict and from_dict (#88)

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

* Remove BaseTestComponent (#99)

* Change @component decorator so it doesn't add default to_dict and from_dict (#98)

* Rename some classes in tests to suppress Pytest warnings (#101)

* Check Component I/O socket names are valid (#100)

* Remove handling of shared component instances on Pipeline serialization (#102)

* Fix docs

* Bump version to 0.6.0

* Revert "Check Component I/O socket names are valid (#100)" (#103)

This reverts commit 4529874b562d12331ee2f4fde926ef5b5e3d24d7.

* Bump canals to 0.7.0

* Downgrade log from ERROR to DEBUG (#104)

* Make to/from_dict optional (#107)

* remove from/to dict from Protocol

* use a default marshaller

* example component with no serializers

* fix linting

* make it smarter

* fix linting

* thank you mypy protector of the dumb programmers

* feat: check returned dictionary (#106)

* better error message if components don't return dictionaries

* add test

* use factory

* needless import

* Update __about__.py

* fix default serialization and adjust sample components accordingly (#109)

* fix default serialization and adjust sample components accordingly

* typo

* fix pylint errors

* fix: `draw` function vs init parameters (#115)

* fix draw

* stray print

* Update version (#118)

* remove extras

* Revert "remove extras"

This reverts commit a096ff8f07bdcb6e54ec8457bcfad5db44d8bf03.

* fix package name, change _parse_connection_name function name, add tests (#126)

* move sockets into components package (#127)

* chore: remove extras (#125)

* remove extras

* workflow

* typo

* fix: Sockets named "text/plain" or containing a "/" fail during pipeline.to_dict (#131)

* don't split sockets by /

* revert hashing edge keys

* docs: remove missing module from docs (#132)

* remove stray print (#123)

* addo sockets docs (#133)

* tidy up utils about types (#129)

* Update canals.md (#134)

* rename module in API docs

* make `__canals_output__` and `__canals_input__` management consistent  (#128)

* make __canals_output__ and __canals_input__ management consistent and assign them to the component instance

* make pylint happy

* return the original type instead of the metaclass

* use type checking instead of instance field

* declare the actual returned type

* fix after conflict resolution

* remove check

* Do not use a dict as intermediate format and use `Socket`s directly (#135)

* do not use a dict as intermediate format and use sockets directly to simplify code and remove side effects

* fix leftover from cherry-pick

* move is_optional evaluation for InputSocket to post_init (#136)

* re-introduce variadics to support Joiner node (#122)

* move sockets into components package

make __canals_output__ and __canals_input__ management consistent and assign them to the component instance

do not use a dict as intermediate format and use sockets directly to simplify code and remove side effects

move is_optional evaluation for InputSocket to post_init

re-introduce variadics to support Joiner node

restore connection-time check

use custom type annotation, fix tests

* fix leftovers from rebase

* rename fan-in to joiner

* clean up and fix typing

* let inputs arrive later

* address review comments

* address review comments

* fix docstrings

* try

* try

* fix run input

* linting

* remove comments

* fix pylint

* bumb version to 0.9.0 (#140)

* properly annotate classmethods (#139)

* feat: add `Pipeline.inputs()` (#120)

* add Pipeline.describe_input()

* add tests

* split dict and str outputs and add to error messages

* tests

* accepts/expects

* move methods

* fix tests

* fix module name

* tests

* review feedback

* Add missing typing_extensions dependency (#152)

* feat: use full connection data to route I/O (#148)

* fix sample components

* make sum variadic

* separate queue and buffer

* all works but loops & variadics together

* fix some tests

* fix some tests

* all tests green

* clean up code a bit

* refactor code

* fix tests

* fix self loops

* fix reused sockets bug

* add distinct loops

* add distinct loops test

* break out some code from run()

* docstring

* improve variadics drawing

* black

* document the deepcopy

* re-arrange connection dataclass and add tests

* consumer -> receiver

* fix typing

* move Connection-related code under component package

* clean up connect()

* cosmetics and typing

* fix linter, make Connection a dataclass again

* fix typing

* add test case for #105

---------

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

* feat: Add Component inputs/outputs functions (#158)

* Add component inputs/outputs methods

* Different impl approach

* Black fixes

* Rename functions to match naming in pipeline inputs/ouputs

* Fix find_component_inputs, update unit tests (#162)

* Fix API docs (#164)

* make Variadic wrap an iterable (#163)

* Add pipeline outputs method (#150)

Co-authored-by: ZanSara <sara.zanzottera@deepset.ai>

* Update __about__.py (#165)

Update version to 0.10.0

* add CODEOWNERS

* feat: read defaults from `run()` signature (#166)

* Read defaults from run signature

* simplify setting of sockets

* fix test

* Update sample_components/fstring.py

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

* Update canals/component/component.py

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

* dostring

---------

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

* Use full import path as 'type' in serialization.  (#167)

* Use full import path as 'type' in serialization. Try to import the path when deserializing

* fix test data

* add from_dict test

* remove leftover

* Update canals/pipeline/pipeline.py

Co-authored-by: ZanSara <sara.zanzottera@deepset.ai>

* add error message to PipelineError

---------

Co-authored-by: ZanSara <sara.zanzottera@deepset.ai>

* bump version

* fix: copy input values before passing them down pipeline.run (#168)

* copy input values before passing them down pipeline.run

* Update test_mutable_inputs.py

* fix mypy and pyright (#169)

* bump version

* remove data we won't keep

* reformat

* try

* skip tests on transient code

---------

Co-authored-by: Silvano Cerza <silvanocerza@gmail.com>
Co-authored-by: Silvano Cerza <3314350+silvanocerza@users.noreply.github.com>
Co-authored-by: ZanSara <sara.zanzottera@deepset.ai>
Co-authored-by: Michel Bartels <login@michelbartels.com>
Co-authored-by: ZanSara <sarazanzo94@gmail.com>
Co-authored-by: Julian Risch <julianrisch@gmx.de>
Co-authored-by: Julian Risch <julian.risch@deepset.ai>
Co-authored-by: Vladimir Blagojevic <dovlex@gmail.com>
2023-11-27 15:16:35 +01:00
Silvano Cerza
db759b0717
Add black step when testing examples (#6425) 2023-11-27 15:01:33 +01:00
Malte Pietsch
09b4f53ce5
docs: Add example for loop in pipeline to autocorrect JSON (#6418)
* add example for pipeline loop

* add pydantic to CI

* Fix comment

---------

Co-authored-by: Stefano Fiorucci <44616784+anakin87@users.noreply.github.com>
2023-11-27 13:29:16 +01:00
Silvano Cerza
892625a6c7
ci: Add back workflows that runs in place of linting.yml and tests.yml (#6421)
* Add back workflow that runs in place of linting.yml

* Add back workflow that runs in place of tests.yml
2023-11-27 13:18:47 +01:00
Silvano Cerza
8bfaf0a56a
ci: Add catch-all job in tests.yml (#6419)
* Add catch-all job in tests.yml

* Trigger for testing

* Remove trigger for testing
2023-11-27 12:57:33 +01:00
Massimiliano Pippi
5a256df7cb
use different token v2.0.0-alpha.1 2023-11-24 17:41:32 +01:00
Massimiliano Pippi
d16ec87afb
bump version 2023-11-24 17:03:40 +01:00
Massimiliano Pippi
aeb5708585
Update README.md (#6408) 2023-11-24 16:21:19 +01:00
Silvano Cerza
9338de1790 Add missing tests workflow dependency 2023-11-24 16:00:59 +01:00
Massimiliano Pippi
9a8bef63c9
move snippets up one folder 2023-11-24 15:54:23 +01:00
Massimiliano Pippi
763d2d8e4c
remove rest_api 2023-11-24 15:49:54 +01:00
Massimiliano Pippi
d3ab8afede
clean up labeller 2023-11-24 15:30:06 +01:00
Massimiliano Pippi
4a1fe163b6
fix names in workflows 2023-11-24 14:59:31 +01:00
Silvano Cerza
e6637f5ec2 Fix all tests 2023-11-24 14:48:43 +01:00
Massimiliano Pippi
bbb6025e89
update package name 2023-11-24 12:14:43 +01:00
Massimiliano Pippi
ea1e3f588b
Update dependencies list
---------

Co-authored-by: Silvano Cerza <silvanocerza@gmail.com>
2023-11-24 12:09:47 +01:00
Massimiliano Pippi
8adb8bbab8
Remove preview folder in test/
---------

Co-authored-by: Silvano Cerza <silvanocerza@gmail.com>
2023-11-24 11:52:55 +01:00
Massimiliano Pippi
f71e11c717
Removed preview package
---------

Co-authored-by: Silvano Cerza <silvanocerza@gmail.com>
2023-11-24 11:49:41 +01:00
Massimiliano Pippi
09e7831f60
clean up 1.x code
---------

Co-authored-by: Silvano Cerza <silvanocerza@gmail.com>
2023-11-24 11:47:47 +01:00
Silvano Cerza
fd16ec63cb
refactor: Add support for new filters declaration (#6397)
* Rework filter logic for InMemoryDocumentStore to support new filters
declaration

* Fix legacy filters tests

* Simplify logic and handle dates comparison

* Rework MetadataRouter to support new filters

* Update docstrings

* Add release notes

* Fix linting

* Avoid duplicating filters specifications

* Handle corner case

* Simplify docstring

* Fix filters logic and tests

* Fix Document Store testing legacy filters tests
2023-11-24 11:22:46 +01:00
SebastjanPrachovskij
28c2b09d90
Add SearchApi integration for websearch (#6400) 2023-11-24 11:18:43 +01:00
Agnieszka Marzec
27cf8ee4ff
Docs: Update Reader's doc strings (#6312)
* Update doc strings

* Add warm_up docs, fix margins

---------

Co-authored-by: Vladimir Blagojevic <dovlex@gmail.com>
2023-11-24 11:07:02 +01:00
Stefano Fiorucci
b850b36a4b
fix: Cohere - better handling of COHERE_API_URL (#6407)
* extract API URL from lazy import

* improve solution
2023-11-24 10:58:46 +01:00
ZanSara
c45d8c39c7
fix: make ExtractiveReader handle situations where token_to_chars returns None instead of a (start, end) tuple (#6382)
* fix reader bug

* add test

* log

* fix logging

* improve error message
2023-11-24 09:08:56 +01:00
ZanSara
f3b73030a1
Fix wrong import in cohere.py and change model to model_name for consistency (#6405)
* Fix wrong import in `cohere.py`

* model -> model_name

* fix tests too

* black

* typo

* typo
2023-11-23 19:54:50 +01:00
Stefano Fiorucci
fdae81eee8
add pptx to API reference (#6404) 2023-11-23 18:02:31 +01:00
pandasar13
edb40b6c1b
refactor: add batch_size to FAISS __init__ (#6401)
* refactor: add batch_size to FAISS __init__

* refactor: add batch_size to FAISS __init__

* add release note to refactor: add batch_size to FAISS __init__

* fix release note

* add batch_size to docstrings

---------

Co-authored-by: anakin87 <stefanofiorucci@gmail.com>
2023-11-23 17:27:24 +01:00
ZanSara
4ec6a60a76
feat: CohereGenerator (#6395)
* added CohereGenerator with unit tests

Signed-off-by: sunilkumardash9 <sunilkumardash9@gmail.com>

* 1. added releasenote
2. removed commented files in test-cohere_generators
3. removed unused imports

Signed-off-by: sunilkumardash9 <sunilkumardash9@gmail.com>

* 1. move client creation to __init__
2. remove dict casting of metadata in run

Signed-off-by: sunilkumardash9 <sunilkumardash9@gmail.com>

* few fixes

Signed-off-by: sunilkumardash9 <sunilkumardash9@gmail.com>

* add cohere to git workflows

Signed-off-by: sunilkumardash9 <sunilkumardash9@gmail.com>

* 1. CohereGenerator as top level import in generators
2. small change in doc string

Signed-off-by: sunilkumardash9 <sunilkumardash9@gmail.com>

* 1. corrected git workflow files for cohere import
2. changed api key env var from CO_API_KEY to COHERE_API_KEY

Signed-off-by: sunilkumardash9 <sunilkumardash9@gmail.com>

* added cohere in missed out workflow installs

Signed-off-by: sunilkumardash9 <sunilkumardash9@gmail.com>

* 1. Removed default_streaming_callback from cohere.py and added in test.
2. Added kwargs doc strings for CohereGenerator
3. removed type hints for metadata and replies
4. use COHERE_API_URL instead of hard coded URL.

Signed-off-by: sunilkumardash9 <sunilkumardash9@gmail.com>

* Update haystack/preview/components/generators/cohere/cohere.py

Co-authored-by: Daria Fokina <daria.f93@gmail.com>

* Update haystack/preview/components/generators/cohere/cohere.py

Co-authored-by: Daria Fokina <daria.f93@gmail.com>

* Update haystack/preview/components/generators/cohere/cohere.py

Co-authored-by: Daria Fokina <daria.f93@gmail.com>

* Update haystack/preview/components/generators/cohere/cohere.py

Co-authored-by: Daria Fokina <daria.f93@gmail.com>

* Update haystack/preview/components/generators/cohere/cohere.py

Co-authored-by: Daria Fokina <daria.f93@gmail.com>

* move out of folder

* black

* fix tests

* feedback

* black

* remove api key from tests

* read api key from env var if missing

* typo

* black

* missing import

---------

Signed-off-by: sunilkumardash9 <sunilkumardash9@gmail.com>
Co-authored-by: sunilkumardash9 <sunilkumardash9@gmail.com>
Co-authored-by: Daria Fokina <daria.f93@gmail.com>
2023-11-23 17:21:07 +01:00
Julian Risch
67780a62d5
test: Add end-to-end test for dense doc search 2.0 (#6102)
* draft e2e test for dense doc search

* fix import path

* add DocumentJoiner

* update converter import; fix getting filled doc store

* add text embedder

* add sample txt and pdf for preview e2e tests

* run the query pipeline before serializing

* define samples path

---------

Co-authored-by: Stefano Fiorucci <44616784+anakin87@users.noreply.github.com>
Co-authored-by: ZanSara <sara.zanzottera@deepset.ai>
2023-11-23 16:59:02 +01:00
jlonge4
c44e2cf49b
feat: add microsoft pptx file converter (#6399)
* Create pptx.py

* feat: pptx converter import __init__.py

* feat: add pptx import __init__.py

* feat: add python-pptx dependency

* feat: add sample pptx for testing

* feat: add pptx file-converter test

* feat: release note pptx-file-converter-3e494d2747637eb2.yaml

* feat: Update releasenotes/notes/pptx-file-converter-3e494d2747637eb2.yaml

Co-authored-by: Stefano Fiorucci <44616784+anakin87@users.noreply.github.com>

* feat: refactor haystack/nodes/file_converter/pptx.py

Co-authored-by: Stefano Fiorucci <44616784+anakin87@users.noreply.github.com>

* fix imports

---------

Co-authored-by: Stefano Fiorucci <44616784+anakin87@users.noreply.github.com>
2023-11-23 16:46:41 +01:00
Silvano Cerza
604b177788
chore: Remove pydoc-markdown from dev dependencies (#6398)
* Remove pydoc-markdown from dev dependencies

* Remove fastapi pin in rest_api
2023-11-23 15:59:41 +01:00
Stefano Fiorucci
b0b514778d
fix!: make PyPDFToDocument JSON-serializable (#6396)
* add registry

* release not

* add checks

* rm superflous check

* fix typo

* rm print :-)
2023-11-23 15:37:20 +01:00
Ben Heckmann
a492771b4d
feat: PreProcessor split by token (tiktoken & Hugging Face) (#5276)
* #4983 implemented split by token for tiktoken tokenizer

* #4983 added unit test for tiktoken splitting

* #4983 implemented and added a test for splitting documents with HuggingFace tokenizer

* #4983 added support for passing HF model names (instead of objects) and added an example to the HF token splitting test

* mocked HTTP model loading in unit tests, fixed pylint error

* fix lossy tokenizers splitting, use LazyImport, ignore UnicodeEncodeError for tiktoken

* reno

* rename reno file

---------

Co-authored-by: Stefano Fiorucci <44616784+anakin87@users.noreply.github.com>
Co-authored-by: ZanSara <sara.zanzottera@deepset.ai>
2023-11-23 12:26:37 +01:00
Vladimir Blagojevic
e04a1f16bb
feat: Add DynamicPromptBuilder to Haystack 2.x (#6328)
* Add DynamicPromptBuilder

* Improve pydocs, add unit tests

* Add release note

* Make expected_runtime_variables optional

* Add pydocs usage example

* Add more pydocs

* Remove test markers

* Update type in unit test

* Update after canals upgrade

* add to api ref

* docstrings updates

* Update test/preview/components/builders/test_dynamic_prompt_builder.py

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

* Update haystack/preview/components/builders/dynamic_prompt_builder.py

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

* Deparametrize init test

* Rename expected_runtime_variables to runtime_variables

* Rephrase docstring so meaning is clearer

---------

Co-authored-by: Darja Fokina <daria.f93@gmail.com>
Co-authored-by: Daria Fokina <daria.fokina@deepset.ai>
Co-authored-by: Silvano Cerza <3314350+silvanocerza@users.noreply.github.com>
Co-authored-by: Silvano Cerza <silvanocerza@gmail.com>
2023-11-23 11:41:57 +01:00
Vladimir Blagojevic
e57a593d2e
fix: Revert back to straightforward PromptBuilder (#6335)
* Revert back to simple PromptBuilder

* Updating to full typing
2023-11-23 11:34:06 +01:00
Silvano Cerza
3e79de7043
ci: Add workflow to test code snippets (#6364)
* initial

* Add workflow to test code snippets

---------

Co-authored-by: Timo Möller <timo.moeller@deepset.ai>
Co-authored-by: Massimiliano Pippi <mpippi@gmail.com>
2023-11-23 11:26:53 +01:00
Timo Moeller
b34c35d982
initial (#6355) 2023-11-23 10:32:54 +01:00
Vladimir Blagojevic
cfff0d5212
Rename file_converters to converters (#6390) 2023-11-23 10:28:40 +01:00
Vladimir Blagojevic
b557f3035e
feat: Add ConditionalRouter Haystack 2.x component (#6147)
Co-authored-by: Massimiliano Pippi <mpippi@gmail.com>
Co-authored-by: Daria Fokina <daria.fokina@deepset.ai>
2023-11-23 10:28:08 +01:00
Massimiliano Pippi
70e40eae5c
fix: fix type hints on DocumentStore protocol (#6383)
* fix type hints

* disable specific pylint checker
2023-11-23 09:14:08 +01:00
Stefano Fiorucci
e91f7a8a4d
refactor!: improve the public interface of Generators (#6374)
* merge lazy import blocks

* refactor generators

* release note

* revert unrelated changes
2023-11-22 10:40:48 +01:00
ZanSara
b751978d65
Extends input types of RemoteWhisperTranscriber (#6218)
* fix tests

* reno

* tests

* retain file name

* paths are strings for openai sdk

* streams->sources

* feedback

* always add name to file

* mypy

* test placeholder with extension

* fallback

* paths

* path test

* path must be a string

* fix test
2023-11-22 09:57:45 +01:00
Ashwin Mathur
e6c8374562
feat: Add ByteStream metadata and other metadata to Documents created by HTMLToDocument (#6304)
* Refactor HTMLToDocument

* Add release notes

* Add additional tests

* remove progress bar

* Add additional test for metadata

* remove progress bar from release notes

* Update tests

* Use truthiness checks instead of is not None
2023-11-21 21:44:02 +01:00