From 8e7281937c98c65280a38d05e6d3196f598f8588 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kacper=20=C5=81ukawski?= Date: Tue, 26 May 2026 11:02:03 +0200 Subject: [PATCH 1/3] fix: update tutorial 44 to include the outputs for code cells --- .../44_Creating_Custom_SuperComponents.ipynb | 541 +++++++++++------- 1 file changed, 335 insertions(+), 206 deletions(-) diff --git a/tutorials/44_Creating_Custom_SuperComponents.ipynb b/tutorials/44_Creating_Custom_SuperComponents.ipynb index 092a0edf..c4d49ce8 100644 --- a/tutorials/44_Creating_Custom_SuperComponents.ipynb +++ b/tutorials/44_Creating_Custom_SuperComponents.ipynb @@ -47,17 +47,197 @@ }, { "cell_type": "code", - "execution_count": null, "metadata": { - "id": "UQbU8GUfO-qZ" + "id": "UQbU8GUfO-qZ", + "ExecuteTime": { + "end_time": "2026-05-26T08:59:03.406994Z", + "start_time": "2026-05-26T08:58:50.686571Z" + } }, - "outputs": [], "source": [ "%%bash\n", "\n", "pip install haystack-ai\n", "pip install \"sentence-transformers>=4.1.0\" datasets \"transformers[torch,sentencepiece]<5\"" - ] + ], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Requirement already satisfied: haystack-ai in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (2.27.0)\n", + "Requirement already satisfied: docstring-parser in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from haystack-ai) (0.17.0)\n", + "Requirement already satisfied: filetype in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from haystack-ai) (1.2.0)\n", + "Requirement already satisfied: haystack-experimental in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from haystack-ai) (0.19.0)\n", + "Requirement already satisfied: jinja2 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from haystack-ai) (3.1.6)\n", + "Requirement already satisfied: jsonschema in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from haystack-ai) (4.26.0)\n", + "Requirement already satisfied: lazy-imports in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from haystack-ai) (1.2.0)\n", + "Requirement already satisfied: markupsafe in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from haystack-ai) (3.0.3)\n", + "Requirement already satisfied: more-itertools in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from haystack-ai) (11.0.1)\n", + "Requirement already satisfied: networkx in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from haystack-ai) (3.6.1)\n", + "Requirement already satisfied: numpy in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from haystack-ai) (2.4.4)\n", + "Requirement already satisfied: openai>=1.99.2 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from haystack-ai) (2.30.0)\n", + "Requirement already satisfied: posthog!=3.12.0 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from haystack-ai) (7.9.12)\n", + "Requirement already satisfied: pydantic in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from haystack-ai) (2.12.5)\n", + "Requirement already satisfied: python-dateutil in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from haystack-ai) (2.9.0.post0)\n", + "Requirement already satisfied: pyyaml in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from haystack-ai) (6.0.3)\n", + "Requirement already satisfied: requests in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from haystack-ai) (2.33.1)\n", + "Requirement already satisfied: tenacity!=8.4.0 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from haystack-ai) (9.1.4)\n", + "Requirement already satisfied: tqdm in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from haystack-ai) (4.67.3)\n", + "Requirement already satisfied: typing-extensions>=4.7 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from haystack-ai) (4.15.0)\n", + "Requirement already satisfied: anyio<5,>=3.5.0 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from openai>=1.99.2->haystack-ai) (4.13.0)\n", + "Requirement already satisfied: distro<2,>=1.7.0 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from openai>=1.99.2->haystack-ai) (1.9.0)\n", + "Requirement already satisfied: httpx<1,>=0.23.0 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from openai>=1.99.2->haystack-ai) (0.28.1)\n", + "Requirement already satisfied: jiter<1,>=0.10.0 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from openai>=1.99.2->haystack-ai) (0.13.0)\n", + "Requirement already satisfied: sniffio in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from openai>=1.99.2->haystack-ai) (1.3.1)\n", + "Requirement already satisfied: six>=1.5 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from posthog!=3.12.0->haystack-ai) (1.17.0)\n", + "Requirement already satisfied: backoff>=1.10.0 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from posthog!=3.12.0->haystack-ai) (2.2.1)\n", + "Requirement already satisfied: annotated-types>=0.6.0 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from pydantic->haystack-ai) (0.7.0)\n", + "Requirement already satisfied: pydantic-core==2.41.5 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from pydantic->haystack-ai) (2.41.5)\n", + "Requirement already satisfied: typing-inspection>=0.4.2 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from pydantic->haystack-ai) (0.4.2)\n", + "Requirement already satisfied: charset_normalizer<4,>=2 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from requests->haystack-ai) (3.4.7)\n", + "Requirement already satisfied: idna<4,>=2.5 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from requests->haystack-ai) (3.11)\n", + "Requirement already satisfied: urllib3<3,>=1.26 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from requests->haystack-ai) (2.6.3)\n", + "Requirement already satisfied: certifi>=2023.5.7 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from requests->haystack-ai) (2026.2.25)\n", + "Requirement already satisfied: attrs>=22.2.0 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from jsonschema->haystack-ai) (26.1.0)\n", + "Requirement already satisfied: jsonschema-specifications>=2023.03.6 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from jsonschema->haystack-ai) (2025.9.1)\n", + "Requirement already satisfied: referencing>=0.28.4 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from jsonschema->haystack-ai) (0.37.0)\n", + "Requirement already satisfied: rpds-py>=0.25.0 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from jsonschema->haystack-ai) (0.30.0)\n", + "Requirement already satisfied: httpcore==1.* in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from httpx<1,>=0.23.0->openai>=1.99.2->haystack-ai) (1.0.9)\n", + "Requirement already satisfied: h11>=0.16 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from httpcore==1.*->httpx<1,>=0.23.0->openai>=1.99.2->haystack-ai) (0.16.0)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\n", + "\u001B[1m[\u001B[0m\u001B[34;49mnotice\u001B[0m\u001B[1;39;49m]\u001B[0m\u001B[39;49m A new release of pip is available: \u001B[0m\u001B[31;49m25.0.1\u001B[0m\u001B[39;49m -> \u001B[0m\u001B[32;49m26.1.1\u001B[0m\n", + "\u001B[1m[\u001B[0m\u001B[34;49mnotice\u001B[0m\u001B[1;39;49m]\u001B[0m\u001B[39;49m To update, run: \u001B[0m\u001B[32;49mpip install --upgrade pip\u001B[0m\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Collecting sentence-transformers>=4.1.0\n", + " Downloading sentence_transformers-5.5.1-py3-none-any.whl.metadata (18 kB)\n", + "Collecting datasets\n", + " Downloading datasets-4.8.5-py3-none-any.whl.metadata (19 kB)\n", + "Requirement already satisfied: transformers<5 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from transformers[sentencepiece,torch]<5) (4.57.6)\n", + "Requirement already satisfied: huggingface-hub>=0.23.0 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from sentence-transformers>=4.1.0) (0.36.2)\n", + "Requirement already satisfied: torch>=1.11.0 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from sentence-transformers>=4.1.0) (2.11.0)\n", + "Requirement already satisfied: numpy>=1.20.0 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from sentence-transformers>=4.1.0) (2.4.4)\n", + "Collecting scikit-learn>=0.22.0 (from sentence-transformers>=4.1.0)\n", + " Using cached scikit_learn-1.8.0-cp312-cp312-macosx_12_0_arm64.whl.metadata (11 kB)\n", + "Requirement already satisfied: scipy>=1.0.0 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from sentence-transformers>=4.1.0) (1.17.1)\n", + "Requirement already satisfied: typing_extensions>=4.5.0 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from sentence-transformers>=4.1.0) (4.15.0)\n", + "Requirement already satisfied: tqdm>=4.0.0 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from sentence-transformers>=4.1.0) (4.67.3)\n", + "Requirement already satisfied: filelock in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from datasets) (3.25.2)\n", + "Collecting pyarrow>=21.0.0 (from datasets)\n", + " Downloading pyarrow-24.0.0-cp312-cp312-macosx_12_0_arm64.whl.metadata (3.0 kB)\n", + "Collecting dill<0.4.2,>=0.3.0 (from datasets)\n", + " Using cached dill-0.4.1-py3-none-any.whl.metadata (10 kB)\n", + "Collecting pandas (from datasets)\n", + " Downloading pandas-3.0.3-cp312-cp312-macosx_11_0_arm64.whl.metadata (79 kB)\n", + "Requirement already satisfied: requests>=2.32.2 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from datasets) (2.33.1)\n", + "Requirement already satisfied: httpx<1.0.0 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from datasets) (0.28.1)\n", + "Collecting xxhash (from datasets)\n", + " Downloading xxhash-3.7.0-cp312-cp312-macosx_11_0_arm64.whl.metadata (13 kB)\n", + "Collecting multiprocess<0.70.20 (from datasets)\n", + " Using cached multiprocess-0.70.19-py312-none-any.whl.metadata (7.5 kB)\n", + "Collecting fsspec<=2026.2.0,>=2023.1.0 (from fsspec[http]<=2026.2.0,>=2023.1.0->datasets)\n", + " Using cached fsspec-2026.2.0-py3-none-any.whl.metadata (10 kB)\n", + "Requirement already satisfied: packaging in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from datasets) (26.0)\n", + "Requirement already satisfied: pyyaml>=5.1 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from datasets) (6.0.3)\n", + "Requirement already satisfied: regex!=2019.12.17 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from transformers<5->transformers[sentencepiece,torch]<5) (2026.3.32)\n", + "Requirement already satisfied: tokenizers<=0.23.0,>=0.22.0 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from transformers<5->transformers[sentencepiece,torch]<5) (0.22.2)\n", + "Requirement already satisfied: safetensors>=0.4.3 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from transformers<5->transformers[sentencepiece,torch]<5) (0.7.0)\n", + "Requirement already satisfied: accelerate>=0.26.0 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from transformers[sentencepiece,torch]<5) (1.13.0)\n", + "Collecting sentencepiece!=0.1.92,>=0.1.91 (from transformers[sentencepiece,torch]<5)\n", + " Downloading sentencepiece-0.2.1-cp312-cp312-macosx_11_0_arm64.whl.metadata (10 kB)\n", + "Collecting protobuf (from transformers[sentencepiece,torch]<5)\n", + " Downloading protobuf-7.35.0-cp310-abi3-macosx_10_9_universal2.whl.metadata (595 bytes)\n", + "Requirement already satisfied: psutil in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from accelerate>=0.26.0->transformers[sentencepiece,torch]<5) (7.2.2)\n", + "Collecting aiohttp!=4.0.0a0,!=4.0.0a1 (from fsspec[http]<=2026.2.0,>=2023.1.0->datasets)\n", + " Using cached aiohttp-3.13.5-cp312-cp312-macosx_11_0_arm64.whl.metadata (8.1 kB)\n", + "Requirement already satisfied: anyio in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from httpx<1.0.0->datasets) (4.13.0)\n", + "Requirement already satisfied: certifi in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from httpx<1.0.0->datasets) (2026.2.25)\n", + "Requirement already satisfied: httpcore==1.* in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from httpx<1.0.0->datasets) (1.0.9)\n", + "Requirement already satisfied: idna in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from httpx<1.0.0->datasets) (3.11)\n", + "Requirement already satisfied: h11>=0.16 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from httpcore==1.*->httpx<1.0.0->datasets) (0.16.0)\n", + "Requirement already satisfied: hf-xet<2.0.0,>=1.1.3 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from huggingface-hub>=0.23.0->sentence-transformers>=4.1.0) (1.4.3)\n", + "Requirement already satisfied: charset_normalizer<4,>=2 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from requests>=2.32.2->datasets) (3.4.7)\n", + "Requirement already satisfied: urllib3<3,>=1.26 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from requests>=2.32.2->datasets) (2.6.3)\n", + "Collecting joblib>=1.3.0 (from scikit-learn>=0.22.0->sentence-transformers>=4.1.0)\n", + " Using cached joblib-1.5.3-py3-none-any.whl.metadata (5.5 kB)\n", + "Collecting threadpoolctl>=3.2.0 (from scikit-learn>=0.22.0->sentence-transformers>=4.1.0)\n", + " Using cached threadpoolctl-3.6.0-py3-none-any.whl.metadata (13 kB)\n", + "Requirement already satisfied: setuptools<82 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from torch>=1.11.0->sentence-transformers>=4.1.0) (81.0.0)\n", + "Requirement already satisfied: sympy>=1.13.3 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from torch>=1.11.0->sentence-transformers>=4.1.0) (1.14.0)\n", + "Requirement already satisfied: networkx>=2.5.1 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from torch>=1.11.0->sentence-transformers>=4.1.0) (3.6.1)\n", + "Requirement already satisfied: jinja2 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from torch>=1.11.0->sentence-transformers>=4.1.0) (3.1.6)\n", + "Requirement already satisfied: python-dateutil>=2.8.2 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from pandas->datasets) (2.9.0.post0)\n", + "Collecting aiohappyeyeballs>=2.5.0 (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<=2026.2.0,>=2023.1.0->datasets)\n", + " Downloading aiohappyeyeballs-2.6.2-py3-none-any.whl.metadata (5.9 kB)\n", + "Collecting aiosignal>=1.4.0 (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<=2026.2.0,>=2023.1.0->datasets)\n", + " Using cached aiosignal-1.4.0-py3-none-any.whl.metadata (3.7 kB)\n", + "Requirement already satisfied: attrs>=17.3.0 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<=2026.2.0,>=2023.1.0->datasets) (26.1.0)\n", + "Collecting frozenlist>=1.1.1 (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<=2026.2.0,>=2023.1.0->datasets)\n", + " Using cached frozenlist-1.8.0-cp312-cp312-macosx_11_0_arm64.whl.metadata (20 kB)\n", + "Collecting multidict<7.0,>=4.5 (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<=2026.2.0,>=2023.1.0->datasets)\n", + " Using cached multidict-6.7.1-cp312-cp312-macosx_11_0_arm64.whl.metadata (5.3 kB)\n", + "Collecting propcache>=0.2.0 (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<=2026.2.0,>=2023.1.0->datasets)\n", + " Downloading propcache-0.5.2-cp312-cp312-macosx_11_0_arm64.whl.metadata (16 kB)\n", + "Collecting yarl<2.0,>=1.17.0 (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<=2026.2.0,>=2023.1.0->datasets)\n", + " Downloading yarl-1.24.2-cp312-cp312-macosx_11_0_arm64.whl.metadata (94 kB)\n", + "Requirement already satisfied: six>=1.5 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from python-dateutil>=2.8.2->pandas->datasets) (1.17.0)\n", + "Requirement already satisfied: mpmath<1.4,>=1.1.0 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from sympy>=1.13.3->torch>=1.11.0->sentence-transformers>=4.1.0) (1.3.0)\n", + "Requirement already satisfied: MarkupSafe>=2.0 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from jinja2->torch>=1.11.0->sentence-transformers>=4.1.0) (3.0.3)\n", + "Downloading sentence_transformers-5.5.1-py3-none-any.whl (588 kB)\n", + "\u001B[2K \u001B[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001B[0m \u001B[32m0.0/588.9 kB\u001B[0m \u001B[31m?\u001B[0m eta \u001B[36m-:--:--\u001B[0m━━━━━━━━━━━\u001B[0m \u001B[32m588.9/588.9 kB\u001B[0m \u001B[31m10.1 MB/s\u001B[0m eta \u001B[36m0:00:00\u001B[0m\n", + "\u001B[?25hDownloading datasets-4.8.5-py3-none-any.whl (528 kB)\n", + "\u001B[2K \u001B[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001B[0m \u001B[32m0.0/529.0 kB\u001B[0m \u001B[31m?\u001B[0m eta \u001B[36m-:--:--\u001B[0m━━━━━━━━━━━\u001B[0m \u001B[32m529.0/529.0 kB\u001B[0m \u001B[31m10.0 MB/s\u001B[0m eta \u001B[36m0:00:00\u001B[0m\n", + "\u001B[?25hUsing cached dill-0.4.1-py3-none-any.whl (120 kB)\n", + "Using cached fsspec-2026.2.0-py3-none-any.whl (202 kB)\n", + "Using cached multiprocess-0.70.19-py312-none-any.whl (150 kB)\n", + "Downloading pyarrow-24.0.0-cp312-cp312-macosx_12_0_arm64.whl (35.0 MB)\n", + "\u001B[2K \u001B[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━0m\u001B[m╺0m\u001B[m━━\u001B[0m \u001B[32m0.0/35.0 MB\u001B[0m \u001B[31m?\u001B[0m eta \u001B[36m-:--:--\u001B[0m━━━━━━━━━━━━━━━━━\u001B[0m \u001B[32m2.4/35.0 MB\u001B[0m \u001B[31m11.8 MB/s\u001B[0m eta \u001B[36m0:00:03\u001B[0m━━━━━━━━━━━━━━━━━\u001B[0m \u001B[32m4.7/35.0 MB\u001B[0m \u001B[31m11.7 MB/s\u001B[0m eta \u001B[36m0:00:03\u001B[0m━━━━━━━━━━━━━━━━━\u001B[0m \u001B[32m7.1/35.0 MB\u001B[0m \u001B[31m11.8 MB/s\u001B[0m eta \u001B[36m0:00:03\u001B[0m━━━━━━━━━━━━━━━━━\u001B[0m \u001B[32m9.4/35.0 MB\u001B[0m \u001B[31m11.8 MB/s\u001B[0m eta \u001B[36m0:00:03\u001B[0m━━━━━━━━━━━━━━━━━\u001B[0m \u001B[32m10.5/35.0 MB\u001B[0m \u001B[31m10.4 MB/s\u001B[0m eta \u001B[36m0:00:03\u001B[0m━━━━━━━━━━━━━━━━━\u001B[0m \u001B[32m13.4/35.0 MB\u001B[0m \u001B[31m11.1 MB/s\u001B[0m eta \u001B[36m0:00:02\u001B[0m━━━━━━━━━━━━━━━━━\u001B[0m \u001B[32m16.3/35.0 MB\u001B[0m \u001B[31m11.5 MB/s\u001B[0m eta \u001B[36m0:00:02\u001B[0m━━━━━━━━━━━━━━━━━\u001B[0m \u001B[32m18.6/35.0 MB\u001B[0m \u001B[31m11.5 MB/s\u001B[0m eta \u001B[36m0:00:02\u001B[0m90m━━━━━━━━━━━━━━━━\u001B[0m \u001B[32m20.2/35.0 MB\u001B[0m \u001B[31m11.1 MB/s\u001B[0m eta \u001B[36m0:00:02\u001B[0m\u001B[0m\u001B[90m━━━━━━━━━━━━━━\u001B[0m \u001B[32m22.3/35.0 MB\u001B[0m \u001B[31m11.0 MB/s\u001B[0m eta \u001B[36m0:00:02\u001B[0m91m╸\u001B[0m\u001B[90m━━━━━━━━━━━━\u001B[0m \u001B[32m24.4/35.0 MB\u001B[0m \u001B[31m10.9 MB/s\u001B[0m eta \u001B[36m0:00:01\u001B[0m━\u001B[0m\u001B[90m╺\u001B[0m\u001B[90m━━━━━━━━━\u001B[0m \u001B[32m26.5/35.0 MB\u001B[0m \u001B[31m10.8 MB/s\u001B[0m eta \u001B[36m0:00:01\u001B[0m━━━\u001B[0m\u001B[91m╸\u001B[0m\u001B[90m━━━━━━━\u001B[0m \u001B[32m28.6/35.0 MB\u001B[0m \u001B[31m10.9 MB/s\u001B[0m eta \u001B[36m0:00:01\u001B[0m━━━━━━\u001B[0m\u001B[90m╺\u001B[0m\u001B[90m━━━━\u001B[0m \u001B[32m30.9/35.0 MB\u001B[0m \u001B[31m10.9 MB/s\u001B[0m eta \u001B[36m0:00:01\u001B[0m━━━━━━━━━\u001B[0m\u001B[90m╺\u001B[0m\u001B[90m━\u001B[0m \u001B[32m33.3/35.0 MB\u001B[0m \u001B[31m10.9 MB/s\u001B[0m eta \u001B[36m0:00:01\u001B[0m━━━━━━━━━━━\u001B[0m \u001B[32m35.0/35.0 MB\u001B[0m \u001B[31m10.9 MB/s\u001B[0m eta \u001B[36m0:00:00\u001B[0m\n", + "\u001B[?25hUsing cached scikit_learn-1.8.0-cp312-cp312-macosx_12_0_arm64.whl (8.1 MB)\n", + "Downloading sentencepiece-0.2.1-cp312-cp312-macosx_11_0_arm64.whl (1.3 MB)\n", + "\u001B[2K \u001B[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001B[0m \u001B[32m0.0/1.3 MB\u001B[0m \u001B[31m?\u001B[0m eta \u001B[36m-:--:--\u001B[0m━━━━━━━━━━━\u001B[0m \u001B[32m1.3/1.3 MB\u001B[0m \u001B[31m11.2 MB/s\u001B[0m eta \u001B[36m0:00:00\u001B[0m\n", + "\u001B[?25hDownloading pandas-3.0.3-cp312-cp312-macosx_11_0_arm64.whl (9.9 MB)\n", + "\u001B[2K \u001B[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━[00m\u001B[90m━━━━\u001B[0m \u001B[32m0.0/9.9 MB\u001B[0m \u001B[31m?\u001B[0m eta \u001B[36m-:--:--\u001B[0m━━━━━━━━━━━━━━━━━\u001B[0m \u001B[32m2.4/9.9 MB\u001B[0m \u001B[31m11.7 MB/s\u001B[0m eta \u001B[36m0:00:01\u001B[0m━━━━━━━━━━━━━━━━━\u001B[0m \u001B[32m4.7/9.9 MB\u001B[0m \u001B[31m11.7 MB/s\u001B[0m eta \u001B[36m0:00:01\u001B[0mm\u001B[91m╸\u001B[0m\u001B[90m━━━━━━━━━━━\u001B[0m \u001B[32m7.1/9.9 MB\u001B[0m \u001B[31m11.7 MB/s\u001B[0m eta \u001B[36m0:00:01\u001B[0m━━━━━━━━━\u001B[0m\u001B[90m╺\u001B[0m\u001B[90m━\u001B[0m \u001B[32m9.4/9.9 MB\u001B[0m \u001B[31m11.7 MB/s\u001B[0m eta \u001B[36m0:00:01\u001B[0m━━━━━━━━━━━\u001B[0m \u001B[32m9.9/9.9 MB\u001B[0m \u001B[31m11.6 MB/s\u001B[0m eta \u001B[36m0:00:00\u001B[0m\n", + "\u001B[?25hDownloading protobuf-7.35.0-cp310-abi3-macosx_10_9_universal2.whl (433 kB)\n", + "Downloading xxhash-3.7.0-cp312-cp312-macosx_11_0_arm64.whl (30 kB)\n", + "Using cached aiohttp-3.13.5-cp312-cp312-macosx_11_0_arm64.whl (500 kB)\n", + "Using cached joblib-1.5.3-py3-none-any.whl (309 kB)\n", + "Using cached threadpoolctl-3.6.0-py3-none-any.whl (18 kB)\n", + "Downloading aiohappyeyeballs-2.6.2-py3-none-any.whl (15 kB)\n", + "Using cached aiosignal-1.4.0-py3-none-any.whl (7.5 kB)\n", + "Using cached frozenlist-1.8.0-cp312-cp312-macosx_11_0_arm64.whl (50 kB)\n", + "Using cached multidict-6.7.1-cp312-cp312-macosx_11_0_arm64.whl (43 kB)\n", + "Downloading propcache-0.5.2-cp312-cp312-macosx_11_0_arm64.whl (55 kB)\n", + "Downloading yarl-1.24.2-cp312-cp312-macosx_11_0_arm64.whl (91 kB)\n", + "Installing collected packages: xxhash, threadpoolctl, sentencepiece, pyarrow, protobuf, propcache, multidict, joblib, fsspec, frozenlist, dill, aiohappyeyeballs, yarl, scikit-learn, pandas, multiprocess, aiosignal, aiohttp, sentence-transformers, datasets\n", + " Attempting uninstall: fsspec\n", + " Found existing installation: fsspec 2026.3.0\n", + " Uninstalling fsspec-2026.3.0:\n", + " Successfully uninstalled fsspec-2026.3.0\n", + "Successfully installed aiohappyeyeballs-2.6.2 aiohttp-3.13.5 aiosignal-1.4.0 datasets-4.8.5 dill-0.4.1 frozenlist-1.8.0 fsspec-2026.2.0 joblib-1.5.3 multidict-6.7.1 multiprocess-0.70.19 pandas-3.0.3 propcache-0.5.2 protobuf-7.35.0 pyarrow-24.0.0 scikit-learn-1.8.0 sentence-transformers-5.5.1 sentencepiece-0.2.1 threadpoolctl-3.6.0 xxhash-3.7.0 yarl-1.24.2\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\n", + "\u001B[1m[\u001B[0m\u001B[34;49mnotice\u001B[0m\u001B[1;39;49m]\u001B[0m\u001B[39;49m A new release of pip is available: \u001B[0m\u001B[31;49m25.0.1\u001B[0m\u001B[39;49m -> \u001B[0m\u001B[32;49m26.1.1\u001B[0m\n", + "\u001B[1m[\u001B[0m\u001B[34;49mnotice\u001B[0m\u001B[1;39;49m]\u001B[0m\u001B[39;49m To update, run: \u001B[0m\u001B[32;49mpip install --upgrade pip\u001B[0m\n" + ] + } + ], + "execution_count": 1 }, { "cell_type": "markdown", @@ -96,11 +276,13 @@ }, { "cell_type": "code", - "execution_count": 2, "metadata": { - "id": "XvLVaFHTO-qb" + "id": "XvLVaFHTO-qb", + "ExecuteTime": { + "end_time": "2026-05-26T08:59:25.694905Z", + "start_time": "2026-05-26T08:59:03.413706Z" + } }, - "outputs": [], "source": [ "from haystack import Document, Pipeline, super_component\n", "from haystack.components.joiners import DocumentJoiner\n", @@ -131,7 +313,18 @@ " self.pipeline.connect(\"text_embedder\", \"embedding_retriever\")\n", " self.pipeline.connect(\"bm25_retriever\", \"document_joiner\")\n", " self.pipeline.connect(\"embedding_retriever\", \"document_joiner\")" - ] + ], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages/tqdm/auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n", + " from .autonotebook import tqdm as notebook_tqdm\n" + ] + } + ], + "execution_count": 2 }, { "cell_type": "markdown", @@ -144,11 +337,13 @@ }, { "cell_type": "code", - "execution_count": null, "metadata": { - "id": "aNzUi4iz0FAU" + "id": "aNzUi4iz0FAU", + "ExecuteTime": { + "end_time": "2026-05-26T08:59:55.715295Z", + "start_time": "2026-05-26T08:59:25.735412Z" + } }, - "outputs": [], "source": [ "# Load a dataset\n", "dataset = load_dataset(\"HaystackBot/medrag-pubmed-chunk-with-embeddings\", split=\"train\")\n", @@ -162,18 +357,40 @@ "result = retriever.run(\n", " text=query, query=query\n", ") # `query` variable will match with `text` and `query` inputs of components in the pipeline." - ] + ], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Generating train split: 100%|██████████| 15377/15377 [00:00<00:00, 159479.28 examples/s]\n", + "The `tokenizer_kwargs` argument was renamed and is now deprecated. Please use `processor_kwargs` instead.\n", + "Batches: 100%|██████████| 1/1 [00:01<00:00, 1.04s/it]\n" + ] + } + ], + "execution_count": 3 }, { "cell_type": "code", - "execution_count": 13, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "ZoTmeqV_j-OI", - "outputId": "7fa55a12-563c-4341-bbaa-3c578cc5e976" + "outputId": "7fa55a12-563c-4341-bbaa-3c578cc5e976", + "ExecuteTime": { + "end_time": "2026-05-26T08:59:55.778626Z", + "start_time": "2026-05-26T08:59:55.738878Z" + } }, + "source": [ + "# Print the results\n", + "print(f\"Found {len(result['documents'])} documents\")\n", + "for i, doc in enumerate(result[\"documents\"][:3]): # Show first 3 documents\n", + " print(f\"\\nDocument {i+1} (Score: {doc.score:.4f}):\")\n", + " print(doc.content[:200] + \"...\")" + ], "outputs": [ { "name": "stdout", @@ -192,13 +409,7 @@ ] } ], - "source": [ - "# Print the results\n", - "print(f\"Found {len(result['documents'])} documents\")\n", - "for i, doc in enumerate(result[\"documents\"][:3]): # Show first 3 documents\n", - " print(f\"\\nDocument {i+1} (Score: {doc.score:.4f}):\")\n", - " print(doc.content[:200] + \"...\")" - ] + "execution_count": 4 }, { "cell_type": "markdown", @@ -236,11 +447,13 @@ }, { "cell_type": "code", - "execution_count": 5, "metadata": { - "id": "INdC3WvLO-qb" + "id": "INdC3WvLO-qb", + "ExecuteTime": { + "end_time": "2026-05-26T08:59:55.806030Z", + "start_time": "2026-05-26T08:59:55.782346Z" + } }, - "outputs": [], "source": [ "from haystack import Document, Pipeline, super_component\n", "from haystack.components.joiners import DocumentJoiner\n", @@ -283,11 +496,12 @@ "\n", " # Define input mapping\n", " self.input_mapping = {\"query\": [\"text_embedder.text\", \"bm25_retriever.query\", \"ranker.query\"]}" - ] + ], + "outputs": [], + "execution_count": 5 }, { "cell_type": "code", - "execution_count": 6, "metadata": { "colab": { "base_uri": "https://localhost:8080/", @@ -373,106 +587,31 @@ ] }, "id": "yxaN3KBo65pv", - "outputId": "21486dba-7914-4349-a579-2993ec212d86" + "outputId": "21486dba-7914-4349-a579-2993ec212d86", + "ExecuteTime": { + "end_time": "2026-05-26T09:01:35.627813Z", + "start_time": "2026-05-26T08:59:55.807152Z" + } }, + "source": [ + "# Create and run the HybridRetrieverWithRanker\n", + "retriever = HybridRetrieverWithRanker(document_store)\n", + "result = retriever.run(query=query) # instead of retriever.run(text=query, query=query) thanks to input_mapping\n", + "\n", + "# Print the results\n", + "print(f\"Found {len(result['documents'])} documents\")\n", + "for i, doc in enumerate(result[\"documents\"][:3]): # Show first 3 documents\n", + " print(f\"\\nDocument {i+1} (Score: {doc.score:.4f}):\")\n", + " print(doc.content[:200] + \"...\")" + ], "outputs": [ { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "b4246cbc7b0b4f7784293fbd8337befe", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "config.json: 0%| | 0.00/799 [00:00\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 11\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 12\u001b[0m \u001b[0;31m# Deserialize the component from the dictionary\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 13\u001b[0;31m \u001b[0mdeserialized\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcomponent_from_dict\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mDocumentPreprocessor\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mserialized\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m\"document_preprocessor\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 14\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"\\nDeserialized component:\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 15\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdeserialized\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/usr/local/lib/python3.11/dist-packages/haystack/core/serialization.py\u001b[0m in \u001b[0;36mcomponent_from_dict\u001b[0;34m(cls, data, name, callbacks)\u001b[0m\n\u001b[1;32m 164\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 165\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mcallbacks\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mNone\u001b[0m \u001b[0;32mor\u001b[0m \u001b[0mcallbacks\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcomponent_pre_init\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 166\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mdo_from_dict\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 167\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 168\u001b[0m \u001b[0;32mwith\u001b[0m \u001b[0m_hook_component_init\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcomponent_pre_init_callback\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/usr/local/lib/python3.11/dist-packages/haystack/core/serialization.py\u001b[0m in \u001b[0;36mdo_from_dict\u001b[0;34m()\u001b[0m\n\u001b[1;32m 159\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mdo_from_dict\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 160\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mhasattr\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcls\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m\"from_dict\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 161\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mcls\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfrom_dict\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdata\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 162\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 163\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mdefault_from_dict\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcls\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdata\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/usr/local/lib/python3.11/dist-packages/haystack/components/preprocessors/document_preprocessor.py\u001b[0m in \u001b[0;36mfrom_dict\u001b[0;34m(cls, data)\u001b[0m\n\u001b[1;32m 188\u001b[0m \"\"\"\n\u001b[1;32m 189\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;34m\"splitting_function\"\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mdata\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m\"init_parameters\"\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 190\u001b[0;31m data[\"init_parameters\"][\"splitting_function\"] = deserialize_callable(\n\u001b[0m\u001b[1;32m 191\u001b[0m \u001b[0mdata\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m\"init_parameters\"\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m\"splitting_function\"\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 192\u001b[0m )\n", - "\u001b[0;32m/usr/local/lib/python3.11/dist-packages/haystack/utils/callable_serialization.py\u001b[0m in \u001b[0;36mdeserialize_callable\u001b[0;34m(callable_handle)\u001b[0m\n\u001b[1;32m 51\u001b[0m \u001b[0;34m:\u001b[0m\u001b[0mraises\u001b[0m \u001b[0mDeserializationError\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mIf\u001b[0m \u001b[0mthe\u001b[0m \u001b[0mcallable\u001b[0m \u001b[0mcannot\u001b[0m \u001b[0mbe\u001b[0m \u001b[0mfound\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 52\u001b[0m \"\"\"\n\u001b[0;32m---> 53\u001b[0;31m \u001b[0mparts\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcallable_handle\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msplit\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\".\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 54\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 55\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mi\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mparts\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m0\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m-\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;31mAttributeError\u001b[0m: 'NoneType' object has no attribute 'split'" - ] + "outputId": "4fa8cd47-049b-4baa-bcb3-1b1f6f3e6ef8", + "ExecuteTime": { + "end_time": "2026-05-26T09:01:35.682709Z", + "start_time": "2026-05-26T09:01:35.651336Z" } - ], + }, "source": [ "from haystack.core.serialization import component_to_dict, component_from_dict\n", "from haystack.components.preprocessors import DocumentPreprocessor\n", @@ -589,7 +696,27 @@ "doc = Document(content=\"I love pizza!\")\n", "result = deserialized.run(documents=[doc])\n", "print(f\"\\nDeserialized component produced {len(result['documents'])} documents\")" - ] + ], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Serialized component:\n", + "{'type': 'haystack.components.preprocessors.document_preprocessor.DocumentPreprocessor', 'init_parameters': {'remove_empty_lines': True, 'remove_extra_whitespaces': True, 'remove_repeated_substrings': False, 'keep_id': False, 'remove_substrings': None, 'remove_regex': None, 'unicode_normalization': None, 'ascii_only': False, 'split_by': 'word', 'split_length': 250, 'split_overlap': 0, 'split_threshold': 0, 'splitting_function': None, 'respect_sentence_boundary': False, 'language': 'en', 'use_split_rules': True, 'extend_abbreviations': True}}\n", + "\n", + "Deserialized component:\n", + "\n", + "Inputs:\n", + " - documents: list[Document]\n", + "Outputs:\n", + " - documents: list[Document]\n", + "\n", + "Deserialized component produced 1 documents\n" + ] + } + ], + "execution_count": 7 }, { "cell_type": "markdown", @@ -619,11 +746,13 @@ }, { "cell_type": "code", - "execution_count": 8, "metadata": { - "id": "HryYZP9ZO-qc" + "id": "HryYZP9ZO-qc", + "ExecuteTime": { + "end_time": "2026-05-26T09:01:35.692681Z", + "start_time": "2026-05-26T09:01:35.685324Z" + } }, - "outputs": [], "source": [ "from haystack import Document, Pipeline, super_component\n", "from haystack.components.joiners import DocumentJoiner\n", @@ -673,11 +802,12 @@ " \"ranker.documents\": \"ranked_documents\",\n", " \"text_embedder.embedding\": \"query_embedding\",\n", " }" - ] + ], + "outputs": [], + "execution_count": 8 }, { "cell_type": "code", - "execution_count": 9, "metadata": { "colab": { "base_uri": "https://localhost:8080/", @@ -697,22 +827,45 @@ ] }, "id": "INdC3WvLO-qc", - "outputId": "a9d0a257-6969-49bd-f141-7d3d4fe24813" + "outputId": "a9d0a257-6969-49bd-f141-7d3d4fe24813", + "ExecuteTime": { + "end_time": "2026-05-26T09:01:39.167534Z", + "start_time": "2026-05-26T09:01:35.694539Z" + } }, + "source": [ + "# Create and run the AdvancedHybridRetriever\n", + "retriever = AdvancedHybridRetriever(document_store)\n", + "result = retriever.run(query=query)\n", + "\n", + "# Print the results\n", + "print(f\"BM25 documents: {len(result['bm25_documents'])}\")\n", + "print(f\"Embedding documents: {len(result['embedding_documents'])}\")\n", + "print(f\"Joined documents: {len(result['joined_documents'])}\")\n", + "print(f\"Ranked documents: {len(result['ranked_documents'])}\")\n", + "print(f\"Query embedding shape: {len(result['query_embedding'])}\")\n", + "\n", + "# Compare the top document from each stage\n", + "print(\"\\nTop BM25 document:\")\n", + "print(result[\"bm25_documents\"][0].content[:200] + \"...\")\n", + "print(f\"Score: {result['bm25_documents'][0].score:.4f}\")\n", + "\n", + "print(\"\\nTop embedding document:\")\n", + "print(result[\"embedding_documents\"][0].content[:200] + \"...\")\n", + "print(f\"Score: {result['embedding_documents'][0].score:.4f}\")\n", + "\n", + "print(\"\\nTop ranked document:\")\n", + "print(result[\"ranked_documents\"][0].content[:200] + \"...\")\n", + "print(f\"Score: {result['ranked_documents'][0].score:.4f}\")" + ], "outputs": [ { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "1c63ba6f43574419b66fe173a763b04a", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Batches: 0%| | 0/1 [00:00 Date: Tue, 26 May 2026 11:11:16 +0200 Subject: [PATCH 2/3] fix: remove unnecessary output data from tutorial 44 --- .../44_Creating_Custom_SuperComponents.ipynb | 186 +----------------- 1 file changed, 3 insertions(+), 183 deletions(-) diff --git a/tutorials/44_Creating_Custom_SuperComponents.ipynb b/tutorials/44_Creating_Custom_SuperComponents.ipynb index c4d49ce8..81b13f6f 100644 --- a/tutorials/44_Creating_Custom_SuperComponents.ipynb +++ b/tutorials/44_Creating_Custom_SuperComponents.ipynb @@ -48,11 +48,7 @@ { "cell_type": "code", "metadata": { - "id": "UQbU8GUfO-qZ", - "ExecuteTime": { - "end_time": "2026-05-26T08:59:03.406994Z", - "start_time": "2026-05-26T08:58:50.686571Z" - } + "id": "UQbU8GUfO-qZ" }, "source": [ "%%bash\n", @@ -60,184 +56,8 @@ "pip install haystack-ai\n", "pip install \"sentence-transformers>=4.1.0\" datasets \"transformers[torch,sentencepiece]<5\"" ], - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Requirement already satisfied: haystack-ai in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (2.27.0)\n", - "Requirement already satisfied: docstring-parser in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from haystack-ai) (0.17.0)\n", - "Requirement already satisfied: filetype in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from haystack-ai) (1.2.0)\n", - "Requirement already satisfied: haystack-experimental in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from haystack-ai) (0.19.0)\n", - "Requirement already satisfied: jinja2 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from haystack-ai) (3.1.6)\n", - "Requirement already satisfied: jsonschema in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from haystack-ai) (4.26.0)\n", - "Requirement already satisfied: lazy-imports in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from haystack-ai) (1.2.0)\n", - "Requirement already satisfied: markupsafe in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from haystack-ai) (3.0.3)\n", - "Requirement already satisfied: more-itertools in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from haystack-ai) (11.0.1)\n", - "Requirement already satisfied: networkx in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from haystack-ai) (3.6.1)\n", - "Requirement already satisfied: numpy in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from haystack-ai) (2.4.4)\n", - "Requirement already satisfied: openai>=1.99.2 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from haystack-ai) (2.30.0)\n", - "Requirement already satisfied: posthog!=3.12.0 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from haystack-ai) (7.9.12)\n", - "Requirement already satisfied: pydantic in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from haystack-ai) (2.12.5)\n", - "Requirement already satisfied: python-dateutil in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from haystack-ai) (2.9.0.post0)\n", - "Requirement already satisfied: pyyaml in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from haystack-ai) (6.0.3)\n", - "Requirement already satisfied: requests in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from haystack-ai) (2.33.1)\n", - "Requirement already satisfied: tenacity!=8.4.0 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from haystack-ai) (9.1.4)\n", - "Requirement already satisfied: tqdm in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from haystack-ai) (4.67.3)\n", - "Requirement already satisfied: typing-extensions>=4.7 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from haystack-ai) (4.15.0)\n", - "Requirement already satisfied: anyio<5,>=3.5.0 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from openai>=1.99.2->haystack-ai) (4.13.0)\n", - "Requirement already satisfied: distro<2,>=1.7.0 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from openai>=1.99.2->haystack-ai) (1.9.0)\n", - "Requirement already satisfied: httpx<1,>=0.23.0 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from openai>=1.99.2->haystack-ai) (0.28.1)\n", - "Requirement already satisfied: jiter<1,>=0.10.0 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from openai>=1.99.2->haystack-ai) (0.13.0)\n", - "Requirement already satisfied: sniffio in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from openai>=1.99.2->haystack-ai) (1.3.1)\n", - "Requirement already satisfied: six>=1.5 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from posthog!=3.12.0->haystack-ai) (1.17.0)\n", - "Requirement already satisfied: backoff>=1.10.0 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from posthog!=3.12.0->haystack-ai) (2.2.1)\n", - "Requirement already satisfied: annotated-types>=0.6.0 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from pydantic->haystack-ai) (0.7.0)\n", - "Requirement already satisfied: pydantic-core==2.41.5 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from pydantic->haystack-ai) (2.41.5)\n", - "Requirement already satisfied: typing-inspection>=0.4.2 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from pydantic->haystack-ai) (0.4.2)\n", - "Requirement already satisfied: charset_normalizer<4,>=2 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from requests->haystack-ai) (3.4.7)\n", - "Requirement already satisfied: idna<4,>=2.5 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from requests->haystack-ai) (3.11)\n", - "Requirement already satisfied: urllib3<3,>=1.26 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from requests->haystack-ai) (2.6.3)\n", - "Requirement already satisfied: certifi>=2023.5.7 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from requests->haystack-ai) (2026.2.25)\n", - "Requirement already satisfied: attrs>=22.2.0 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from jsonschema->haystack-ai) (26.1.0)\n", - "Requirement already satisfied: jsonschema-specifications>=2023.03.6 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from jsonschema->haystack-ai) (2025.9.1)\n", - "Requirement already satisfied: referencing>=0.28.4 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from jsonschema->haystack-ai) (0.37.0)\n", - "Requirement already satisfied: rpds-py>=0.25.0 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from jsonschema->haystack-ai) (0.30.0)\n", - "Requirement already satisfied: httpcore==1.* in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from httpx<1,>=0.23.0->openai>=1.99.2->haystack-ai) (1.0.9)\n", - "Requirement already satisfied: h11>=0.16 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from httpcore==1.*->httpx<1,>=0.23.0->openai>=1.99.2->haystack-ai) (0.16.0)\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\n", - "\u001B[1m[\u001B[0m\u001B[34;49mnotice\u001B[0m\u001B[1;39;49m]\u001B[0m\u001B[39;49m A new release of pip is available: \u001B[0m\u001B[31;49m25.0.1\u001B[0m\u001B[39;49m -> \u001B[0m\u001B[32;49m26.1.1\u001B[0m\n", - "\u001B[1m[\u001B[0m\u001B[34;49mnotice\u001B[0m\u001B[1;39;49m]\u001B[0m\u001B[39;49m To update, run: \u001B[0m\u001B[32;49mpip install --upgrade pip\u001B[0m\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Collecting sentence-transformers>=4.1.0\n", - " Downloading sentence_transformers-5.5.1-py3-none-any.whl.metadata (18 kB)\n", - "Collecting datasets\n", - " Downloading datasets-4.8.5-py3-none-any.whl.metadata (19 kB)\n", - "Requirement already satisfied: transformers<5 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from transformers[sentencepiece,torch]<5) (4.57.6)\n", - "Requirement already satisfied: huggingface-hub>=0.23.0 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from sentence-transformers>=4.1.0) (0.36.2)\n", - "Requirement already satisfied: torch>=1.11.0 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from sentence-transformers>=4.1.0) (2.11.0)\n", - "Requirement already satisfied: numpy>=1.20.0 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from sentence-transformers>=4.1.0) (2.4.4)\n", - "Collecting scikit-learn>=0.22.0 (from sentence-transformers>=4.1.0)\n", - " Using cached scikit_learn-1.8.0-cp312-cp312-macosx_12_0_arm64.whl.metadata (11 kB)\n", - "Requirement already satisfied: scipy>=1.0.0 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from sentence-transformers>=4.1.0) (1.17.1)\n", - "Requirement already satisfied: typing_extensions>=4.5.0 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from sentence-transformers>=4.1.0) (4.15.0)\n", - "Requirement already satisfied: tqdm>=4.0.0 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from sentence-transformers>=4.1.0) (4.67.3)\n", - "Requirement already satisfied: filelock in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from datasets) (3.25.2)\n", - "Collecting pyarrow>=21.0.0 (from datasets)\n", - " Downloading pyarrow-24.0.0-cp312-cp312-macosx_12_0_arm64.whl.metadata (3.0 kB)\n", - "Collecting dill<0.4.2,>=0.3.0 (from datasets)\n", - " Using cached dill-0.4.1-py3-none-any.whl.metadata (10 kB)\n", - "Collecting pandas (from datasets)\n", - " Downloading pandas-3.0.3-cp312-cp312-macosx_11_0_arm64.whl.metadata (79 kB)\n", - "Requirement already satisfied: requests>=2.32.2 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from datasets) (2.33.1)\n", - "Requirement already satisfied: httpx<1.0.0 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from datasets) (0.28.1)\n", - "Collecting xxhash (from datasets)\n", - " Downloading xxhash-3.7.0-cp312-cp312-macosx_11_0_arm64.whl.metadata (13 kB)\n", - "Collecting multiprocess<0.70.20 (from datasets)\n", - " Using cached multiprocess-0.70.19-py312-none-any.whl.metadata (7.5 kB)\n", - "Collecting fsspec<=2026.2.0,>=2023.1.0 (from fsspec[http]<=2026.2.0,>=2023.1.0->datasets)\n", - " Using cached fsspec-2026.2.0-py3-none-any.whl.metadata (10 kB)\n", - "Requirement already satisfied: packaging in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from datasets) (26.0)\n", - "Requirement already satisfied: pyyaml>=5.1 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from datasets) (6.0.3)\n", - "Requirement already satisfied: regex!=2019.12.17 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from transformers<5->transformers[sentencepiece,torch]<5) (2026.3.32)\n", - "Requirement already satisfied: tokenizers<=0.23.0,>=0.22.0 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from transformers<5->transformers[sentencepiece,torch]<5) (0.22.2)\n", - "Requirement already satisfied: safetensors>=0.4.3 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from transformers<5->transformers[sentencepiece,torch]<5) (0.7.0)\n", - "Requirement already satisfied: accelerate>=0.26.0 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from transformers[sentencepiece,torch]<5) (1.13.0)\n", - "Collecting sentencepiece!=0.1.92,>=0.1.91 (from transformers[sentencepiece,torch]<5)\n", - " Downloading sentencepiece-0.2.1-cp312-cp312-macosx_11_0_arm64.whl.metadata (10 kB)\n", - "Collecting protobuf (from transformers[sentencepiece,torch]<5)\n", - " Downloading protobuf-7.35.0-cp310-abi3-macosx_10_9_universal2.whl.metadata (595 bytes)\n", - "Requirement already satisfied: psutil in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from accelerate>=0.26.0->transformers[sentencepiece,torch]<5) (7.2.2)\n", - "Collecting aiohttp!=4.0.0a0,!=4.0.0a1 (from fsspec[http]<=2026.2.0,>=2023.1.0->datasets)\n", - " Using cached aiohttp-3.13.5-cp312-cp312-macosx_11_0_arm64.whl.metadata (8.1 kB)\n", - "Requirement already satisfied: anyio in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from httpx<1.0.0->datasets) (4.13.0)\n", - "Requirement already satisfied: certifi in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from httpx<1.0.0->datasets) (2026.2.25)\n", - "Requirement already satisfied: httpcore==1.* in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from httpx<1.0.0->datasets) (1.0.9)\n", - "Requirement already satisfied: idna in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from httpx<1.0.0->datasets) (3.11)\n", - "Requirement already satisfied: h11>=0.16 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from httpcore==1.*->httpx<1.0.0->datasets) (0.16.0)\n", - "Requirement already satisfied: hf-xet<2.0.0,>=1.1.3 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from huggingface-hub>=0.23.0->sentence-transformers>=4.1.0) (1.4.3)\n", - "Requirement already satisfied: charset_normalizer<4,>=2 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from requests>=2.32.2->datasets) (3.4.7)\n", - "Requirement already satisfied: urllib3<3,>=1.26 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from requests>=2.32.2->datasets) (2.6.3)\n", - "Collecting joblib>=1.3.0 (from scikit-learn>=0.22.0->sentence-transformers>=4.1.0)\n", - " Using cached joblib-1.5.3-py3-none-any.whl.metadata (5.5 kB)\n", - "Collecting threadpoolctl>=3.2.0 (from scikit-learn>=0.22.0->sentence-transformers>=4.1.0)\n", - " Using cached threadpoolctl-3.6.0-py3-none-any.whl.metadata (13 kB)\n", - "Requirement already satisfied: setuptools<82 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from torch>=1.11.0->sentence-transformers>=4.1.0) (81.0.0)\n", - "Requirement already satisfied: sympy>=1.13.3 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from torch>=1.11.0->sentence-transformers>=4.1.0) (1.14.0)\n", - "Requirement already satisfied: networkx>=2.5.1 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from torch>=1.11.0->sentence-transformers>=4.1.0) (3.6.1)\n", - "Requirement already satisfied: jinja2 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from torch>=1.11.0->sentence-transformers>=4.1.0) (3.1.6)\n", - "Requirement already satisfied: python-dateutil>=2.8.2 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from pandas->datasets) (2.9.0.post0)\n", - "Collecting aiohappyeyeballs>=2.5.0 (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<=2026.2.0,>=2023.1.0->datasets)\n", - " Downloading aiohappyeyeballs-2.6.2-py3-none-any.whl.metadata (5.9 kB)\n", - "Collecting aiosignal>=1.4.0 (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<=2026.2.0,>=2023.1.0->datasets)\n", - " Using cached aiosignal-1.4.0-py3-none-any.whl.metadata (3.7 kB)\n", - "Requirement already satisfied: attrs>=17.3.0 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<=2026.2.0,>=2023.1.0->datasets) (26.1.0)\n", - "Collecting frozenlist>=1.1.1 (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<=2026.2.0,>=2023.1.0->datasets)\n", - " Using cached frozenlist-1.8.0-cp312-cp312-macosx_11_0_arm64.whl.metadata (20 kB)\n", - "Collecting multidict<7.0,>=4.5 (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<=2026.2.0,>=2023.1.0->datasets)\n", - " Using cached multidict-6.7.1-cp312-cp312-macosx_11_0_arm64.whl.metadata (5.3 kB)\n", - "Collecting propcache>=0.2.0 (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<=2026.2.0,>=2023.1.0->datasets)\n", - " Downloading propcache-0.5.2-cp312-cp312-macosx_11_0_arm64.whl.metadata (16 kB)\n", - "Collecting yarl<2.0,>=1.17.0 (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<=2026.2.0,>=2023.1.0->datasets)\n", - " Downloading yarl-1.24.2-cp312-cp312-macosx_11_0_arm64.whl.metadata (94 kB)\n", - "Requirement already satisfied: six>=1.5 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from python-dateutil>=2.8.2->pandas->datasets) (1.17.0)\n", - "Requirement already satisfied: mpmath<1.4,>=1.1.0 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from sympy>=1.13.3->torch>=1.11.0->sentence-transformers>=4.1.0) (1.3.0)\n", - "Requirement already satisfied: MarkupSafe>=2.0 in /Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages (from jinja2->torch>=1.11.0->sentence-transformers>=4.1.0) (3.0.3)\n", - "Downloading sentence_transformers-5.5.1-py3-none-any.whl (588 kB)\n", - "\u001B[2K \u001B[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001B[0m \u001B[32m0.0/588.9 kB\u001B[0m \u001B[31m?\u001B[0m eta \u001B[36m-:--:--\u001B[0m━━━━━━━━━━━\u001B[0m \u001B[32m588.9/588.9 kB\u001B[0m \u001B[31m10.1 MB/s\u001B[0m eta \u001B[36m0:00:00\u001B[0m\n", - "\u001B[?25hDownloading datasets-4.8.5-py3-none-any.whl (528 kB)\n", - "\u001B[2K \u001B[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001B[0m \u001B[32m0.0/529.0 kB\u001B[0m \u001B[31m?\u001B[0m eta \u001B[36m-:--:--\u001B[0m━━━━━━━━━━━\u001B[0m \u001B[32m529.0/529.0 kB\u001B[0m \u001B[31m10.0 MB/s\u001B[0m eta \u001B[36m0:00:00\u001B[0m\n", - "\u001B[?25hUsing cached dill-0.4.1-py3-none-any.whl (120 kB)\n", - "Using cached fsspec-2026.2.0-py3-none-any.whl (202 kB)\n", - "Using cached multiprocess-0.70.19-py312-none-any.whl (150 kB)\n", - "Downloading pyarrow-24.0.0-cp312-cp312-macosx_12_0_arm64.whl (35.0 MB)\n", - "\u001B[2K \u001B[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━0m\u001B[m╺0m\u001B[m━━\u001B[0m \u001B[32m0.0/35.0 MB\u001B[0m \u001B[31m?\u001B[0m eta \u001B[36m-:--:--\u001B[0m━━━━━━━━━━━━━━━━━\u001B[0m \u001B[32m2.4/35.0 MB\u001B[0m \u001B[31m11.8 MB/s\u001B[0m eta \u001B[36m0:00:03\u001B[0m━━━━━━━━━━━━━━━━━\u001B[0m \u001B[32m4.7/35.0 MB\u001B[0m \u001B[31m11.7 MB/s\u001B[0m eta \u001B[36m0:00:03\u001B[0m━━━━━━━━━━━━━━━━━\u001B[0m \u001B[32m7.1/35.0 MB\u001B[0m \u001B[31m11.8 MB/s\u001B[0m eta \u001B[36m0:00:03\u001B[0m━━━━━━━━━━━━━━━━━\u001B[0m \u001B[32m9.4/35.0 MB\u001B[0m \u001B[31m11.8 MB/s\u001B[0m eta \u001B[36m0:00:03\u001B[0m━━━━━━━━━━━━━━━━━\u001B[0m \u001B[32m10.5/35.0 MB\u001B[0m \u001B[31m10.4 MB/s\u001B[0m eta \u001B[36m0:00:03\u001B[0m━━━━━━━━━━━━━━━━━\u001B[0m \u001B[32m13.4/35.0 MB\u001B[0m \u001B[31m11.1 MB/s\u001B[0m eta \u001B[36m0:00:02\u001B[0m━━━━━━━━━━━━━━━━━\u001B[0m \u001B[32m16.3/35.0 MB\u001B[0m \u001B[31m11.5 MB/s\u001B[0m eta \u001B[36m0:00:02\u001B[0m━━━━━━━━━━━━━━━━━\u001B[0m \u001B[32m18.6/35.0 MB\u001B[0m \u001B[31m11.5 MB/s\u001B[0m eta \u001B[36m0:00:02\u001B[0m90m━━━━━━━━━━━━━━━━\u001B[0m \u001B[32m20.2/35.0 MB\u001B[0m \u001B[31m11.1 MB/s\u001B[0m eta \u001B[36m0:00:02\u001B[0m\u001B[0m\u001B[90m━━━━━━━━━━━━━━\u001B[0m \u001B[32m22.3/35.0 MB\u001B[0m \u001B[31m11.0 MB/s\u001B[0m eta \u001B[36m0:00:02\u001B[0m91m╸\u001B[0m\u001B[90m━━━━━━━━━━━━\u001B[0m \u001B[32m24.4/35.0 MB\u001B[0m \u001B[31m10.9 MB/s\u001B[0m eta \u001B[36m0:00:01\u001B[0m━\u001B[0m\u001B[90m╺\u001B[0m\u001B[90m━━━━━━━━━\u001B[0m \u001B[32m26.5/35.0 MB\u001B[0m \u001B[31m10.8 MB/s\u001B[0m eta \u001B[36m0:00:01\u001B[0m━━━\u001B[0m\u001B[91m╸\u001B[0m\u001B[90m━━━━━━━\u001B[0m \u001B[32m28.6/35.0 MB\u001B[0m \u001B[31m10.9 MB/s\u001B[0m eta \u001B[36m0:00:01\u001B[0m━━━━━━\u001B[0m\u001B[90m╺\u001B[0m\u001B[90m━━━━\u001B[0m \u001B[32m30.9/35.0 MB\u001B[0m \u001B[31m10.9 MB/s\u001B[0m eta \u001B[36m0:00:01\u001B[0m━━━━━━━━━\u001B[0m\u001B[90m╺\u001B[0m\u001B[90m━\u001B[0m \u001B[32m33.3/35.0 MB\u001B[0m \u001B[31m10.9 MB/s\u001B[0m eta \u001B[36m0:00:01\u001B[0m━━━━━━━━━━━\u001B[0m \u001B[32m35.0/35.0 MB\u001B[0m \u001B[31m10.9 MB/s\u001B[0m eta \u001B[36m0:00:00\u001B[0m\n", - "\u001B[?25hUsing cached scikit_learn-1.8.0-cp312-cp312-macosx_12_0_arm64.whl (8.1 MB)\n", - "Downloading sentencepiece-0.2.1-cp312-cp312-macosx_11_0_arm64.whl (1.3 MB)\n", - "\u001B[2K \u001B[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001B[0m \u001B[32m0.0/1.3 MB\u001B[0m \u001B[31m?\u001B[0m eta \u001B[36m-:--:--\u001B[0m━━━━━━━━━━━\u001B[0m \u001B[32m1.3/1.3 MB\u001B[0m \u001B[31m11.2 MB/s\u001B[0m eta \u001B[36m0:00:00\u001B[0m\n", - "\u001B[?25hDownloading pandas-3.0.3-cp312-cp312-macosx_11_0_arm64.whl (9.9 MB)\n", - "\u001B[2K \u001B[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━[00m\u001B[90m━━━━\u001B[0m \u001B[32m0.0/9.9 MB\u001B[0m \u001B[31m?\u001B[0m eta \u001B[36m-:--:--\u001B[0m━━━━━━━━━━━━━━━━━\u001B[0m \u001B[32m2.4/9.9 MB\u001B[0m \u001B[31m11.7 MB/s\u001B[0m eta \u001B[36m0:00:01\u001B[0m━━━━━━━━━━━━━━━━━\u001B[0m \u001B[32m4.7/9.9 MB\u001B[0m \u001B[31m11.7 MB/s\u001B[0m eta \u001B[36m0:00:01\u001B[0mm\u001B[91m╸\u001B[0m\u001B[90m━━━━━━━━━━━\u001B[0m \u001B[32m7.1/9.9 MB\u001B[0m \u001B[31m11.7 MB/s\u001B[0m eta \u001B[36m0:00:01\u001B[0m━━━━━━━━━\u001B[0m\u001B[90m╺\u001B[0m\u001B[90m━\u001B[0m \u001B[32m9.4/9.9 MB\u001B[0m \u001B[31m11.7 MB/s\u001B[0m eta \u001B[36m0:00:01\u001B[0m━━━━━━━━━━━\u001B[0m \u001B[32m9.9/9.9 MB\u001B[0m \u001B[31m11.6 MB/s\u001B[0m eta \u001B[36m0:00:00\u001B[0m\n", - "\u001B[?25hDownloading protobuf-7.35.0-cp310-abi3-macosx_10_9_universal2.whl (433 kB)\n", - "Downloading xxhash-3.7.0-cp312-cp312-macosx_11_0_arm64.whl (30 kB)\n", - "Using cached aiohttp-3.13.5-cp312-cp312-macosx_11_0_arm64.whl (500 kB)\n", - "Using cached joblib-1.5.3-py3-none-any.whl (309 kB)\n", - "Using cached threadpoolctl-3.6.0-py3-none-any.whl (18 kB)\n", - "Downloading aiohappyeyeballs-2.6.2-py3-none-any.whl (15 kB)\n", - "Using cached aiosignal-1.4.0-py3-none-any.whl (7.5 kB)\n", - "Using cached frozenlist-1.8.0-cp312-cp312-macosx_11_0_arm64.whl (50 kB)\n", - "Using cached multidict-6.7.1-cp312-cp312-macosx_11_0_arm64.whl (43 kB)\n", - "Downloading propcache-0.5.2-cp312-cp312-macosx_11_0_arm64.whl (55 kB)\n", - "Downloading yarl-1.24.2-cp312-cp312-macosx_11_0_arm64.whl (91 kB)\n", - "Installing collected packages: xxhash, threadpoolctl, sentencepiece, pyarrow, protobuf, propcache, multidict, joblib, fsspec, frozenlist, dill, aiohappyeyeballs, yarl, scikit-learn, pandas, multiprocess, aiosignal, aiohttp, sentence-transformers, datasets\n", - " Attempting uninstall: fsspec\n", - " Found existing installation: fsspec 2026.3.0\n", - " Uninstalling fsspec-2026.3.0:\n", - " Successfully uninstalled fsspec-2026.3.0\n", - "Successfully installed aiohappyeyeballs-2.6.2 aiohttp-3.13.5 aiosignal-1.4.0 datasets-4.8.5 dill-0.4.1 frozenlist-1.8.0 fsspec-2026.2.0 joblib-1.5.3 multidict-6.7.1 multiprocess-0.70.19 pandas-3.0.3 propcache-0.5.2 protobuf-7.35.0 pyarrow-24.0.0 scikit-learn-1.8.0 sentence-transformers-5.5.1 sentencepiece-0.2.1 threadpoolctl-3.6.0 xxhash-3.7.0 yarl-1.24.2\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\n", - "\u001B[1m[\u001B[0m\u001B[34;49mnotice\u001B[0m\u001B[1;39;49m]\u001B[0m\u001B[39;49m A new release of pip is available: \u001B[0m\u001B[31;49m25.0.1\u001B[0m\u001B[39;49m -> \u001B[0m\u001B[32;49m26.1.1\u001B[0m\n", - "\u001B[1m[\u001B[0m\u001B[34;49mnotice\u001B[0m\u001B[1;39;49m]\u001B[0m\u001B[39;49m To update, run: \u001B[0m\u001B[32;49mpip install --upgrade pip\u001B[0m\n" - ] - } - ], - "execution_count": 1 + "outputs": [], + "execution_count": null }, { "cell_type": "markdown", From 5a331af2748d925e4282dd9af7aa342fdbe5d7c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kacper=20=C5=81ukawski?= Date: Tue, 26 May 2026 11:12:03 +0200 Subject: [PATCH 3/3] fix: clean up tutorial 44 --- .../44_Creating_Custom_SuperComponents.ipynb | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) diff --git a/tutorials/44_Creating_Custom_SuperComponents.ipynb b/tutorials/44_Creating_Custom_SuperComponents.ipynb index 81b13f6f..c3f27b06 100644 --- a/tutorials/44_Creating_Custom_SuperComponents.ipynb +++ b/tutorials/44_Creating_Custom_SuperComponents.ipynb @@ -97,11 +97,7 @@ { "cell_type": "code", "metadata": { - "id": "XvLVaFHTO-qb", - "ExecuteTime": { - "end_time": "2026-05-26T08:59:25.694905Z", - "start_time": "2026-05-26T08:59:03.413706Z" - } + "id": "XvLVaFHTO-qb" }, "source": [ "from haystack import Document, Pipeline, super_component\n", @@ -134,17 +130,8 @@ " self.pipeline.connect(\"bm25_retriever\", \"document_joiner\")\n", " self.pipeline.connect(\"embedding_retriever\", \"document_joiner\")" ], - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/kacper.lukawski/Projects/haystack-tutorials/.venv/lib/python3.12/site-packages/tqdm/auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n", - " from .autonotebook import tqdm as notebook_tqdm\n" - ] - } - ], - "execution_count": 2 + "outputs": [], + "execution_count": null }, { "cell_type": "markdown",