Providers
Inferrs
inferrs, yerel modelleri OpenAI uyumlu bir /v1 API'sinin arkasında sunar. OpenClaw, genel openai-completions bağdaştırıcısı üzerinden onunla iletişim kurar.
| Özellik | Değer |
|---|---|
| Sağlayıcı kimliği | inferrs (özel; models.providers.inferrs altında yapılandırın) |
| Plugin | yok — paketle birlikte gelen bir OpenClaw sağlayıcı Plugin'i değildir |
| Kimlik doğrulama ortam değişkeni | gerekli değil; inferrs sunucunuzda kimlik doğrulama yoksa herhangi bir değer çalışır |
| API | OpenAI uyumlu (openai-completions) |
| Önerilen temel URL | http://127.0.0.1:8080/v1 (veya inferrs sunucunuzun dinlediği konum) |
Başlarken
inferrs'ı bir modelle başlatın
inferrs serve google/gemma-4-E2B-it \ --host 127.0.0.1 \ --port 8080 \ --device metalSunucuya erişilebildiğini doğrulayın
curl http://127.0.0.1:8080/healthcurl http://127.0.0.1:8080/v1/modelsBir OpenClaw sağlayıcı girdisi ekleyin
Açık bir sağlayıcı girdisi ekleyin ve varsayılan modelinizi ona yönlendirin. Aşağıdaki yapılandırma örneğine bakın.
Tam yapılandırma örneği
Yerel bir inferrs sunucusunda Gemma 4:
{ agents: { defaults: { model: { primary: "inferrs/google/gemma-4-E2B-it" }, models: { "inferrs/google/gemma-4-E2B-it": { alias: "Gemma 4 (inferrs)", }, }, }, }, models: { mode: "merge", providers: { inferrs: { baseUrl: "http://127.0.0.1:8080/v1", apiKey: "inferrs-local", api: "openai-completions", models: [ { id: "google/gemma-4-E2B-it", name: "Gemma 4 E2B (inferrs)", reasoning: false, input: ["text"], cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 }, contextWindow: 131072, maxTokens: 4096, compat: { requiresStringContent: true, }, }, ], }, }, },}İsteğe bağlı başlatma
OpenClaw, yalnızca bir inferrs/... modeli seçildiğinde inferrs öğesini kendisi başlatabilir. Aynı sağlayıcı girdisine localService ekleyin:
{ models: { providers: { inferrs: { baseUrl: "http://127.0.0.1:8080/v1", apiKey: "inferrs-local", api: "openai-completions", timeoutSeconds: 300, localService: { command: "/opt/homebrew/bin/inferrs", args: [ "serve", "google/gemma-4-E2B-it", "--host", "127.0.0.1", "--port", "8080", "--device", "metal", ], healthUrl: "http://127.0.0.1:8080/v1/models", readyTimeoutMs: 180000, idleStopMs: 0, }, models: [ { id: "google/gemma-4-E2B-it", name: "Gemma 4 E2B (inferrs)", reasoning: false, input: ["text"], cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 }, contextWindow: 131072, maxTokens: 4096, compat: { requiresStringContent: true, }, }, ], }, }, },}command mutlak bir yol olmalıdır. Gateway ana makinesinde which inferrs komutunu çalıştırın ve bu yolu kullanın. Tam alan başvurusu: Yerel model hizmetleri.
Gelişmiş yapılandırma
requiresStringContent neden önemlidir
Bazı inferrs Chat Completions yolları, yapılandırılmış içerik parçası dizileri yerine yalnızca dize türündeki messages[].content değerlerini kabul eder.
Gemma ve araç şemasıyla ilgili uyarı
Bazı inferrs + Gemma birleşimleri, küçük ve doğrudan /v1/chat/completions isteklerini kabul ederken tam OpenClaw aracı çalışma zamanı turlarında başarısız olur. Önce araç şeması yüzeyini devre dışı bırakmayı deneyin:
compat: { requiresStringContent: true, supportsTools: false}Bu, daha katı yerel arka uçlardaki istem yükünü azaltır. Küçük doğrudan istekler çalışmaya devam ederken normal OpenClaw aracı turları inferrs içinde çökmeyi sürdürüyorsa bunu bir OpenClaw aktarım sorunu yerine üst kaynaklı bir model/sunucu sınırlaması olarak değerlendirin.
Elle hızlı doğrulama testi
Yapılandırmanın ardından her iki katmanı da bir kez test edin:
curl http://127.0.0.1:8080/v1/chat/completions \ -H 'content-type: application/json' \ -d '{"model":"google/gemma-4-E2B-it","messages":[{"role":"user","content":"2 + 2 kaç eder?"}],"stream":false}'openclaw infer model run \ --model inferrs/google/gemma-4-E2B-it \ --prompt "2 + 2 kaç eder? Tek bir kısa cümleyle yanıt ver." \ --jsonİlk komut çalışıyor ancak ikincisi başarısız oluyorsa aşağıdaki Sorun giderme bölümüne bakın.
Proxy tarzı davranış
inferrs, openai-responses yerine genel openai-completions bağdaştırıcısını kullandığından yalnızca yerel OpenAI'ye özgü istek biçimlendirmesi hiçbir zaman uygulanmaz: service_tier, Responses store, istem önbelleği ipuçları veya OpenAI akıl yürütme uyumluluğu yük biçimlendirmesi gönderilmez.
Sorun giderme
curl /v1/models başarısız oluyor
inferrs çalışmıyor, erişilebilir değil veya yapılandırdığınız ana makineye/bağlantı noktasına bağlı değil. Sunucunun başlatıldığını ve bu adreste dinlediğini doğrulayın.
messages[].content bir dize bekliyordu
Model girdisinde compat.requiresStringContent: true ayarını yapın (yukarıya bakın).
Doğrudan /v1/chat/completions çağrıları başarılı ancak openclaw infer model run başarısız oluyor
Araç şeması yüzeyini devre dışı bırakmak için compat.supportsTools: false ayarını yapın (yukarıdaki Gemma uyarısına bakın).
inferrs daha büyük aracı turlarında hâlâ çöküyor
Şema hataları giderilmiş olmasına rağmen inferrs daha büyük aracı turlarında hâlâ çöküyorsa bunu üst kaynaklı bir inferrs veya model sınırlaması olarak değerlendirin. İstem yükünü azaltın ya da arka ucu/modeli değiştirin.
İlgili
OpenClaw'ı yerel model sunucularıyla çalıştırma.
Yapılandırılmış sağlayıcılar için yerel model sunucularını isteğe bağlı olarak başlatma.
Yoklamaları geçen ancak aracı çalıştırmalarında başarısız olan yerel OpenAI uyumlu arka uçlarda hata ayıklama.
Tüm sağlayıcılara, model referanslarına ve yük devretme davranışına genel bakış.