From 53d6a573c208dd03013f1fb25e3602ea13b23959 Mon Sep 17 00:00:00 2001 From: anakin87 Date: Wed, 22 Apr 2026 18:02:54 +0200 Subject: [PATCH 1/2] Update vLLM integration page --- integrations/vllm.md | 178 +++++++++++++++++++++++++++++++++++++------ logos/vllm.png | Bin 29138 -> 23180 bytes 2 files changed, 154 insertions(+), 24 deletions(-) diff --git a/integrations/vllm.md b/integrations/vllm.md index ee671dbb..0ba9bbbc 100644 --- a/integrations/vllm.md +++ b/integrations/vllm.md @@ -8,57 +8,187 @@ authors: 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 +pypi: https://pypi.org/project/vllm-haystack +repo: https://github.com/deepset-ai/haystack-core-integrations/tree/main/integrations/vllm type: Model Provider -report_issue: https://github.com/deepset-ai/haystack/issues +report_issue: https://github.com/deepset-ai/haystack-core-integrations/issues logo: /logos/vllm.png version: Haystack 2.0 toc: true --- -Simply use [vLLM](https://github.com/vllm-project/vllm) in your haystack pipeline, to utilize fast, self-hosted LLMs. - -### Table of Contents - +### **Table of Contents** - [Overview](#overview) - [Installation](#installation) +- [Components](#components) - [Usage](#usage) + - [Serving a model with vLLM](#serving-a-model-with-vllm) + - [VLLMChatGenerator](#vllmchatgenerator) + - [VLLMTextEmbedder and VLLMDocumentEmbedder](#vllmtextembedder-and-vllmdocumentembedder) + - [VLLMRanker](#vllmranker) +- [End-to-end example](#end-to-end-example) +- [License](#license) ## Overview [vLLM](https://github.com/vllm-project/vllm) is a high-throughput and memory-efficient inference and serving engine for LLMs. It is an open-source project that allows serving open models in production, when you have GPU resources available. -vLLM can be deployed as a server that implements the OpenAI API protocol and integration with Haystack comes out-of-the-box. -This allows vLLM to be used with the [`OpenAIGenerator`](https://docs.haystack.deepset.ai/docs/openaigenerator) and [`OpenAIChatGenerator`](https://docs.haystack.deepset.ai/docs/openaichatgenerator) components in Haystack. +vLLM serves models behind an OpenAI-compatible HTTP server and supports generative, embedding, and ranking models. The `vllm-haystack` integration provides dedicated Haystack components that connect to a running vLLM server. -For an end-to-end example of [vLLM + Haystack, see this notebook](https://colab.research.google.com/github/deepset-ai/haystack-cookbook/blob/main/notebooks/vllm_inference_engine.ipynb). +## Installation +Install vLLM following the [official instructions](https://docs.vllm.ai/en/latest/getting_started/installation.html). For production use cases, there are other options, including [Docker](https://docs.vllm.ai/en/latest/deployment/docker). + +Then install the Haystack integration: -## Installation -vLLM should be installed. -- you can use `pip`: `pip install vllm` (more information in the [vLLM documentation](https://docs.vllm.ai/en/latest/getting_started/installation.html)) -- for production use cases, there are many other options, including Docker ([docs](https://docs.vllm.ai/en/latest/serving/deploying_with_docker.html)) ```bash -pip install haystack-ai vllm +pip install vllm-haystack ``` +## Components + +This integration introduces the following components: + +- [**VLLMChatGenerator**](https://docs.haystack.deepset.ai/docs/vllmchatgenerator): A component for chat completion using generative models served by vLLM. Supports streaming, tool calling, reasoning, and structured outputs. + +- [**VLLMTextEmbedder**](https://docs.haystack.deepset.ai/docs/vllmtextembedder): A component for embedding a single string (e.g., a query) using an embedding model served by vLLM. + +- [**VLLMDocumentEmbedder**](https://docs.haystack.deepset.ai/docs/vllmdocumentembedder): A component for embedding a list of `Document` objects using an embedding model served by vLLM. + +- [**VLLMRanker**](https://docs.haystack.deepset.ai/docs/vllmranker): A component for reranking documents using a ranking model (cross-encoder or late interaction) served by vLLM. + ## Usage -You first need to run an vLLM OpenAI-compatible server. You can do that using [Python](https://docs.vllm.ai/en/latest/getting_started/quickstart.html#openai-compatible-server) or [Docker](https://docs.vllm.ai/en/latest/serving/deploying_with_docker.html). -Then, you can use the `OpenAIGenerator` and `OpenAIChatGenerator` components in Haystack to query the vLLM server. +### Serving a model with vLLM + +`vllm serve` launches an OpenAI-compatible server. For example, to serve a small generative model with reasoning and tool-calling enabled: + +```bash +vllm serve "Qwen/Qwen3-0.6B" --port 8000 \ + --reasoning-parser qwen3 \ + --enable-auto-tool-choice \ + --tool-call-parser hermes +``` + +Embedding and ranking models are served the same way. Just point `vllm serve` at the relevant model (e.g., `sentence-transformers/all-MiniLM-L6-v2` or `BAAI/bge-reranker-base`). + +### VLLMChatGenerator ```python -from haystack.components.generators.chat import OpenAIChatGenerator +from haystack_integrations.components.generators.vllm import VLLMChatGenerator from haystack.dataclasses import ChatMessage -from haystack.utils import Secret -generator = OpenAIChatGenerator( - api_key=Secret.from_token("VLLM-PLACEHOLDER-API-KEY"), # for compatibility with the OpenAI API, a placeholder api_key is needed - model="mistralai/Mistral-7B-Instruct-v0.1", +llm = VLLMChatGenerator( + model="Qwen/Qwen3-0.6B", api_base_url="http://localhost:8000/v1", - generation_kwargs = {"max_tokens": 512} + generation_kwargs={"extra_body": {"chat_template_kwargs": {"enable_thinking": True}}}, ) -response = generator.run(messages=[ChatMessage.from_user("Hi. Can you help me plan my next trip to Italy?")]) +response = llm.run(messages=[ChatMessage.from_user("Write Python code to reverse a string.")]) +print(response["replies"][0].text) + +# When reasoning is enabled, the reasoning trace is available separately: +print(response["replies"][0].reasoning) ``` + +`VLLMChatGenerator` also supports structured outputs via `response_format` and tool calling, making it a drop-in chat generator for Haystack `Agent` pipelines. + +### VLLMTextEmbedder and VLLMDocumentEmbedder + +Use the two embedders together to build a simple semantic retrieval pipeline: + +```python +from haystack import Document, Pipeline +from haystack.components.retrievers.in_memory import InMemoryEmbeddingRetriever +from haystack.document_stores.in_memory import InMemoryDocumentStore +from haystack_integrations.components.embedders.vllm import ( + VLLMDocumentEmbedder, + VLLMTextEmbedder, +) + +document_store = InMemoryDocumentStore(embedding_similarity_function="cosine") + +docs = [ + Document(content="My name is Wolfgang and I live in Berlin"), + Document(content="My name is Luca and I live in Milan"), + Document(content="Germany has many big cities"), + Document(content="Italy is a country in Europe"), +] + +document_embedder = VLLMDocumentEmbedder( + model="sentence-transformers/all-MiniLM-L6-v2", + api_base_url="http://localhost:8000/v1", +) +document_store.write_documents(document_embedder.run(docs)["documents"]) + +query_pipeline = Pipeline() +query_pipeline.add_component( + "text_embedder", + VLLMTextEmbedder( + model="sentence-transformers/all-MiniLM-L6-v2", + api_base_url="http://localhost:8000/v1", + ), +) +query_pipeline.add_component( + "retriever", + InMemoryEmbeddingRetriever(document_store=document_store, top_k=2), +) +query_pipeline.connect("text_embedder.embedding", "retriever.query_embedding") + +result = query_pipeline.run({"text_embedder": {"text": "Who lives in Berlin?"}}) +for doc in result["retriever"]["documents"]: + print(doc.score, doc.content) +# 0.668... My name is Wolfgang and I live in Berlin +# 0.602... Germany has many big cities +``` + +### VLLMRanker + +Pair `VLLMRanker` with a fast first-stage retriever (e.g., BM25) to rerank candidates by relevance to the query: + +```python +from haystack import Document, Pipeline +from haystack.components.retrievers.in_memory import InMemoryBM25Retriever +from haystack.document_stores.in_memory import InMemoryDocumentStore +from haystack_integrations.components.rankers.vllm import VLLMRanker + +docs = [ + Document(content="Paris is the capital city of France"), + Document(content="Lyon is a major city in France known for cuisine"), + Document(content="Toulouse is a large city in France known for aerospace"), + Document(content="Marseille is a port city in southern France"), + Document(content="France has a rich history and culture"), + Document(content="Berlin is the capital of Germany"), + Document(content="Madrid is the capital city of Spain"), +] +document_store = InMemoryDocumentStore() +document_store.write_documents(docs) + +retriever = InMemoryBM25Retriever(document_store=document_store, top_k=10) +ranker = VLLMRanker( + model="BAAI/bge-reranker-base", + api_base_url="http://localhost:8000/v1", + top_k=3, +) + +pipeline = Pipeline() +pipeline.add_component("retriever", retriever) +pipeline.add_component("ranker", ranker) +pipeline.connect("retriever.documents", "ranker.documents") + +query = "france cities" +result = pipeline.run({"retriever": {"query": query}, "ranker": {"query": query}}) +for doc in result["ranker"]["documents"]: + print(doc.score, doc.content) +# 0.986... Paris is the capital city of France +# 0.914... Lyon is a major city in France known for cuisine +# 0.858... Toulouse is a large city in France known for aerospace +``` + +## End-to-end example + +For a complete walkthrough covering generative, embedding, and ranking models — including a tool-calling agent and a retrieval + reranking pipeline — see the [vLLM + Haystack cookbook notebook](https://haystack.deepset.ai/cookbook/vllm_inference_engine). + +## License + +`vllm-haystack` is distributed under the terms of the [Apache-2.0](https://spdx.org/licenses/Apache-2.0.html) license. diff --git a/logos/vllm.png b/logos/vllm.png index 6a3603a885270ab1f84bd7acaa3dc49f1909e528..a425842129626fa41e6bc1558a1a033e65b47c72 100644 GIT binary patch literal 23180 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 literal 29138 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 Date: Wed, 22 Apr 2026 18:06:41 +0200 Subject: [PATCH 2/2] fixes --- integrations/vllm.md | 2 +- logos/vllm.png | Bin 23180 -> 39360 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/integrations/vllm.md b/integrations/vllm.md index 0ba9bbbc..df6bfd1a 100644 --- a/integrations/vllm.md +++ b/integrations/vllm.md @@ -16,7 +16,7 @@ logo: /logos/vllm.png version: Haystack 2.0 toc: true --- -### **Table of Contents** +### Table of Contents - [Overview](#overview) - [Installation](#installation) - [Components](#components) diff --git a/logos/vllm.png b/logos/vllm.png index a425842129626fa41e6bc1558a1a033e65b47c72..69a91abeb7c6d071ccab497b63d4b3ad471448e0 100644 GIT binary patch literal 39360 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𪶸8z+?|C$nO`c)zhh+B7$L*DLwR6-@D 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 Ljr3E0VFmmj1-uYu literal 23180 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