Providers
Hugging Face (การอนุมาน)
ผู้ให้บริการอนุมานของ Hugging Face มีเราเตอร์การเติมข้อความแชตที่เข้ากันได้กับ OpenAI อยู่ด้านหน้าโมเดลที่โฮสต์ไว้จำนวนมาก (DeepSeek, Llama และอื่นๆ) โดยใช้โทเค็นเดียว OpenClaw สื่อสารกับ เอนด์พอยต์การเติมข้อความแชตเท่านั้น สำหรับการสร้างรูปภาพจากข้อความ เอ็มเบดดิง หรือเสียงพูด ให้ใช้ ไคลเอนต์การอนุมานของ HF โดยตรง
| คุณสมบัติ | ค่า |
|---|---|
| รหัสผู้ให้บริการ | huggingface |
| Plugin | รวมมาให้แล้ว (เปิดใช้งานโดยค่าเริ่มต้น ไม่ต้องติดตั้ง) |
| ตัวแปรสภาพแวดล้อมสำหรับการยืนยันตัวตน | HUGGINGFACE_HUB_TOKEN หรือ HF_TOKEN (โทเค็นแบบละเอียด) |
| API | เข้ากันได้กับ OpenAI (https://router.huggingface.co/v1) |
| การเรียกเก็บเงิน | โทเค็น HF เดียว; ราคา เป็นไปตามอัตราของผู้ให้บริการและมีระดับใช้งานฟรี |
เริ่มต้นใช้งาน
สร้างโทเค็นแบบละเอียด
ไปที่ การตั้งค่าโทเค็นของ Hugging Face แล้วสร้างโทเค็นแบบละเอียดใหม่
เรียกใช้การเริ่มต้นตั้งค่า
เลือก Hugging Face ในเมนูแบบเลื่อนลงของผู้ให้บริการ แล้วป้อนคีย์ API เมื่อระบบแจ้ง:
openclaw onboard --auth-choice huggingface-api-keyเลือกโมเดลเริ่มต้น
ในเมนูแบบเลื่อนลง Default Hugging Face model ให้เลือกโมเดล รายการจะโหลดจาก Inference API เมื่อโทเค็นถูกต้อง มิฉะนั้น OpenClaw จะแสดงแค็ตตาล็อกในตัวด้านล่าง ระบบบันทึกตัวเลือกเป็น agents.defaults.model.primary:
{ agents: { defaults: { model: { primary: "huggingface/deepseek-ai/DeepSeek-R1" }, }, },}ตรวจสอบว่าโมเดลพร้อมใช้งาน
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 |
การกำหนดค่าขั้นสูง
การค้นพบโมเดลและเมนูแบบเลื่อนลงในการเริ่มต้นตั้งค่า
OpenClaw ค้นพบโมเดลด้วย:
GET https://router.huggingface.co/v1/modelsAuthorization: Bearer $HUGGINGFACE_HUB_TOKEN # หรือ $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 falseชื่อโมเดล นามแฝง และคำต่อท้ายตามนโยบาย
- ชื่อจาก 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หรือตัวเลือกโมเดลที่กำหนดเองไว้ในนั้นจะคงอยู่หลังการเริ่มทำงานใหม่
การตั้งค่าสภาพแวดล้อมและดีมอน
หาก Gateway ทำงานเป็นดีมอน (launchd/systemd) โปรดตรวจสอบว่าโปรเซสนั้นเข้าถึง HUGGINGFACE_HUB_TOKEN หรือ HF_TOKEN ได้ (เช่น ใน ~/.openclaw/.env หรือผ่าน env.shellEnv)
การกำหนดค่า: DeepSeek R1 พร้อมโมเดลสำรอง
{ 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" }, }, }, },}การกำหนดค่า: DeepSeek พร้อมรูปแบบที่ถูกที่สุดและเร็วที่สุด
{ 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)" }, }, }, },}การกำหนดค่า: DeepSeek + GPT-OSS พร้อมนามแฝง
{ agents: { defaults: { model: { primary: "huggingface/deepseek-ai/DeepSeek-V3.1", fallbacks: ["huggingface/openai/gpt-oss-120b"], }, models: { "huggingface/deepseek-ai/DeepSeek-V3.1": { alias: "DeepSeek V3.1" }, "huggingface/openai/gpt-oss-120b": { alias: "GPT-OSS 120B" }, }, }, },}