跳到內容

提示嵌入輸入

本頁介紹如何將提示嵌入輸入傳遞給 vLLM。

什麼是提示嵌入?

大型語言模型的傳統文字資料流是從文字到 token ID(透過分詞器),然後從 token ID 到提示嵌入。對於傳統的僅解碼器模型(例如 meta-llama/Llama-3.1-8B-Instruct),將 token ID 轉換為提示嵌入的步驟是透過從學習到的嵌入矩陣中查詢來完成的,但模型不限於僅處理與其 token 詞彙對應的嵌入。

注意

提示嵌入目前僅在 v0 引擎中受支援。

離線推理

要輸入多模態資料,請遵循 [vllm.inputs.EmbedsPrompt][] 中的此 schema。

  • prompt_embeds:一個 torch 張量,表示一個提示/token 嵌入序列。其形狀為 (sequence_length, hidden_size),其中 sequence_length 是 token 嵌入的數量,hidden_size 是模型的隱藏大小(嵌入大小)。

Hugging Face Transformers 輸入

您可以將來自 Hugging Face Transformers 模型的提示嵌入傳遞到提示嵌入字典的 'prompt_embeds' 欄位,如下例所示:

examples/offline_inference/prompt_embed_inference.py

線上服務

我們的 OpenAI 相容伺服器透過 補全 API 接受提示嵌入輸入。提示嵌入輸入透過 JSON 包中新的 'prompt_embeds' 鍵新增。

當單個請求中同時提供 'prompt_embeds''prompt' 輸入時,提示嵌入總是優先返回。

提示嵌入以 base64 編碼的 torch 張量形式傳遞。

透過 OpenAI 客戶端的 Transformers 輸入

首先,啟動 OpenAI 相容伺服器

vllm serve meta-llama/Llama-3.2-1B-Instruct --task generate \
  --max-model-len 4096 --enable-prompt-embeds

然後,您可以按如下方式使用 OpenAI 客戶端

examples/online_serving/prompt_embed_inference_with_openai_client.py