4473 Commits

Author SHA1 Message Date
Stefano Fiorucci
cce6834ee8
fix: fix promote_unstable_docs again (#10084) 2025-11-14 18:04:37 +01:00
David S. Batista
85892a9bda
simple change (#10038) 2025-11-14 12:53:17 +01:00
Stefano Fiorucci
41f02010aa
fix: fix promote unstable docs workflow (#10079)
* fix: fix promote unstable docs workflow

* fix version number

* clean up
2025-11-13 18:28:15 +01:00
Haystack Bot
6355f6deae
Promote unstable docs for Haystack 2.20 (#10080)
Co-authored-by: anakin87 <44616784+anakin87@users.noreply.github.com>
2025-11-13 18:00:45 +01:00
Stefano Fiorucci
15b86aa06e
ci: add workflow to push release notes to Haystack website (#10077)
* workflow to push relnotes to website

* fix workflow

* set default repo

* fix

* correct format for version

* refinements

* try creating PR

* try setting version

* fixes

* clean up

* more clean up
2025-11-13 15:09:17 +01:00
Stefano Fiorucci
e57b225c3f
ci: automatically tag contributors in GitHub release notes (#10074)
* squash

* fail with message if unable to fetch contributors

* add comment about permissions
2025-11-13 14:42:18 +01:00
Daria Fokina
7a7011bf48
docs: add a Multi-Agent with ComponentTool example (#10032)
* agent with componenttool example

* update "conversation history"

Co-authored-by: Bilge Yücel <bilgeyucel96@gmail.com>

* shorten tool example

Co-authored-by: Bilge Yücel <bilgeyucel96@gmail.com>

* move section & update other version

---------

Co-authored-by: Bilge Yücel <bilgeyucel96@gmail.com>
2025-11-13 11:28:28 +01:00
Matthias Richter
5aeec2aa4d
fix: include components with consumed outputs in pipeline results (#10065)
* include components with consumed outputs in pipeline results

* update test

* update test

* release notes

* Add async pipeline test and update more checks in async pipeline

---------

Co-authored-by: Sebastian Husch Lee <sjrl423@gmail.com>
2025-11-13 09:11:04 +00:00
Abdullah Taman
e0b3d71ab4
docs: remove repeated code snippet at the end of ChatMessage documentation page (#10050)
* docs: remove repeated code snippet

* update versions

---------

Co-authored-by: Daria Fokina <daria.fokina@deepset.ai>
2025-11-12 13:56:20 +01:00
Daria Fokina
4c7c62b279
docs: new pages for ResponsesChatGenerators (#10045)
* responses generators docs pages

* code review updates

* apply to both v2.20 and v2.21
2025-11-12 13:30:50 +01:00
Stefano Fiorucci
6cbd1857d1
chore: add info on reStructuredText to contributing guidelines for release notes (#10064)
* chore: add info on reStructuredText to contributing guidelines for release notes

* refine
2025-11-12 13:13:38 +01:00
Haystack Bot
b30c6d9700
Sync Core Integrations API reference (anthropic) on Docusaurus (#10059)
Co-authored-by: Amnah199 <13835656+Amnah199@users.noreply.github.com>
2025-11-12 12:44:37 +01:00
Haystack Bot
585b61a324
Sync Core Integrations API reference (astra) on Docusaurus (#10060)
Co-authored-by: Amnah199 <13835656+Amnah199@users.noreply.github.com>
2025-11-12 12:44:15 +01:00
Haystack Bot
2bbd77ce74
Sync Core Integrations API reference (azure_ai_search) on Docusaurus (#10061)
Co-authored-by: Amnah199 <13835656+Amnah199@users.noreply.github.com>
2025-11-12 12:43:54 +01:00
Haystack Bot
43c99c58fd
Sync Core Integrations API reference (aimlapi) on Docusaurus (#10068)
Co-authored-by: mpangrazzi <1433753+mpangrazzi@users.noreply.github.com>
2025-11-12 12:43:31 +01:00
Haystack Bot
252f2fe131
Sync Core Integrations API reference (mcp) on Docusaurus (#10066)
Co-authored-by: vblagoje <458335+vblagoje@users.noreply.github.com>
2025-11-12 12:43:09 +01:00
Haystack Bot
bc09892070
Sync Core Integrations API reference (watsonx) on Docusaurus (#10067)
Co-authored-by: sjrl <10526848+sjrl@users.noreply.github.com>
2025-11-12 11:07:17 +01:00
Stefano Fiorucci
164b64e03f
ci: disable Readme sync workflow on push events (#10058) 2025-11-12 10:19:40 +01:00
Haystack Bot
bf4b7eefa4
docs: create unstable docs for Haystack 2.20 (#10057)
* Create unstable docs for Haystack 2.20

* fix versions page

---------

Co-authored-by: vblagoje <458335+vblagoje@users.noreply.github.com>
Co-authored-by: anakin87 <stefanofiorucci@gmail.com>
2025-11-11 16:03:47 +01:00
Haystack Bot
51eeb696bd
Update unstable version to 2.21.0-rc0 (#10056)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-11 15:43:32 +01:00
Stefano Fiorucci
f7147540a3
ci: temporarily skip Readme syncing to unblock release (#10055) v2.21.0-rc0 2025-11-11 15:08:59 +01:00
Haystack Bot
2908b9fcd0
Sync Core Integrations API reference (qdrant) on Docusaurus (#10054)
Co-authored-by: davidsbatista <7937824+davidsbatista@users.noreply.github.com>
2025-11-11 15:08:35 +01:00
Amna Mubashar
538e483068
feat: return logprobs in OpenAIChatGenerator and OpenAIResponsesChatGenerator (#10035)
* Return logprobs

* Add log probs in responses

* Get logprobs from streaming

* Fix linting

* Update tests

* Fix formatting

* Update

* Fix tests

* Loosen up tests

* updates

* Update logprobs

* linting

* Fix test
2025-11-11 13:16:36 +01:00
Haystack Bot
4db967d220
Sync Haystack API reference on Docusaurus (#10052)
Co-authored-by: Amnah199 <13835656+Amnah199@users.noreply.github.com>
2025-11-11 12:20:38 +01:00
Amna Mubashar
564780b768
fix: to_dict in OpenAIResponsesChatGenerator and json_schema for structured outputs (#10043)
* Fix to dict and json schema support

* Update Azure Responses

* Add tests

* Fix tests

* Fix tests

* remove print

* Change model

* Add a new test

* Loosen tests
2025-11-11 12:16:52 +01:00
Abdullah Taman
5fc0c59d81
Replace the URL that returns a 403 response with one that works. (#10048) 2025-11-11 10:23:01 +01:00
Daria Fokina
27355ba0b1
docs: add multimodal (image input) examples to chat generator docs (#10033)
* multimodal examples

* Apply suggestions from code review

Co-authored-by: Stefano Fiorucci <stefanofiorucci@gmail.com>

* standardize names and outputs

---------

Co-authored-by: Stefano Fiorucci <stefanofiorucci@gmail.com>
2025-11-10 17:30:33 +01:00
Daria Fokina
edd5a99e83
update async pipeline example (#10042) 2025-11-10 11:56:45 +01:00
Haystack Bot
ef33cca34a
Sync Core Integrations API reference (mcp) on Docusaurus (#10037)
Co-authored-by: dfokina <82442695+dfokina@users.noreply.github.com>
2025-11-10 11:17:17 +01:00
Sebastian Husch Lee
4e19612a54
fix: Fix conversion of streaming chunks to chat message when handling reasoning content in OpenAIResponsesChatGenerator (#10036)
* Update information in streaming chunks and fix convert streaming chunks to chat message when handling reasoning content

* Fix unit test

* fix mypy

* try to make integration test more reliable

* Remove unused imports
2025-11-10 10:57:51 +01:00
Abdullah Taman
de4ab98b07
Fix typo in visualizing-pipelines.mdx (#10041) 2025-11-10 10:39:41 +01:00
Daria Fokina
6231296cd8
documentation fixes (#10022) 2025-11-07 17:20:31 +01:00
David S. Batista
ea6ef8c941
ci: stop running tests on main a merged PR only updates the documentation (#10007)
* initial import

* avoiding tests when docs changes only are merged into main

* cleaning .gitignore
2025-11-07 15:46:23 +01:00
Haystack Bot
a85b61b6c5
Sync Haystack API reference on Docusaurus (#10030)
Co-authored-by: sjrl <10526848+sjrl@users.noreply.github.com>
2025-11-06 15:02:38 +01:00
Sebastian Husch Lee
bd927da680
feat: Add AzureOpenAIResponsesChatGenerator (#10019)
* Add working ChatGenerator

* rename

* Improve and add live tests

* Updates

* Update the tests

* Fix errors

* Add release notes

* Add support for openai tools

* Remove openai tools test that times out

* fix tool calls

* Update release notes

* PR comments

* remove edits to chat message

* Add a test

* PR comments

* Send back reasoning to model

* Fix reasoning support

* Add reasoning support

* Fix tests

* Refactor

* Simplify methods

* Fix mypy

* Stream responses, tool calls etc

* Update docstrings

* Fix errors while using in Agent

* Fix call_id and fc_id

* Update tests

* Updates

* Add extra in ToolCall and ToolCallDelta

* Update streaming chunk

* Fix tests and linting

* Update api key resolve

* PR comments

* PR comments

* Updates

* some type fixes and also make sure to use flatten_tools_or_toolsets

* fix docs

* Fix streaming chunks so assistant header is properly captured

* Add finish_reason and update test

* Skip streaming + pydantic model test b/c of known issue in openai python sdk https://github.com/openai/openai-python/issues/2305

* Fix pylint

* Initial commit adding AzureOpenAIResponsesChatGenerator support

* fix unit test

* Starting to refactor to use new recommended way to connect to Azure OpenAI

* Updates

* Fix tests

* More tests

* fix integration tests

* Add to docs

* Don't need warm_up method anymore

* fix unit test

* Fix pylint

* fix docstrings

* fix mypy typing

* fix reno

* Add another unit test

---------

Co-authored-by: Amna Mubashar <amnahkhan.ak@gmail.com>
2025-11-06 14:27:10 +01:00
Amna Mubashar
2a0a6f1bc6
feat: Add Chat Generator supporting OpenAI Responses API (#9808)
* Add working ChatGenerator

* rename

* Improve and add live tests

* Updates

* Update the tests

* Fix errors

* Add release notes

* Add support for openai tools

* Remove openai tools test that times out

* fix tool calls

* Update release notes

* PR comments

* remove edits to chat message

* Add a test

* PR comments

* Send back reasoning to model

* Fix reasoning support

* Add reasoning support

* Fix tests

* Refactor

* Simplify methods

* Fix mypy

* Stream responses, tool calls etc

* Update docstrings

* Fix errors while using in Agent

* Fix call_id and fc_id

* Update tests

* Updates

* Add extra in ToolCall and ToolCallDelta

* Update streaming chunk

* Fix tests and linting

* Update api key resolve

* PR comments

* PR comments

* Updates

* some type fixes and also make sure to use flatten_tools_or_toolsets

* fix docs

* Fix streaming chunks so assistant header is properly captured

* Add finish_reason and update test

* Skip streaming + pydantic model test b/c of known issue in openai python sdk https://github.com/openai/openai-python/issues/2305

* Fix pylint

---------

Co-authored-by: Sebastian Husch Lee <sjrl423@gmail.com>
2025-11-06 12:55:18 +01:00
Sebastian Husch Lee
21502f4970
fix: Use deepcopy with exceptions instead of deepcopy (#10029)
* Fix deepcopy issue

* Update test

* Fix spelling
2025-11-06 11:45:34 +00:00
Haystack Bot
b88493ac79
Sync Core Integrations API reference (mongodb_atlas) on Docusaurus (#10025)
Co-authored-by: mpangrazzi <1433753+mpangrazzi@users.noreply.github.com>
2025-11-06 11:10:38 +01:00
Daria Fokina
89f420843d
update and replace recipes (#10021) 2025-11-06 11:05:58 +01:00
Vladimir Blagojevic
df3b13857e
feat: Enable first snippet test runs in new documentation (#9967)
* Enable first snippet test runs in docs

* Move improved agent example to pydoc

* Linting docs

* Add pylint disable for too-many-positional-arguments
2025-11-06 10:26:56 +01:00
Daria Fokina
510d063612
style(docs): params as inline code (#10017)
* params as inline code

* more params

* even more params

* last params
2025-11-05 14:49:38 +01:00
Haystack Bot
9fc9badbae
Sync Haystack API reference on Docusaurus (#10020)
Co-authored-by: Amnah199 <13835656+Amnah199@users.noreply.github.com>
2025-11-05 13:46:43 +01:00
Amna Mubashar
071d2f18b9
feat: Add extra field in ToolCall and ToolCallDelta (#10018)
* Add extra to Toolcall

* Add release notes

* Update tests
2025-11-05 13:35:32 +01:00
Daria Fokina
93712839e5
chore(docs): fix tables formatting (#10010)
* add missing headers

* external integrations header row

* implement headerless tables

* more tables with key-value pairs
2025-11-05 11:44:03 +01:00
Haystack Bot
14f58ece15
Sync Haystack API reference on Docusaurus (#10015)
Co-authored-by: sjrl <10526848+sjrl@users.noreply.github.com>
2025-11-05 11:14:08 +01:00
Haystack Bot
c6d7aab6bf
Sync Core Integrations API reference (pinecone) on Docusaurus (#10016)
Co-authored-by: mpangrazzi <1433753+mpangrazzi@users.noreply.github.com>
2025-11-05 11:13:45 +01:00
Swapnil Gusani
2ecddff284
feat: add revision parameter to Sentence Transformers embedder components (#10003)
* Add revision argument to sentence transformer components

* Use revision as last argument in sentence transformer
Add release notes
2025-11-05 09:03:46 +00:00
HamidOna
e7fb4f5ac5
fix: warm up individual tools inside Toolsets in warm_up_tools() (#10002)
* fix: warm up individual tools inside Toolsets in warm_up_tools()

Related Issues:

* Follows up on PR #9942 (feat: Add warm_up() method to ChatGenerators)

* Addresses bug discovered during implementation of PR #9942 for issue #9907

Proposed Changes:

The warm_up_tools() utility function was only calling warm_up() on

Toolset objects themselves, but not on the individual Tool instances

contained within them. This meant tools inside a Toolset were not

properly initialized before use.

This PR modifies warm_up_tools() to iterate through Toolsets and call

warm_up() on each individual tool, in addition to calling warm_up() on

the Toolset itself.

Changes:

- Modified warm_up_tools() in haystack/tools/utils.py to iterate through

  Toolsets when encountered (both as single argument and within lists)

- Added iteration to call warm_up() on each individual Tool inside Toolsets

- Added comprehensive test class TestWarmUpTools with 7 test cases

How did you test it:

- Added 7 comprehensive unit tests in test/tools/test_tools_utils.py:

  * test_warm_up_tools_with_none - handles None input

  * test_warm_up_tools_with_single_tool - single tool in list

  * test_warm_up_tools_with_single_toolset - KEY TEST: verifies both

    Toolset and individual tools are warmed

  * test_warm_up_tools_with_list_containing_toolset - toolset within list

  * test_warm_up_tools_with_multiple_toolsets - multiple toolsets

  * test_warm_up_tools_with_mixed_tools_and_toolsets - mixed scenarios

  * test_warm_up_tools_idempotency - safe to call multiple times

Notes for the reviewer:

I discovered this bug while implementing PR #9942 (for issue #9907).

When a Toolset object is passed to a component's tools parameter, the

warm_up_tools() function only calls Toolset.warm_up(), which is a no-op.

It doesn't iterate through the individual tools inside the Toolset to

warm them up.

 acknowledged by @vblagoje and @sjrl

This implementation:

- Modified warm_up_tools() to iterate through Toolsets and call warm_up() on each individual tool

 - Added comprehensive tests for Toolset warming behavior

- Verified both the Toolset and its contained tools are warmed up

Checklist:

I have read the contributors guidelines and the code of conduct

I have updated the related issue with new insights and changes

I added unit tests and updated the docstrings

I've used one of the conventional commit types for my PR title: fix:

I documented my code

I ran pre-commit hooks and fixed any issue

* added release note

* refactor: move tool warm-up iteration to Toolset.warm_up()

Addresses architectural feedback - moved iteration logic from warm_up_tools()
to base Toolset.warm_up() for better encapsulation. Subclasses can now
override warm_up() to customize initialization without breaking the contract.

- Toolset.warm_up() now iterates and warms tools by default
- warm_up_tools() simplified to delegate to warm_up()
- Updated tests and release notes

---------

Co-authored-by: HamidOna13 <abdulhamid.onawole@aizatron.com>
2025-11-05 09:59:23 +01:00
Daria Fokina
1e04b57942
emojis and empty codeblock (#10008) 2025-11-04 19:18:53 +01:00
Haystack Bot
4b86c1e4ee
Sync Haystack API reference on Docusaurus (#10009)
Co-authored-by: vblagoje <458335+vblagoje@users.noreply.github.com>
2025-11-04 10:13:38 +01:00