文件

部署模型

用 vLLM、SGLang、vLLM-Omni 或 llama.cpp 和你自己的引擎引數執行任何 Hugging Face 模型(文字、影象、影片或語音):有專屬 API 金鑰的 OpenAI 相容端點,以及 root SSH。

在控制台中檢視

  1. 在控制台中開啟 Models。
  2. 按 Hugging Face 上的名稱填寫模型,例如 Qwen/Qwen3-8B,或直接貼上模型連結。
  3. 選擇引擎:文字模型用 vLLM 或 SGLang,影象和影片模型用 vLLM-Omni 或 SGLang,語音和聲音用 vLLM-Omni,GGUF 檔案用 llama.cpp。使用 llama.cpp 時,在冒號後加上量化方式,例如 unsloth/Qwen3-8B-GGUF:Q4_K_M。
  4. 如果有自己的引擎引數,就貼進去(見下文)。
  5. 對於受限(gated)或私有的模型,請新增一個具有讀取許可權的 Hugging Face 權杖。
  6. Find GPUs 會從 Hugging Face 讀取模型大小,顯示機器將執行的啟動命令,並列出當前所有放得下該模型的 GPU 及其價格。選一個租用即可。

引擎會在機器啟動時下載模型,所以端點幾分鐘後才會響應。Models 會顯示它何時就緒、它的地址、API 金鑰、呼叫程式碼、對話和影象模型的試用,以及引擎日誌。

你自己的引擎引數

把你調好的引數,按你平時儲存的樣子貼進來:

Shell
VLLM_USE_DEEP_GEMM=1 vllm serve Qwen/Qwen3-8B \
  --max-model-len 32768 --enable-prefix-caching \
  --speculative-config '{"method": "eagle3", "num_speculative_tokens": 3}'

單獨的引數、完整命令和 docker run 命令列都可以,前面的環境變數和加引號的 JSON 值也照常可用。引數由你選擇,並由你隨引擎版本保持更新。Arrakis 不經過 shell 讀取它們,並逐字交給引擎,因此:

  • shell 語法(;、|、&&、$(...)、$VARIABLES)會被拒絕:沒有任何東西會去執行它。
  • 引擎的監聽位置(--host、--port)、金鑰(--api-key)和模型由 Arrakis 負責,因此端點的地址和金鑰不會變。--served-model-name(llama.cpp 用 --alias)可以修改請求中使用的模型名稱。
  • 並行方式以你為準:只要引數中有 -tp、--tp 或 -dp,Arrakis 就不再新增自己的設定。
  • 選擇 GPU 的設定(NVIDIA_*)和載入器設定(LD_*)會被拒絕:機器只使用它租用的 GPU。
  • Hugging Face 權杖要填在專門的欄位裡,不要放進引數,這樣它就不會和引數一起被儲存。

透過 API 使用

Shell
curl -X POST $ARRAKIS_URL/v1/deploy \
  -H "Authorization: Bearer ark_..." \
  -H "Content-Type: application/json" \
  -d '{"model": "black-forest-labs/FLUX.1-schnell", "engine": "omni", "termination_hours": 4,
       "extra_args": "--enforce-eager"}'

不指定 node_id 時,Arrakis 會在放得下該模型的機器中租用排名最高的一臺,並儘量少用 GPU。POST /v1/deploy/plan 會先免費列出所有放得下它的 GPU;帶上 extra_args 時,它還會檢查你的引數並返回啟動命令。返回結果包含端點及其 api_key;GET /v1/instances/{id}/endpoint 會再次給出它們,模型開始響應後 ready 為真;GET /v1/instances/{id}/endpoint/log 返回引擎日誌的末尾。AI 代理透過 MCP 使用 deploy_model 工具。

呼叫模型

端點使用 OpenAI API,所以任何 OpenAI 客戶端都能用。請求中的模型名稱就是它在 Hugging Face 上的 ID,不含量化方式,除非你改過名稱。

Python
from openai import OpenAI

client = OpenAI(base_url="http://<address>/v1", api_key="sk-...")
reply = client.chat.completions.create(
    model="Qwen/Qwen3-8B",
    messages=[{"role": "user", "content": "Hello"}],
)
print(reply.choices[0].message.content)
模型生成的內容呼叫地址
文字POST /v1/chat/completions, /v1/completions, /v1/embeddings
映像POST /v1/images/generations, /v1/images/edits
影片POST /v1/videos,然後用 GET /v1/videos/{id} 查詢直到完成,再用 GET /v1/videos/{id}/content 下載
語音POST /v1/audio/speech
聲音與音樂POST /v1/audio/generate
語音轉文字POST /v1/audio/transcriptions

這臺機器由你掌控

  • 它就是一次普通的租用:按小時計費,到移除時間即被移除,並列在 Instances 中。
  • 它會以基於引擎官方版本構建的 Arrakis 映像啟動,帶 root SSH。可以在機器上執行 arrakis-serve status、arrakis-serve logs 或 arrakis-serve restart。
  • 要在不換機器的情況下嘗試其他引數,編輯 /etc/arrakis/serve/command(每行一個詞)或 /etc/arrakis/serve/env,然後執行 arrakis-serve restart。引擎停止時機器仍會執行,方便你修復。
  • 端點就是機器的地址,使用普通 HTTP。埠 8000 上的訪問閘道器會在請求到達引擎之前檢查 API 金鑰(Authorization: Bearer <key>),而引擎只在機器內部監聽;/health 不需要金鑰即可訪問,只說明引擎是否已啟動。如需私密通訊,請開啟 SSH 隧道(ssh root@<host> -p <port> -N -L 8000:localhost:8000),然後使用 http://localhost:8000/v1。
  • 你的 Hugging Face 權杖會以 HF_TOKEN 的形式傳給機器,Arrakis 不會儲存它。機器的主機商能讀取其上執行的內容,因此請使用細粒度的只讀權杖。

以 AI 代理身份閱讀?請看本頁的 Markdown 版本。