From 844931d46b79ce37056bb177f2b41dc775481cc0 Mon Sep 17 00:00:00 2001 From: anakin87 Date: Fri, 5 Jun 2026 12:10:10 +0200 Subject: [PATCH 1/3] separate hf integrations - draft --- integrations/huggingface-api.md | 125 +++++++++++++++++ integrations/huggingface.md | 188 ++++++++++---------------- integrations/sentence-transformers.md | 113 ++++++++++++++++ logos/sentence-transformers.png | Bin 0 -> 46076 bytes logos/transformers.png | Bin 0 -> 47973 bytes 5 files changed, 310 insertions(+), 116 deletions(-) create mode 100644 integrations/huggingface-api.md create mode 100644 integrations/sentence-transformers.md create mode 100644 logos/sentence-transformers.png create mode 100644 logos/transformers.png diff --git a/integrations/huggingface-api.md b/integrations/huggingface-api.md new file mode 100644 index 00000000..e11580ee --- /dev/null +++ b/integrations/huggingface-api.md @@ -0,0 +1,125 @@ +--- +layout: integration +name: Hugging Face API +description: Use models through Hugging Face APIs - Inference Providers, Inference Endpoints, TGI and TEI +authors: + - name: deepset + socials: + github: deepset-ai + twitter: deepset_ai + linkedin: https://www.linkedin.com/company/deepset-ai/ +pypi: https://pypi.org/project/huggingface-api-haystack +repo: https://github.com/deepset-ai/haystack-core-integrations/tree/main/integrations/huggingface_api +type: Model Provider +report_issue: https://github.com/deepset-ai/haystack-core-integrations/issues +logo: /logos/huggingface.png +version: Haystack 2.0 +toc: true +--- + +### **Table of Contents** + +- [Overview](#overview) +- [Installation](#installation) +- [Usage](#usage) + +## Overview + +With this integration, you can use models through Hugging Face APIs: +- [Serverless Inference API (Inference Providers)](https://huggingface.co/docs/inference-providers): access many models from different providers through a unified API. +- [Inference Endpoints](https://huggingface.co/inference-endpoints): deploy models on dedicated, fully managed infrastructure. +- Self-hosted [Text Generation Inference (TGI)](https://github.com/huggingface/text-generation-inference) and [Text Embeddings Inference (TEI)](https://github.com/huggingface/text-embeddings-inference) servers. + +Haystack supports Hugging Face models in other ways too: +- [Hugging Face Transformers](https://haystack.deepset.ai/integrations/huggingface) for local models (LLMs, extractive QA, classification, NER) +- [Sentence Transformers](https://haystack.deepset.ai/integrations/sentence-transformers) for local embedding and ranking models +- [Optimum](https://haystack.deepset.ai/integrations/optimum) for high-performance inference with ONNX Runtime + +## Installation + +```bash +pip install huggingface-api-haystack +``` + +## Usage + +Unless you are using a self-hosted TGI/TEI server, set your Hugging Face token as the `HF_API_TOKEN` or `HF_TOKEN` environment variable. + +### Components + +This integration provides several components to interact with Hugging Face APIs: +- [`HuggingFaceAPIChatGenerator`](https://docs.haystack.deepset.ai/docs/huggingfaceapichatgenerator): chat generation with LLMs. +- [`HuggingFaceAPITextEmbedder`](https://docs.haystack.deepset.ai/docs/huggingfaceapitextembedder): creates an embedding for text (used in query/RAG pipelines). +- [`HuggingFaceAPIDocumentEmbedder`](https://docs.haystack.deepset.ai/docs/huggingfaceapidocumentembedder): enriches documents with embeddings (used in indexing pipelines). + +In addition, [`HuggingFaceTEIRanker`](https://docs.haystack.deepset.ai/docs/huggingfaceteiranker), included in `haystack-ai`, ranks documents based on their similarity to the query, using a TEI endpoint. + +### Chat Generation + +Use [`HuggingFaceAPIChatGenerator`](https://docs.haystack.deepset.ai/docs/huggingfaceapichatgenerator) with the Serverless Inference API (Inference Providers): + +```python +from haystack.dataclasses import ChatMessage +from haystack_integrations.components.generators.huggingface_api import HuggingFaceAPIChatGenerator + +generator = HuggingFaceAPIChatGenerator( + api_type="serverless_inference_api", + api_params={"model": "Qwen/Qwen2.5-7B-Instruct", "provider": "together"}, +) + +messages = [ChatMessage.from_user("What's Natural Language Processing? Be brief.")] +result = generator.run(messages) +print(result) +``` + +To use a dedicated Inference Endpoint or a self-hosted TGI server, pass its URL instead: + +```python +generator = HuggingFaceAPIChatGenerator( + api_type="inference_endpoints", # or "text_generation_inference" for self-hosted TGI + api_params={"url": ""}, +) +``` + +### Embedding Models + +To create semantic embeddings for documents, use [`HuggingFaceAPIDocumentEmbedder`](https://docs.haystack.deepset.ai/docs/huggingfaceapidocumentembedder) in your indexing pipeline. For generating embeddings for queries, use [`HuggingFaceAPITextEmbedder`](https://docs.haystack.deepset.ai/docs/huggingfaceapitextembedder). + +```python +from haystack_integrations.components.embedders.huggingface_api import HuggingFaceAPITextEmbedder + +text_embedder = HuggingFaceAPITextEmbedder( + api_type="serverless_inference_api", + api_params={"model": "BAAI/bge-small-en-v1.5"}, +) + +print(text_embedder.run("I love pizza!")) +# {'embedding': [0.017020374536514282, -0.023255806416273117, ...]} +``` + +Both embedders also work with a self-hosted TEI server: + +```python +text_embedder = HuggingFaceAPITextEmbedder( + api_type="text_embeddings_inference", + api_params={"url": "http://localhost:8080"}, +) +``` + +### Ranking Models + +Use [`HuggingFaceTEIRanker`](https://docs.haystack.deepset.ai/docs/huggingfaceteiranker) to rank documents with a reranking model served by a TEI endpoint: + +```python +from haystack import Document +from haystack.components.rankers import HuggingFaceTEIRanker + +ranker = HuggingFaceTEIRanker(url="http://localhost:8080", top_k=2) + +docs = [Document(content="The capital of France is Paris"), + Document(content="The capital of Germany is Berlin")] + +result = ranker.run(query="What is the capital of France?", documents=docs) +print(result["documents"][0].content) +# The capital of France is Paris +``` diff --git a/integrations/huggingface.md b/integrations/huggingface.md index 6da56ca2..47796671 100644 --- a/integrations/huggingface.md +++ b/integrations/huggingface.md @@ -1,18 +1,18 @@ --- layout: integration -name: Hugging Face -description: Use Models on Hugging Face with Haystack +name: Hugging Face Transformers +description: Run Transformers models locally in your Haystack pipelines authors: - name: deepset socials: github: deepset-ai twitter: deepset_ai linkedin: https://www.linkedin.com/company/deepset-ai/ -pypi: https://pypi.org/project/farm-haystack +pypi: https://pypi.org/project/haystack-ai repo: https://github.com/deepset-ai/haystack type: Model Provider report_issue: https://github.com/deepset-ai/haystack/issues -logo: /logos/huggingface.png +logo: /logos/transformers.png version: Haystack 2.0 toc: true --- @@ -25,130 +25,47 @@ toc: true ## Overview -You can use models on [Hugging Face](https://huggingface.co/) in your Haystack pipelines with [Generators](https://docs.haystack.deepset.ai/docs/generators), [Embedders](https://docs.haystack.deepset.ai/docs/embedders), [Rankers](https://docs.haystack.deepset.ai/docs/rankers) and [Readers](https://docs.haystack.deepset.ai/docs/readers)! +[Transformers](https://huggingface.co/docs/transformers/index) is Hugging Face's library for state-of-the-art machine learning models. With this integration, you can run models from the [Hugging Face Hub](https://huggingface.co/models) **locally**, on your own machine, in your Haystack pipelines. -### Installation +Haystack supports Hugging Face models in other ways too: +- [Sentence Transformers](https://haystack.deepset.ai/integrations/sentence-transformers) for local embedding and ranking models +- [Hugging Face API](https://haystack.deepset.ai/integrations/huggingface-api) to call models via Inference Providers, Inference Endpoints, or self-hosted TGI/TEI +- [Optimum](https://haystack.deepset.ai/integrations/optimum) for high-performance inference with ONNX Runtime + +## Installation ```bash -pip install haystack-ai +pip install haystack-ai "transformers[torch,sentencepiece]" ``` -### Usage - -You can use models on Hugging Face in various ways: - -#### Embedding Models +## Usage -You can leverage embedding models from Hugging Face through four components: [SentenceTransformersTextEmbedder](https://docs.haystack.deepset.ai/docs/sentencetransformerstextembedder), [SentenceTransformersDocumentEmbedder](https://docs.haystack.deepset.ai/docs/sentencetransformersdocumentembedder), [HuggingFaceAPITextEmbedder](https://docs.haystack.deepset.ai/docs/huggingfaceapitextembedder) and [HuggingFaceAPIDocumentEmbedder](https://docs.haystack.deepset.ai/docs/huggingfaceapidocumentembedder). +### Components -To create semantic embeddings for documents, use a Document Embedder in your indexing pipeline. For generating embeddings for queries, use a Text Embedder. +Haystack provides several components that run Transformers models locally: +- [`HuggingFaceLocalChatGenerator`](https://docs.haystack.deepset.ai/docs/huggingfacelocalchatgenerator): chat generation with local LLMs. +- [`ExtractiveReader`](https://docs.haystack.deepset.ai/docs/extractivereader): extracts answers from documents using question answering models. +- [`TransformersTextRouter`](https://docs.haystack.deepset.ai/docs/transformerstextrouter) and [`TransformersZeroShotTextRouter`](https://docs.haystack.deepset.ai/docs/transformerszeroshottextrouter): route text to different pipeline branches based on classification. +- [`TransformersZeroShotDocumentClassifier`](https://docs.haystack.deepset.ai/docs/transformerszeroshotdocumentclassifier): classifies documents with zero-shot classification models. +- [`NamedEntityExtractor`](https://docs.haystack.deepset.ai/docs/namedentityextractor): annotates named entities in documents (with the `hugging_face` backend). -Depending on the hosting option (local Sentence Transformers model, Serverless Inference API, Inference Endpoints, or self-hosted Text Embeddings Inference), select the suitable Hugging Face Embedder component and initialize it with the model name. +### Chat Generation -Below is the example indexing pipeline with `InMemoryDocumentStore`, `DocumentWriter` and `SentenceTransformersDocumentEmbedder`: +Use [`HuggingFaceLocalChatGenerator`](https://docs.haystack.deepset.ai/docs/huggingfacelocalchatgenerator) to run a chat model locally: ```python -from haystack import Document -from haystack import Pipeline -from haystack.document_stores.in_memory import InMemoryDocumentStore -from haystack.components.embedders import SentenceTransformersDocumentEmbedder -from haystack.components.writers import DocumentWriter - -document_store = InMemoryDocumentStore(embedding_similarity_function="cosine") - -documents = [Document(content="My name is Wolfgang and I live in Berlin"), - Document(content="I saw a black horse running"), - Document(content="Germany has many big cities")] - -indexing_pipeline = Pipeline() -indexing_pipeline.add_component("embedder", SentenceTransformersDocumentEmbedder(model="sentence-transformers/all-MiniLM-L6-v2")) -indexing_pipeline.add_component("writer", DocumentWriter(document_store=document_store)) -indexing_pipeline.connect("embedder", "writer") -indexing_pipeline.run({ - "embedder":{"documents":documents} - }) -``` +from haystack.components.generators.chat import HuggingFaceLocalChatGenerator +from haystack.dataclasses import ChatMessage -#### Generative Models (LLMs) +generator = HuggingFaceLocalChatGenerator(model="Qwen/Qwen3-0.6B") -You can leverage text generation models from Hugging Face through three components: [HuggingFaceLocalGenerator](https://docs.haystack.deepset.ai/docs/huggingfacelocalgenerator), [HuggingFaceAPIGenerator](https://docs.haystack.deepset.ai/docs/huggingfaceapigenerator) and [HuggingFaceAPIChatGenerator](https://docs.haystack.deepset.ai/docs/huggingfaceapichatgenerator). - -Depending on the model type (chat or text completion) and hosting option (local Transformer model, Serverless Inference API, Inference Endpoints, or self-hosted Text Generation Inference), select the suitable Hugging Face Generator component and initialize it with the model name. - -Below is the example query pipeline that uses `HuggingFaceH4/zephyr-7b-beta` hosted on Serverless Inference API with `HuggingFaceAPIGenerator`: - -```python -from haystack import Pipeline -from haystack.utils import Secret -from haystack.components.retrievers.in_memory import InMemoryBM25Retriever -from haystack.components.builders.prompt_builder import PromptBuilder -from haystack.components.generators import HuggingFaceAPIGenerator - -template = """ -Given the following information, answer the question. - -Context: -{% for document in documents %} - {{ document.text }} -{% endfor %} - -Question: What's the official language of {{ country }}? -""" -pipe = Pipeline() - -generator = HuggingFaceAPIGenerator(api_type="serverless_inference_api", - api_params={"model": "HuggingFaceH4/zephyr-7b-beta"}, - token=Secret.from_token("YOUR_HF_API_TOKEN")) - -pipe.add_component("retriever", InMemoryBM25Retriever(document_store=docstore)) -pipe.add_component("prompt_builder", PromptBuilder(template=template)) -pipe.add_component("llm", generator) -pipe.connect("retriever", "prompt_builder.documents") -pipe.connect("prompt_builder", "llm") - -pipe.run({ - "prompt_builder": { - "country": "France" - } -}) +messages = [ChatMessage.from_user("What's Natural Language Processing? Be brief.")] +print(generator.run(messages)) ``` -#### Ranker Models - -To use cross encoder models on Hugging Face, initialize a `SentenceTransformersRanker` with the model name. You can then use this `SentenceTransformersRanker` to sort documents based on their relevancy to the query. +### Extractive Question Answering -Below is the example of document retrieval pipeline with `InMemoryBM25Retriever` and `SentenceTransformersRanker`: - -```python -from haystack import Document, Pipeline -from haystack.document_stores.in_memory import InMemoryDocumentStore -from haystack.components.retrievers.in_memory import InMemoryBM25Retriever -from haystack.components.rankers import TransformersSimilarityRanker - -docs = [Document(content="Paris is in France"), - Document(content="Berlin is in Germany"), - Document(content="Lyon is in France")] -document_store = InMemoryDocumentStore() -document_store.write_documents(docs) - -retriever = InMemoryBM25Retriever(document_store = document_store) -ranker = TransformersSimilarityRanker(model="cross-encoder/ms-marco-MiniLM-L-6-v2") - -document_ranker_pipeline = Pipeline() -document_ranker_pipeline.add_component(instance=retriever, name="retriever") -document_ranker_pipeline.add_component(instance=ranker, name="ranker") -document_ranker_pipeline.connect("retriever.documents", "ranker.documents") - -query = "Cities in France" -document_ranker_pipeline.run(data={"retriever": {"query": query, "top_k": 3}, - "ranker": {"query": query, "top_k": 2}}) -``` - -#### Reader Models - -To use question answering models on Hugging Face, initialize a `ExtractiveReader` with the model name. You can then use this `ExtractiveReader` to extract answers from the relevant context. - -Below is the example of extractive question answering pipeline with `InMemoryBM25Retriever` and `ExtractiveReader`: +Use [`ExtractiveReader`](https://docs.haystack.deepset.ai/docs/extractivereader) to extract answers from the relevant context: ```python from haystack import Document, Pipeline @@ -163,16 +80,55 @@ docs = [Document(content="Paris is the capital of France."), document_store = InMemoryDocumentStore() document_store.write_documents(docs) -retriever = InMemoryBM25Retriever(document_store = document_store) +retriever = InMemoryBM25Retriever(document_store=document_store) reader = ExtractiveReader(model="deepset/roberta-base-squad2-distilled") extractive_qa_pipeline = Pipeline() extractive_qa_pipeline.add_component(instance=retriever, name="retriever") extractive_qa_pipeline.add_component(instance=reader, name="reader") - extractive_qa_pipeline.connect("retriever.documents", "reader.documents") query = "What is the capital of France?" -extractive_qa_pipeline.run(data={"retriever": {"query": query, "top_k": 3}, - "reader": {"query": query, "top_k": 2}}) +extractive_qa_pipeline.run(data={"retriever": {"query": query, "top_k": 3}, + "reader": {"query": query, "top_k": 2}}) +``` + +### Zero-Shot Document Classification + +Use [`TransformersZeroShotDocumentClassifier`](https://docs.haystack.deepset.ai/docs/transformerszeroshotdocumentclassifier) to classify documents with labels of your choice, without fine-tuning: + +```python +from haystack import Document +from haystack.components.classifiers import TransformersZeroShotDocumentClassifier + +documents = [Document(content="Today was a nice day!"), + Document(content="Yesterday was a bad day!")] + +classifier = TransformersZeroShotDocumentClassifier( + model="cross-encoder/nli-deberta-v3-xsmall", + labels=["positive", "negative"], +) + +result = classifier.run(documents=documents) +print([doc.meta["classification"]["label"] for doc in result["documents"]]) +# ['positive', 'negative'] +``` + +### Named Entity Recognition + +Use [`NamedEntityExtractor`](https://docs.haystack.deepset.ai/docs/namedentityextractor) to annotate named entities in documents: + +```python +from haystack import Document +from haystack.components.extractors.named_entity_extractor import NamedEntityExtractor + +documents = [ + Document(content="I'm Merlin, the happy pig!"), + Document(content="My name is Clara and I live in Berkeley, California."), +] +extractor = NamedEntityExtractor(backend="hugging_face", model="dslim/bert-base-NER") + +results = extractor.run(documents=documents)["documents"] +annotations = [NamedEntityExtractor.get_stored_annotations(doc) for doc in results] +print(annotations) ``` diff --git a/integrations/sentence-transformers.md b/integrations/sentence-transformers.md new file mode 100644 index 00000000..df17d9cc --- /dev/null +++ b/integrations/sentence-transformers.md @@ -0,0 +1,113 @@ +--- +layout: integration +name: Sentence Transformers +description: Use Sentence Transformers embedding and ranking models in your Haystack pipelines +authors: + - name: deepset + socials: + github: deepset-ai + twitter: deepset_ai + linkedin: https://www.linkedin.com/company/deepset-ai/ +pypi: https://pypi.org/project/haystack-ai +repo: https://github.com/deepset-ai/haystack +type: Model Provider +report_issue: https://github.com/deepset-ai/haystack/issues +logo: /logos/sentence-transformers.png +version: Haystack 2.0 +toc: true +--- + +### **Table of Contents** + +- [Overview](#overview) +- [Installation](#installation) +- [Usage](#usage) + +## Overview + +[Sentence Transformers](https://www.sbert.net/) is a library for state-of-the-art embedding and reranking models. With this integration, you can run Sentence Transformers compatible models from the [Hugging Face Hub](https://huggingface.co/models?library=sentence-transformers) **locally**, on your own machine, in your Haystack pipelines. + +Haystack supports Hugging Face models in other ways too: +- [Hugging Face Transformers](https://haystack.deepset.ai/integrations/huggingface) for other local models (LLMs, extractive QA, classification, NER) +- [Hugging Face API](https://haystack.deepset.ai/integrations/huggingface-api) to call models via Inference Providers, Inference Endpoints, or self-hosted TGI/TEI +- [Optimum](https://haystack.deepset.ai/integrations/optimum) for high-performance inference with ONNX Runtime + +## Installation + +```bash +pip install haystack-ai "sentence-transformers>=5.0.0" +``` + +## Usage + +### Components + +Haystack provides several components based on Sentence Transformers: +- Embedders: + - [`SentenceTransformersTextEmbedder`](https://docs.haystack.deepset.ai/docs/sentencetransformerstextembedder): creates a dense embedding for text (used in query/RAG pipelines). + - [`SentenceTransformersDocumentEmbedder`](https://docs.haystack.deepset.ai/docs/sentencetransformersdocumentembedder): enriches documents with dense embeddings (used in indexing pipelines). + - [`SentenceTransformersSparseTextEmbedder`](https://docs.haystack.deepset.ai/docs/sentencetransformerssparsetextembedder): creates a sparse embedding for text (used in query/RAG pipelines). + - [`SentenceTransformersSparseDocumentEmbedder`](https://docs.haystack.deepset.ai/docs/sentencetransformerssparsedocumentembedder): enriches documents with sparse embeddings (used in indexing pipelines). + - [`SentenceTransformersDocumentImageEmbedder`](https://docs.haystack.deepset.ai/docs/sentencetransformersdocumentimageembedder): enriches documents with embeddings computed from their images. +- Rankers: + - [`SentenceTransformersSimilarityRanker`](https://docs.haystack.deepset.ai/docs/sentencetransformerssimilarityranker): ranks documents based on their similarity to the query, using cross-encoder models. + - [`SentenceTransformersDiversityRanker`](https://docs.haystack.deepset.ai/docs/sentencetransformersdiversityranker): ranks documents to maximize their overall diversity. + +### Embedding Models + +To create semantic embeddings for documents, use `SentenceTransformersDocumentEmbedder` in your indexing pipeline. For generating embeddings for queries, use `SentenceTransformersTextEmbedder`. + +Below is an example of a document retrieval pipeline, after the documents have been indexed with their embeddings: + +```python +from haystack import Document, Pipeline +from haystack.components.embedders import SentenceTransformersDocumentEmbedder, SentenceTransformersTextEmbedder +from haystack.components.retrievers.in_memory import InMemoryEmbeddingRetriever +from haystack.document_stores.in_memory import InMemoryDocumentStore + +document_store = InMemoryDocumentStore(embedding_similarity_function="cosine") + +documents = [Document(content="My name is Wolfgang and I live in Berlin"), + Document(content="I saw a black horse running"), + Document(content="Germany has many big cities")] + +document_embedder = SentenceTransformersDocumentEmbedder(model="sentence-transformers/all-MiniLM-L6-v2") +documents_with_embeddings = document_embedder.run(documents)["documents"] +document_store.write_documents(documents_with_embeddings) + +query_pipeline = Pipeline() +query_pipeline.add_component("text_embedder", SentenceTransformersTextEmbedder(model="sentence-transformers/all-MiniLM-L6-v2")) +query_pipeline.add_component("retriever", InMemoryEmbeddingRetriever(document_store=document_store)) +query_pipeline.connect("text_embedder.embedding", "retriever.query_embedding") + +result = query_pipeline.run({"text_embedder": {"text": "Who lives in Berlin?"}}) +``` + +### Sparse Embedding Models + +Sparse embedding models like SPLADE produce interpretable embeddings and can perform better than dense models in out-of-domain settings. Currently, sparse embedding retrieval is supported by the [Qdrant Document Store](https://haystack.deepset.ai/integrations/qdrant-document-store). + +```python +from haystack.components.embedders import SentenceTransformersSparseTextEmbedder + +text_embedder = SentenceTransformersSparseTextEmbedder() + +print(text_embedder.run("I love pizza!")) +# {'sparse_embedding': SparseEmbedding(indices=[999, 1045, ...], values=[0.918, 0.867, ...])} +``` + +### Ranking Models + +To rank documents based on their relevance to the query, use `SentenceTransformersSimilarityRanker` with a cross-encoder model: + +```python +from haystack import Document +from haystack.components.rankers import SentenceTransformersSimilarityRanker + +ranker = SentenceTransformersSimilarityRanker(model="cross-encoder/ms-marco-MiniLM-L-6-v2") + +docs = [Document(content="Paris"), Document(content="Berlin")] +result = ranker.run(query="City in Germany", documents=docs) +print(result["documents"][0].content) +# Berlin +``` diff --git a/logos/sentence-transformers.png b/logos/sentence-transformers.png new file mode 100644 index 0000000000000000000000000000000000000000..20dc6abb28aeb04cd9e275f41dc5b19547979b99 GIT binary patch literal 46076 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 Nla*4GEEYHN`yYgt#<&0g literal 0 HcmV?d00001 diff --git a/logos/transformers.png b/logos/transformers.png new file mode 100644 index 0000000000000000000000000000000000000000..a24dd610b4b255c8a095e5b5c691799e580f56ea GIT binary patch literal 47973 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 UDo46bfY4q%Q-50g*!2DX0QvwyaR2}S literal 0 HcmV?d00001 From 8bc07a9fe076d9fcb0e0a439f0c13ac09ce791da Mon Sep 17 00:00:00 2001 From: anakin87 Date: Fri, 5 Jun 2026 12:53:01 +0200 Subject: [PATCH 2/3] updates --- integrations/huggingface-api.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/integrations/huggingface-api.md b/integrations/huggingface-api.md index e11580ee..c828df04 100644 --- a/integrations/huggingface-api.md +++ b/integrations/huggingface-api.md @@ -51,8 +51,7 @@ This integration provides several components to interact with Hugging Face APIs: - [`HuggingFaceAPIChatGenerator`](https://docs.haystack.deepset.ai/docs/huggingfaceapichatgenerator): chat generation with LLMs. - [`HuggingFaceAPITextEmbedder`](https://docs.haystack.deepset.ai/docs/huggingfaceapitextembedder): creates an embedding for text (used in query/RAG pipelines). - [`HuggingFaceAPIDocumentEmbedder`](https://docs.haystack.deepset.ai/docs/huggingfaceapidocumentembedder): enriches documents with embeddings (used in indexing pipelines). - -In addition, [`HuggingFaceTEIRanker`](https://docs.haystack.deepset.ai/docs/huggingfaceteiranker), included in `haystack-ai`, ranks documents based on their similarity to the query, using a TEI endpoint. +- [`HuggingFaceTEIRanker`](https://docs.haystack.deepset.ai/docs/huggingfaceteiranker): ranks documents based on their similarity to the query, using a TEI endpoint. ### Chat Generation @@ -112,7 +111,7 @@ Use [`HuggingFaceTEIRanker`](https://docs.haystack.deepset.ai/docs/huggingfacete ```python from haystack import Document -from haystack.components.rankers import HuggingFaceTEIRanker +from haystack_integrations.components.rankers.huggingface_api import HuggingFaceTEIRanker ranker = HuggingFaceTEIRanker(url="http://localhost:8080", top_k=2) From 707699b9c657f87ce2d161396c68fce400f704c9 Mon Sep 17 00:00:00 2001 From: Stefano Fiorucci Date: Fri, 5 Jun 2026 18:50:32 +0200 Subject: [PATCH 3/3] Update integrations/huggingface-api.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Bilge Yücel --- integrations/huggingface-api.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/integrations/huggingface-api.md b/integrations/huggingface-api.md index c828df04..4d89f014 100644 --- a/integrations/huggingface-api.md +++ b/integrations/huggingface-api.md @@ -66,8 +66,7 @@ generator = HuggingFaceAPIChatGenerator( api_params={"model": "Qwen/Qwen2.5-7B-Instruct", "provider": "together"}, ) -messages = [ChatMessage.from_user("What's Natural Language Processing? Be brief.")] -result = generator.run(messages) +result = generator.run("What's Natural Language Processing? Be brief.") print(result) ```