vLLM 是一款專為大語言模型推理加速而設計的框架,實現了 KV 緩存內存幾乎零浪費,解決了內存管理瓶頸問題。

更多 vLLM 中文文檔及教程可訪問 →vllm.hyper.ai/

*在線運行 vLLM 入門教程:零基礎分步指南

源碼 examples/offline_inference/reproduciblity.py

# SPDX-License-Identifier: Apache-2.0
import os

from vllm import LLM, SamplingParams

# 為了性能考慮,vllm 不能保證結果的默認情況下可重複性,
# 您需要做以下事情才能實現
# 可復現結果:
# 1.關閉多處理以使計劃確定性。
# Note (Woosuk) :這是不需要的,對於 V0而言,這將被忽略。
os.environ["VLLM_ENABLE_V1_MULTIPROCESSING"] = "0"
# 2.修復五十年據種子以獲得可重複性。默認種子為 None,不可復現。
SEED = 42


# Note (Woosuk) :即使使用上述兩個設置,vLLM 也僅提供
# 當它在相同的硬件和相同的 vLLM 版本上運行時,它的可重複性。
# 此外,在線服務 API ( "vLLM 服務") 不支持可重複性
# 因為幾乎不可能在在線服務設置。

llm = LLM(model="facebook/opt-125m", seed=SEED)

prompts = [
    "Hello, my name is",
    "The president of the United States is",
    "The capital of France is",
    "The future of AI is",
]
sampling_params = SamplingParams(temperature=0.8, top_p=0.95)

outputs = llm.generate(prompts, sampling_params)
for output in outputs:
    prompt = output.prompt
    generated_text = output.outputs[0].text
    print(f"Prompt: {prompt!r}, Generated text: {generated_text!r}")