Providers
Hugging Face (การอนุมาน)
Hugging Face Inference Providers มีเราเตอร์สำหรับการเติมข้อความแชตที่เข้ากันได้กับ OpenAI อยู่ด้านหน้าโมเดลที่โฮสต์ไว้จำนวนมาก (DeepSeek, Llama และอื่น ๆ) โดยใช้โทเค็นเดียว OpenClaw สื่อสารกับ ปลายทางการเติมข้อความแชตเท่านั้น สำหรับการแปลงข้อความเป็นรูปภาพ เอ็มเบดดิง หรือเสียงพูด ให้ใช้ ไคลเอนต์การอนุมานของ HF โดยตรง
| คุณสมบัติ | ค่า |
|---|---|
| รหัสผู้ให้บริการ | huggingface |
| Plugin | รวมมาให้แล้ว (เปิดใช้งานโดยค่าเริ่มต้น ไม่ต้องติดตั้ง) |
| ตัวแปรสภาพแวดล้อมสำหรับการยืนยันตัวตน | HUGGINGFACE_HUB_TOKEN หรือ HF_TOKEN (โทเค็นแบบกำหนดสิทธิ์ละเอียด) |
| API | เข้ากันได้กับ OpenAI (https://router.huggingface.co/v1) |
| การเรียกเก็บเงิน | ใช้โทเค็น HF เดียว โดยราคา เป็นไปตามอัตราของผู้ให้บริการและมีระดับใช้งานฟรี |
เริ่มต้นใช้งาน
Create a fine-grained token
ไปที่ Hugging Face Settings Tokens แล้วสร้างโทเค็นแบบกำหนดสิทธิ์ละเอียดใหม่
Run onboarding
เลือก Hugging Face ในรายการแบบเลื่อนลงของผู้ให้บริการ แล้วป้อนคีย์ API เมื่อระบบแจ้ง:
openclaw onboard --auth-choice huggingface-api-keySelect a default model
เลือกโมเดลจากรายการแบบเลื่อนลง Default Hugging Face model รายการนี้จะโหลดจาก Inference API เมื่อโทเค็นของคุณถูกต้อง มิฉะนั้น OpenClaw จะแสดงแค็ตตาล็อกในตัวด้านล่าง ตัวเลือกของคุณจะถูกบันทึกเป็น agents.defaults.model.primary:
{ agents: { defaults: { model: { primary: "huggingface/deepseek-ai/DeepSeek-R1" }, }, },}Verify the model is available
openclaw models list --provider huggingfaceการตั้งค่าแบบไม่โต้ตอบ
openclaw onboard --non-interactive \ --mode local \ --auth-choice huggingface-api-key \ --huggingface-api-key "$HF_TOKEN"ตั้ง huggingface/deepseek-ai/DeepSeek-R1 เป็นโมเดลเริ่มต้น
รหัสโมเดล
การอ้างอิงโมเดลใช้รูปแบบ huggingface/<org>/<model> (รหัสรูปแบบ Hub) แค็ตตาล็อกในตัวของ OpenClaw:
| โมเดล | การอ้างอิง (เติมคำนำหน้าด้วย huggingface/) |
|---|---|
| DeepSeek R1 | deepseek-ai/DeepSeek-R1 |
| DeepSeek V3.1 | deepseek-ai/DeepSeek-V3.1 |
| GPT-OSS 120B | openai/gpt-oss-120b |
| Llama 3.3 70B Instruct Turbo | meta-llama/Llama-3.3-70B-Instruct-Turbo |
การกำหนดค่าขั้นสูง
Model discovery and onboarding dropdown
OpenClaw ค้นพบโมเดลด้วย:
GET https://router.huggingface.co/v1/modelsAuthorization: Bearer $HUGGINGFACE_HUB_TOKEN # or $HF_TOKENการตอบกลับอยู่ในรูปแบบของ OpenAI: { "object": "list", "data": [ { "id": "Qwen/Qwen3-8B", "owned_by": "Qwen", ... }, ... ] }
เมื่อมีการกำหนดค่าคีย์แล้ว (จากการเริ่มต้นใช้งาน, HUGGINGFACE_HUB_TOKEN หรือ HF_TOKEN) รายการแบบเลื่อนลง Default Hugging Face model ระหว่างการตั้งค่าแบบโต้ตอบจะรับข้อมูลจากปลายทางนี้ เมื่อ Gateway เริ่มทำงาน ระบบจะเรียกปลายทางเดิมซ้ำเพื่อรีเฟรชแค็ตตาล็อก โมเดลที่ค้นพบจะถูกรวมกับแค็ตตาล็อกในตัวด้านบน (ซึ่งใช้สำหรับข้อมูลเมตา เช่น ขนาดหน้าต่างบริบทและค่าใช้จ่าย เมื่อรหัสตรงกัน) หากคำขอล้มเหลว ไม่ส่งคืนข้อมูล หรือไม่ได้ตั้งค่าคีย์ OpenClaw จะย้อนกลับไปใช้เฉพาะแค็ตตาล็อกในตัว
ปิดการค้นพบโดยไม่ต้องนำผู้ให้บริการออก:
openclaw config set plugins.entries.huggingface.config.discovery.enabled falseModel names, aliases, and policy suffixes
- ชื่อจาก API: โมเดลที่ค้นพบจะใช้
name,titleหรือdisplay_nameจาก API เมื่อมีค่า มิฉะนั้น OpenClaw จะสร้างชื่อจากรหัสโมเดล (เช่นdeepseek-ai/DeepSeek-R1จะกลายเป็น "DeepSeek R1") - แทนที่ชื่อที่แสดง: ตั้งป้ายกำกับแบบกำหนดเองสำหรับแต่ละโมเดลในการกำหนดค่า:
{ agents: { defaults: { models: { "huggingface/deepseek-ai/DeepSeek-R1": { alias: "DeepSeek R1 (fast)" }, "huggingface/deepseek-ai/DeepSeek-R1:cheapest": { alias: "DeepSeek R1 (cheap)" }, }, }, },}- คำต่อท้ายนโยบาย:
:fastestและ:cheapestเป็นรูปแบบที่เราเตอร์ของ HF กำหนด ไม่ใช่สิ่งที่ OpenClaw เขียนใหม่ โดยคำต่อท้ายจะถูกส่งตามเดิมเป็นส่วนหนึ่งของรหัสโมเดล และเราเตอร์ของ HF จะเลือกผู้ให้บริการอนุมานที่ตรงกัน เพิ่มแต่ละรูปแบบเป็นรายการแยกของตนเองภายใต้models.providers.huggingface.models(หรือในmodel.primary) หากคุณต้องการนามแฝงที่แตกต่างกันสำหรับแต่ละคำต่อท้าย - การผสานการกำหนดค่า: รายการที่มีอยู่ใน
models.providers.huggingface.models(เช่น ในmodels.json) จะถูกเก็บไว้เมื่อผสานการกำหนดค่า ดังนั้นname,aliasหรือตัวเลือกโมเดลแบบกำหนดเองที่คุณตั้งไว้จะยังคงอยู่หลังการเริ่มระบบใหม่
Environment and daemon setup
หาก Gateway ทำงานเป็นดีมอน (launchd/systemd) โปรดตรวจสอบว่าโปรเซสนั้นเข้าถึง HUGGINGFACE_HUB_TOKEN หรือ HF_TOKEN ได้ (เช่น ใน ~/.openclaw/.env หรือผ่าน env.shellEnv)
Config: DeepSeek R1 with fallback
{ agents: { defaults: { model: { primary: "huggingface/deepseek-ai/DeepSeek-R1", fallbacks: ["huggingface/openai/gpt-oss-120b"], }, models: { "huggingface/deepseek-ai/DeepSeek-R1": { alias: "DeepSeek R1" }, "huggingface/openai/gpt-oss-120b": { alias: "GPT-OSS 120B" }, }, }, },}Config: DeepSeek with cheapest and fastest variants
{ agents: { defaults: { model: { primary: "huggingface/deepseek-ai/DeepSeek-R1" }, models: { "huggingface/deepseek-ai/DeepSeek-R1": { alias: "DeepSeek R1" }, "huggingface/deepseek-ai/DeepSeek-R1:cheapest": { alias: "DeepSeek R1 (cheapest)" }, "huggingface/deepseek-ai/DeepSeek-R1:fastest": { alias: "DeepSeek R1 (fastest)" }, }, }, },}Config: DeepSeek + Llama + GPT-OSS with aliases
{ agents: { defaults: { model: { primary: "huggingface/deepseek-ai/DeepSeek-V3.1", fallbacks: [ "huggingface/meta-llama/Llama-3.3-70B-Instruct-Turbo", "huggingface/openai/gpt-oss-120b", ], }, models: { "huggingface/deepseek-ai/DeepSeek-V3.1": { alias: "DeepSeek V3.1" }, "huggingface/meta-llama/Llama-3.3-70B-Instruct-Turbo": { alias: "Llama 3.3 70B Turbo" }, "huggingface/openai/gpt-oss-120b": { alias: "GPT-OSS 120B" }, }, }, },}