-
Notifications
You must be signed in to change notification settings - Fork 8
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
afd9f70
commit e8c7687
Showing
1 changed file
with
42 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
--- | ||
title: Haystack 2.5.0 | ||
description: Release notes for Haystack 2.5.0 | ||
toc: True | ||
date: 2024-09-04 | ||
last_updated: 2024-09-04 | ||
tags: ["Release Notes"] | ||
link: https://github.com/deepset-ai/haystack/releases/tag/v2.5.0 | ||
--- | ||
|
||
### ⬆️ Upgrade Notes | ||
|
||
- Removed `ChatMessage.to_openai_format` method. Use `haystack.components.generators.openai_utils._convert_message_to_openai_format` instead. | ||
- Removed unused `debug` parameter from `Pipeline.run` method. | ||
- Removed deprecated `SentenceWindowRetrieval`. Use `SentenceWindowRetriever` instead. | ||
|
||
### 🚀 New Features | ||
|
||
- Extended core component machinery to support an optional asynchronous `async_run` method in components. If it's present, it should have the same parameters (and output types) as the run method and must be implemented as a coroutine. | ||
- Added the unsafe argument to enable behavior that could lead to remote code execution in `ConditionalRouter` and `OutputAdapter`. By default, unsafe behavior is disabled, and users must explicitly set `unsafe=True` to enable it. When unsafe is enabled, types such as `ChatMessage`, `Document`, and `Answer` can be used as output types. We recommend enabling unsafe behavior only when the Jinja template source is trusted. For more information, see the documentation for [`ConditionalRouter`](https://docs.haystack.deepset.ai/docs/conditionalrouter#unsafe-behaviour) and [`OutputAdapter`](https://docs.haystack.deepset.ai/docs/outputadapter#unsafe-behaviour). | ||
- | ||
|
||
### ⚡️ Enhancement Notes | ||
|
||
- Adapts how `ChatPromptBuilder` creates `ChatMessages`. Messages are deep copied to ensure all meta fields are copied correctly. | ||
- The parameter, `min_top_k`, has been added to the `TopPSampler`. This parameter sets the minimum number of documents to be returned when the top-p sampling algorithm selects fewer documents than desired. Documents with the next highest scores are added to meet the minimum. This is useful when guaranteeing a set number of documents to pass through while still allowing the Top-P algorithm to determine if more documents should be sent based on scores. | ||
- Introduced a utility function to deserialize a generic Document Store from the `init_parameters` of a serialized component. | ||
- Refactor `deserialize_document_store_in_init_parameters` to clarify that the function operates in place and does not return a value. | ||
- The `SentenceWindowRetriever` has now an extra output key containing all the documents belonging to the context window. | ||
|
||
### ⚠️ Deprecation Notes | ||
|
||
- The default model for `OpenAIGenerator` and `OpenAIChatGenerator`, previously 'gpt-3.5-turbo', will be replaced by 'gpt-4o-mini'. | ||
|
||
### 🐛 Bug Fixes | ||
|
||
- Fixed an issue where page breaks were not being extracted from DOCX files. | ||
- Used a forward reference for the `Paragraph` class in the `DOCXToDocument` converter to prevent import errors. | ||
- The metadata produced by `DOCXToDocument` component is now JSON serializable. Previously, it contained `datetime` objects automatically extracted from DOCX files, which are not JSON serializable. These `datetime` objects are now converted to strings. | ||
- Starting from `haystack-ai==2.4.0`, Haystack is compatible with `sentence-transformers>=3.0.0`; earlier versions of `sentence-transformers` are not supported. We have updated the test dependencies and LazyImport messages to reflect this change. | ||
- For components that support multiple Document Stores, prioritize using the specific `from_dict` class method for deserialization when available. Otherwise, fall back to the generic `default_from_dict` method. This impacts the following generic components: `CacheChecker`, `DocumentWriter`, `FilterRetriever`, and `SentenceWindowRetriever`. | ||
|