Arseniy Shkunkov
bac29d9337
feat: add run_async for HuggingFaceAPITextEmbedder ( #9204 )
...
* Initial commit
* adding release notes
* adding async integrations tests
---------
Co-authored-by: David S. Batista <dsbatista@gmail.com>
2025-04-10 11:44:40 +02:00
Sebastian Husch Lee
7bb9c6934b
fix: Set messages in state_schema at init time of Agent ( #9195 )
...
* Fix issue and set messages in state_schema at init time
* Add reno
* Small changes and add more tests for state
* Add comment
* PR comments
2025-04-10 06:39:17 +00:00
Sebastian Husch Lee
6dbc1ff27b
enhancement: Add attributes to PipelineRuntimeError ( #9182 )
...
* Start refactoring PipelineRuntimeError
* Slight change
* Fix test and remove test that had no asserts
* Change back to pipeline runtime error
* PR comments
* Add reno
* PR comments
* Update test
2025-04-09 08:18:50 +02:00
Stefano Fiorucci
45cd6f43d6
feat: make AzureOpenAIDocumentEmbedder inherit from OpenAIDocumentEmbedder - async support ( #9189 )
...
* feat: make AzureOpenAIDocumentEmbedder inherit from OpenAIDocumentEmbedder - async support
* fix type
* rm unused import
* do not replace newlines
* fix test
2025-04-08 12:51:45 +02:00
Stefano Fiorucci
6f4e70050f
feat: make AzureOpenAITexttEmbedder inherit from OpenAITextEmbedder - async support ( #9188 )
...
* draft
* updates
* relnote
2025-04-08 12:51:34 +02:00
Vladimir Blagojevic
2665d048b8
chore: Rename deserialize_tools_inplace -> deserialize_tools_or_toolset_inplace ( #9190 )
...
* Rename deserialize_tools_inplace -> deserialize_tools_or_toolset_inplace
* Add reno note
2025-04-08 10:45:17 +02:00
Francesco Nuzzo
c539ffa4c3
feat: add run_async for OpenAITextEmbedder ( #9084 )
...
* feat: add run_async for OpenAITextEmbedder
* fix: typing
* fix: avoid replacing newlines with spaces.
Also fix kwargs "input" field to include prefix and suffix
* ci: add release notes
* expand release notes; unit tests
---------
Co-authored-by: Vladimir Blagojevic <dovlex@gmail.com>
Co-authored-by: Michele Pangrazzi <xmikex83@gmail.com>
Co-authored-by: anakin87 <stefanofiorucci@gmail.com>
2025-04-08 07:20:10 +00:00
Stefano Fiorucci
f6fceb1b56
refactor: reorganize Tool serde utility functions ( #9185 )
...
* refactor: reorganize Tool serde utility functions
* license header
* rm unused import
* HF local update
2025-04-08 08:09:54 +02:00
Vladimir Blagojevic
e1e797206d
feat: Add Toolset support in ChatGenerator(s) ( #9177 )
...
* Add Toolset support in ChatGenerator(s)
* Add reno note
* Update azure test
* Updates
* Minor fix
* Add more tests
* Remove some integration tests
* PR feedback
* rm unused fixture
---------
Co-authored-by: anakin87 <stefanofiorucci@gmail.com>
2025-04-07 14:12:09 +00:00
Vladimir Blagojevic
c81d68402c
feat: Add Toolset to tooling architecture ( #9161 )
...
* Add Toolset abstraction
* Add reno note
* More pydoc improvements
* Update test
* Simplify, Toolset is a dataclass
* Wrap toolset instance with list
* Add example
* Toolset pydoc serde enhancement
* Toolset as init param
* Fix types
* Linting
* Minor updates
* PR feedback
* Add to pydoc config, minor import fixes
* Improve pydoc example
* Improve coverage for test_toolset.py
* Improve test_toolset.py, test custom toolset serde properly
* Update haystack/utils/misc.py
Co-authored-by: Stefano Fiorucci <stefanofiorucci@gmail.com>
* Rework Toolset pydoc
* Another minor pydoc improvement
* Prevent single Tool instantiating Toolset
* Reduce number of integration tests
* Remove some toolset tests from openai
* Rework tests
---------
Co-authored-by: Stefano Fiorucci <stefanofiorucci@gmail.com>
2025-04-04 16:09:46 +02:00
Mohammed Abdul Razak Wahab
a2f73d134d
feat(embedders): Add async support for OpenAI document embedder ( #9140 )
...
* feat(embedders): Add async support for OpenAI document embedder
* add release notes
* resolve review comments
* Update releasenotes/notes/openai-document-embedder-async-support-b46f1e84043da366.yaml
Co-authored-by: Amna Mubashar <amnahkhan.ak@gmail.com>
* Update openai-document-embedder-async-support-b46f1e84043da366.yaml
---------
Co-authored-by: Amna Mubashar <amnahkhan.ak@gmail.com>
Co-authored-by: Stefano Fiorucci <stefanofiorucci@gmail.com>
Co-authored-by: David S. Batista <dsbatista@gmail.com>
2025-04-04 11:55:59 +00:00
Stefano Fiorucci
c6df8d2c7a
test: monkeypatch OpenAI API key in some unit tests ( #9173 )
2025-04-04 13:33:22 +02:00
Bilge Yücel
d977b262b6
replace all gpt-3.5-turbo with gpt-4o-mini ( #9165 )
2025-04-04 12:07:55 +02:00
Stefano Fiorucci
d1db061058
test: make Azure embedders correctly run on PRs from forks ( #9168 )
2025-04-04 11:16:58 +02:00
Amna Mubashar
dd6ff10d3b
feat: allow OpenAI client config in AzureOpenAI embedders ( #9136 )
...
* Allow OpenAI client config
2025-04-02 16:50:48 +02:00
David S. Batista
108fc3b4a2
test: adding Pipeline component name checks - cannot have . (dot characters) ( #9155 )
...
* adding component name checks + tests
* fixes
2025-04-01 16:45:04 +02:00
Julian Risch
c7bc5b54de
feat: integrate SuperComponent from haystack-experimental ( #9134 )
...
* add SuperComponent with utils and tests
* fix tests, circular imports
* use __all__
* reno and walrus operator
* add InvalidMappingValueError, InvalidMappingTypeError
* add run_async
* add usage example
2025-04-01 14:52:19 +02:00
Sebastian Husch Lee
fce80715e0
feat: Update agent exit condition check ( #9151 )
...
* Update agent to properly check all llm messages instead of just first one
* reno
* fix release note
* PR comments
* Fix unit test
* PR comments
* Updated warning message
2025-04-01 14:51:53 +02:00
Sebastian Husch Lee
d15f1b9043
feat: Add outputs_to_string to Tool and ComponentTool ( #9152 )
...
* Add outputs_to_string to Tool and ComponentTool
* Doc string and fix tests
* Add reno
* Fix mypy
2025-04-01 14:04:50 +02:00
Sebastian Husch Lee
bde2d77df0
feat: Move storing of messages into State in Agent ( #9150 )
...
* Update messages to be stored in State so users can control how they are stored through a handler in the schema
* Fix test
* Add test
* Add reno
* Fix docstring
2025-04-01 11:29:44 +02:00
Julian Risch
f687d49fec
feat: Add option to split by number of tokens to RecursiveDocumentSplitter ( #9143 )
...
* add token split_unit
* fix overlap with fallback
* reno
* mark as integration tests
* use type ignore instead of assert
* Update releasenotes/notes/recursive-splitter-token-df56428887ac45bd.yaml
Co-authored-by: David S. Batista <dsbatista@gmail.com>
---------
Co-authored-by: David S. Batista <dsbatista@gmail.com>
2025-04-01 09:48:59 +02:00
Stefano Fiorucci
b12af1e6a9
chore: use deserialize_chatgenerator_inplace utility function in Agent ( #9149 )
2025-03-31 16:00:59 +00:00
Stefano Fiorucci
adc3dfc5d2
refactor: LLM evaluators - introduce chat_generator init param; deprecate api, api_key and api_params ( #9122 )
...
* start
* progress
* tests for deserialize_chatgenerator_inplace
* progress on llmevaluator + tests
* update context relevance evaluator
* update faithfulness evaluator + tests
* release note
* rm unused import
* rm indentation
2025-03-31 15:35:03 +02:00
Julian Risch
fc33382b48
feat: Agent checks that its chat_generator supports tools ( #9144 )
...
* check that chat_generator run accepts tools
* reno
2025-03-31 14:47:38 +02:00
Julian Risch
c8918e43ba
feat: support multiple exit conditions in Agent and rename init param ( #9132 )
...
* rename to exit_conditions and accept list of str
* reno
* Update haystack/components/agents/agent.py
Co-authored-by: Stefano Fiorucci <stefanofiorucci@gmail.com>
---------
Co-authored-by: Stefano Fiorucci <stefanofiorucci@gmail.com>
2025-03-31 09:02:25 +00:00
Julian Risch
e483ec6f56
feat: integrate Agent from haystack-experimental ( #9112 )
...
* add Agent
* add Agent
* update imports
* add state tests
* reno
* remove State, its utils, and tests
* add pydoc yml for agents
* fix module path in serialization test
* fix mypy error and use ChatGenerator protocol
* remove unused import
* address review feedback
* remove unused _load_component
2025-03-28 14:23:39 +01:00
Stefano Fiorucci
637dcb4599
fix: DALLEImageGenerator - ensure max_retries is correctly set when 0 ( #9131 )
...
* fix: DALLEImageGenerator - ensure max_retries correctly set when 0
* other small fixes
* wording
2025-03-28 14:21:07 +01:00
scara
18367203a8
fix: manage max_retries=0 in AzureOpenAIGenerator, AzureOpenAIChatGenerator, AzureOpenAITextEmbedder, AzureOpenAIDocumentEmbedder ( #9128 )
...
* fix: manage max_retries=0 in AzureOpenAIGenerator and AzureOpenAIChatGenerator
* fix: manage max_retries=0 in AzureOpenAITextEmbedder and AzureOpenAIDocumentEmbedder
2025-03-28 13:11:09 +01:00
Stefano Fiorucci
01957b106a
refactor: use token inSentenceTransformersDiversityRanker ( #9126 )
...
* chore: use token in SASEvaluator and SentenceTransformersDiversityRanker
* directly pass token to CrossEncoder
* restrict scope to SentenceTransformersDiversityRanker
2025-03-28 12:14:11 +01:00
Julian Risch
657d09d7f1
feat: integrate updates of Tool, ToolInvoker, State, create_tool_from_function, ComponentTool from haystack-experimental ( #9113 )
...
* update Tool,ToolInvoker,ComponentTool,create_tool_from_function
* add State and its utils
* add tests for State and its utils
* update tests for Tool etc.
* reno
* fix circular imports
* update experimental imports in tests
* fix unit tests
* fix ChatGenerator unit tests
* mypy
* add State to init and pydoc
* explain State in more detail in release note
* add test from #8913
* re-add _check_duplicate_tool_names and refactor imports
* rename inputs and outputs
2025-03-28 10:49:23 +01:00
Stefano Fiorucci
7135945e01
test: temporarily skip test_to_mermaid_image integration test ( #9121 )
2025-03-27 11:46:20 +00:00
Mohammed Abdul Razak Wahab
54743964fd
Add compatibility checks for Callable types ( #9033 )
...
* Add compatibility checks for Callable types
* add release notes
* Update test_type_utils.py
Fix license header
* Update type_utils.py
Fix license header
---------
Co-authored-by: Michele Pangrazzi <xmikex83@gmail.com>
2025-03-27 11:54:10 +01:00
Stefano Fiorucci
60089d0cbd
chore: remove unused check_generation_params utility function ( #9119 )
2025-03-27 10:32:55 +00:00
Stefano Fiorucci
e4cf460bf6
refactor!: use Chat Generator in LLM evaluators ( #9116 )
...
* use chatgenerator instead of generator
* rename generator to _chat_generator
* rm print
* Update releasenotes/notes/llm-evaluators-chat-generator-bf930fa6db019714.yaml
Co-authored-by: David S. Batista <dsbatista@gmail.com>
---------
Co-authored-by: David S. Batista <dsbatista@gmail.com>
2025-03-26 15:38:56 +01:00
Vladimir Blagojevic
13941d8bd9
feat: LinkContentFetcher - replace requests with httpx, add async and http/2 ( #9034 )
...
* LinkContentFetcher - replace requests with httpx, add async and http/2
* Update haystack/components/fetchers/link_content.py
Co-authored-by: Julian Risch <julian.risch@deepset.ai>
* Update haystack/components/fetchers/link_content.py
Co-authored-by: Julian Risch <julian.risch@deepset.ai>
* PR feedback
* Merge sync and async
---------
Co-authored-by: Julian Risch <julian.risch@deepset.ai>
2025-03-26 14:55:08 +01:00
Julian Risch
e64db61973
feat: include hyperlink addresses in DOCXToDocument output ( #9109 )
...
* add DOCXLinkFormat
* handle page breaks
* add sample docx files
* make no link extraction the default
* reno
* docstring and comment
2025-03-25 13:33:18 +00:00
Stefano Fiorucci
f9cce8bf30
test: skip/remove some Pipeline.draw integration tests ( #9108 )
2025-03-25 13:13:42 +01:00
Stefano Fiorucci
42c9350da1
test: OpenAIChatGenerator - relax async test ( #9111 )
2025-03-25 12:50:57 +01:00
Amna Mubashar
1005a5ec92
enhancement: add detailed error message for failed component run ( #9105 )
...
* Enhance the error message
* Add release note
* Update test_pipeline.py
2025-03-25 12:25:42 +01:00
Stefano Fiorucci
6db8f0a40d
refactor: LLMMetadataExtractor - adopt ChatGenerator protocol: deprecate generator_api, generator_api_params and LLMProvider ( #9099 )
...
* draft
* improvements + tests
* release note
* mypy fixes
* improve relnote
* serialize chat_generator only
* small simplification
* clarify that also LLMProvider is deprecated
* revert from_dict
* test_from_dict_openai_using_chat_generator
2025-03-24 17:38:09 +00:00
Stefano Fiorucci
1c1030efc6
chore: make Haystack warnings consistent ( #9083 )
...
* chore: make Haystack warnings consistent
* more structured logging
* small fixes
2025-03-21 18:18:55 +01:00
Stefano Fiorucci
aa82adf9a2
refactor!: ChatMessage serialization-deserialization updates ( #9069 )
...
* chatmessage serde updates
* improvements and relnotes
* improve relnotes
* simplification
* warning proposal
2025-03-21 11:59:26 +01:00
Stefano Fiorucci
67ab3788ea
test: OpenAIChatGenerator - fix flaky test ( #9075 )
...
Co-authored-by: Amna Mubashar <amnahkhan.ak@gmail.com>
2025-03-20 14:29:07 +00:00
Amna Mubashar
833109900c
fix: improve error message for incorrect component types ( #9066 )
...
* Update error statement
* Add a new test
---------
Co-authored-by: Sebastian Husch Lee <sjrl@users.noreply.github.com>
2025-03-20 13:23:57 +01:00
David S. Batista
be2d1fb303
feat: adding AutoMergingRetriever and HierarchicalDocumentSplitter ( #9067 )
...
* adding Auto-Merging-Retriever
* adding release notes
* updating tests
* adding renamed file
* Update haystack/components/preprocessors/hierarchical_document_splitter.py
Co-authored-by: Stefano Fiorucci <stefanofiorucci@gmail.com>
* Update haystack/components/retrievers/auto_merging_retriever.py
Co-authored-by: Stefano Fiorucci <stefanofiorucci@gmail.com>
* fixing tests and imports
* adding pydoc
* adding to type checking
---------
Co-authored-by: Stefano Fiorucci <stefanofiorucci@gmail.com>
2025-03-19 18:25:23 +00:00
mathislucka
9fbfa9676f
feat: time extension for ChatPromptBuilder ( #9001 )
...
* feat: time extension for ChatPromptBuilder
* chore: release notes
* Fix comment
---------
Co-authored-by: Sebastian Husch Lee <sjrl423@gmail.com>
2025-03-19 15:38:55 +01:00
Amna Mubashar
3c101cdfd6
feat: add split_by_row feature to CSVDocumentSplitter ( #9031 )
...
* Add split by row feature
2025-03-19 12:18:44 +01:00
Sebastian Husch Lee
6f98cc2ac1
refactor: Update how we look for finish_reason ( #9046 )
...
* Update how we look for finish_Reason
* Additional change
* Add unit test and integration test
* Refactor
* Use correct mock
* PR comments
2025-03-17 13:25:00 +01:00
Sebastian Husch Lee
363ac504dc
feat: Add warning to ChatPromptBuilder and PromptBuilder if they have variables, but required_variables is not set ( #9027 )
...
* Add warning to ChatPromptBuilder and PromptBuilder if they have variables, but required variables is not set.
* Add reno
2025-03-12 15:35:19 +01:00
Sebastian Husch Lee
4edefe3e56
Feat: Support Azure Workload Identity Credential ( #9012 )
...
* Start adding support for passing callable to Azure components
* Add to chat version
* Fix test
* Add reno
* Add support to azure doc and text embedder
* Rename
* update llm metadata extractor
* Add tests for text embedder
* Update tests
* Remove unused fixture and import
* Update reno
2025-03-12 13:45:40 +01:00