Çıkarım çalışma zamanı
Yapılandırma
Tüm ortam değişkenleri ve gıda veritabanı (FOOD_SOURCE) seçenekleri
Bu sayfa, İngilizce belgeden makine çevirisiyle çevrildi.
Her şey ortam değişkenleridir, açılışta doğrulanır; hatalı bir değer sessizce çalışmaya devam etmek yerine süreci durdurur. Açıklamalı ana liste .env.example kaynağındadır. openplate belgeleri, bu konteyner için her değişkeni tek sayfa üzerinde listeler. Uygulama ve eşitleme servisi değişkenlerinin yanında görünürler. En önemli değişkenler şunlardır:
| değişken | varsayılan | ||||
|---|---|---|---|---|---|
MODEL_PROFILE | lite | lite \ | lite-apache \ | quality \ | external |
API_KEYS | (oluşturuldu) | Virgülle ayrılmış bearer anahtarları. Bunu ayarla. | |||
PORT | 8300 | Dışa açılan tek port. | |||
CONCURRENCY | 2 | Süren taramalar; ayrıca llama.cpp'nin KV yuvalarını ayarlar. CPU iş parçacığı eklemez: Yuvalar LLAMA_THREADS iş parçacığını paylaşır. | |||
MAX_QUEUE_DEPTH | 8 | Bu aşıldığında çağıranlar 429 + Retry-After alır. | |||
RATE_LIMIT_RPM | 60 | Anahtar başına. | |||
LATENCY_CEILING_MS | 0 | 0 = devre dışı. Kabul politikası: zamanında bitiremeyeceğin işi reddet. Bkz. Donanım. | |||
RUNTIME_COMPLETION_TIMEOUT_MS | 600000 | Tek bir tamamlama çağrısı için toplam sınır; 0 = devre dışı. Gecikme süresi politikası değil, canlılık politikasıdır: kilitlenmiş bir çalışma zamanının asla geri vermeyeceği bir çalışan yuvasını serbest bırakır. Birlikte paketlenmiş modda da geçerlidir. Bkz. Çalışma zamanları. | |||
IMAGE_MAX_LONG_EDGE | 896 | Ölçek küçültme hedefi. Gecikme karesiyle artar. | |||
MAX_IMAGE_BYTES | 8388608 | base64 kod çözme işleminden sonra bayt cinsinden kabul edilen en büyük fotoğraf boyutu (8 MiB). Daha büyük bir dosya, boyutu küçültme mesajıyla reddedilir. İstek gövdesi sınırı bu değerden türetilir. | |||
FOOD_SOURCE | fdc | Bkz. Yemek verileri. | |||
CONTEXT_SIZE | 8192 | Bağlam devam eden tarama başına. Konteyner bunu llama.cpp'ye vermeden önce CONCURRENCY ile çarpar, çünkü llama.cpp tarafındaki -c, yuvalar arasında paylaştırdığı toplam değeridir. | |||
LLAMA_EXTRA_ARGS | (boş) | llama-server komutunun sonuna boşluklardan ayrılarak eklenen fazladan bayraklar. Yalnızca paketlenmiş modda geçerlidir. | |||
LLAMA_THREADS | nproc - 2 | llama.cpp için CPU iş parçacıkları (kendisinin -t). İki çekirdek servis, görüntü çözme ve işletim sistemi için bırakılır, bu yüzden CONCURRENCY ne derse desin 6 çekirdekli bir makine 4 iş parçacığı, 4 çekirdekli bir makine ise 2 iş parçacığı çalıştırır. llama.cpp'ye her çekirdeği vermek makineyi hızlandırmaz, kaynak çekişmesine sokar. Başlatma günlüğü değeri -t N olarak yazdırır. Yalnızca paketlenmiş mod. | |||
MODELS_DIR | /models | Ağırlıklar birimi. | |||
RUNTIME_PORT | 8080 | Konteyner içinde 127.0.0.1 üzerindeki paketlenmiş llama-server portu. Yalnızca paketlenmiş modda geçerlidir. | |||
WEIGHTS_MIRROR_BASE | (boş) | İsteğe bağlı ayna, Hugging Face yedek kaynaktır. | |||
GPU_LAYERS | (otomatik) | GPU otomatik algılamasını geçersiz kıl. 0 CPU kullanımına zorlar. | |||
NVIDIA_VISIBLE_DEVICES | (çalışma zamanı tarafından ayarlanır) | --gpus all değerini verdiğinde NVIDIA container runtime bunu ayarlar. Otomatik algılama bu değeri okur. void veya none dışındaki herhangi bir değer tüm katmanları boşaltır. Bunu kendin ayarlamazsın. | |||
LOG_LEVEL | info | debug \ | info \ | warn \ | error |
PROFILE | (MODEL_PROFILE üzerinden) | Başlangıç günlüğündeki profil adı: lite, quality veya custom. Konteyner bunu MODEL_PROFILE üzerinden ayarlar. Kendin ayarlarsan yalnızca o günlük satırı değişir. |
Harici mod değişkenleri (MODEL_RUNTIME_URL, MODEL_ID, MODEL_RUNTIME_API_KEY), Kendi çalışma zamanını getir içinde belgelenmiştir.
llama-server, kapsayıcı içinde yalnızca 127.0.0.1 adresine bağlı şekilde çalışır ve dışarıdan erişilemez. Bu yapılandırılamaz: kimlik doğrulaması olmayan ham bir görüntü uç noktasıdır ve buradaki amaç onu yanlışlıkla yayına alamamandır.
Gıda verileri (FoodSource)
Model gıdaları tanımlar ve gramaj tahmin eder. Makrolar model tarafından asla üretilmez, bir gıda veritabanından ada göre çözümlenir.
FOOD_SOURCE | ne yapar | ağ | notlar |
|---|---|---|---|
fdc (varsayılan) | Adları data/fdc-foods.json konumunda imajın içinde sunulan USDA FoodData Central (8.041 genel gıda) paketlenmiş bir özetinde arar. | yok | Çevrimdışı, anahtar yok, hesap yok, giden istek yok. Kamu malı. Kimseden hiçbir şeye ihtiyaç duymayan tek seçenek olduğu için varsayılandır. |
off | Çalışma zamanında canlı olarak Open Food Facts sorgular. | giden, tarama başına | Markalı ve paketli ürünlerde başarılı, genel pişmiş yemeklerde daha zayıftır. Adres OFF_API_URL olup, öntanımlı olarak https://world.openfoodfacts.org şeklindedir. Etkinleştirmeden önce aşağıdaki lisans notunu oku. Bu imajda OFF türevi hiçbir şey dağıtılmaz. |
lcc | Herkese açık lowcarbcheck API sorgular. | giden, tarama başına | Üçü arasındaki en kapsamlı veridir (küratörlü + BLS + USDA) ve BLS 4.0 yeniden dağıtımı yasakladığı için kalıcı olarak yalnızca uzaktır. Arayüze ulaşabilmesi için atıf bilgisi yanıta doğrudan aktarılır. LCC_API_KEY olmadan her istek LowCarbCheck'in ücretsiz anonim katmanında çalışır, aşağıya bak. |
none | Çözümleme yok. Her öge null makrolarla döner. | yok | Besin değerlerini kendi arayan istemciler içindir. |
-e FOOD_SOURCE=fdc # default
-e FDC_DATASET_PATH=./data/fdc-foods.json # relative to the working directory
-e OFF_API_URL=https://world.openfoodfacts.org # only read when FOOD_SOURCE=off
-e LCC_API_URL=https://lowcarbcheck.org # only read when FOOD_SOURCE=lcc
-e LCC_API_KEY=lcc_live_… # optional; only read when FOOD_SOURCE=lcc
-e EMBEDDING_RUNTIME_URL=http://… # optional; enables hybrid re-rankingLCC_API_KEY olmadan FOOD_SOURCE=lcc, LowCarbCheck'in anonim katmanında çalışır: IP adresinden gelen tüm isteklerin paylaştığı, UTC günü başına 1.000 kredi. Bir arama 1 krediye mal olur. Bir tarama, en fazla 8 öğe genelinde, search-foods.ts içindeki ayrıntılandırma sınırı tarafından belirlenen, tanımlanan öğe başına en fazla 3 arama sorgusu çalıştırır. Bu da tarama başına en kötü senaryoyu 24 kredi yapar. İşlem hattı hiçbir zaman besin başına olan uç noktayı çağırmaz, bu nedenle maliyetin tamamı bu kadardır. Bu en kötü senaryo, günde yaklaşık 41 taramaya izin verir. Aramalar bir sorgu kabul eşiğini geçer geçmez durduğu için çoğu gün daha fazlasına izin verir. Katman tükendiğinde, kalan her öğe bir sonraki UTC gününe kadar boş (null) makrolara çözümlenir ve tarama yine de 200 döner. lowcarbcheck.org/developers üzerinden alınacak ücretsiz bir anahtar, kotayı dakikada 120 isteğe kadar olacak şekilde ayda 100.000 krediye çıkarır. Bu kota, IP adresin yerine doğrudan anahtara aittir. Bunu LCC_API_KEY olarak ayarla. Servis bu anahtarı LCC_API_URL adresine taşıyıcı belirteç (bearer token) olarak gönderir, başka hiçbir yere iletmez ve asla günlüğe kaydetmez. LowCarbCheck'in reddettiği bir anahtar, kotanın bitmesiyle aynı şekilde başarısız olur: boş makrolar ve 200 yanıtı. fdc ağa ve kotaya ihtiyaç duymaz.
Çözümlenen makrolar etiketlenir. Veritabanıyla eşleşen besinler "corpus" değerinde bir provenance ve kaynak gerektirdiğinde bir attribution dizesi içerir. Eşleşmeyen besinlerde iki alan da bulunmaz ve macrosPer100g null olur. openplate bu değerleri dışa aktarır, böylece kullanıcılar doğrulanmış veritabanı kayıtlarını makro verisi olmayan öğelerden ayırabilir.
Besin veritabanının eksik olması taramaları durdurmaz. FDC_DATASET_PATH hiçbir yeri göstermiyorsa, servis bir uyarı günlüğe kaydeder, çözümlemeyi devre dışı bırakır ve tabakları tanımlamayı sürdürür. Null makrolarla birlikte isimleri ve gramajları alırsın: servis bozulmaz, yalnızca performansı düşer. pnpm food-data:fdc ile özütü yeniden oluştur (ağ bağlantısı gerekir).
EMBEDDING_RUNTIME_URL isteğe bağlıdır. Bunu /v1/embeddings sunan OpenAI uyumlu ikinci bir çalışma zamanına yönlendirirsen (örneğin llama-server --embedding), geri getirme işlemi hibrit hale gelir: sözcüksel puanlayıcı adayları bulur ve yerleştirme modeli bunları yeniden sıralar, böylece veritabanında farklı ifade edilse bile "ızgara tavuk pirzola" doğru satırla eşleşir. Boş bırakırsan (varsayılan değer) geri getirme yalnızca sözcüksel olur, bu da sıralamayı biraz zayıflatır ancak asla bir hataya yol açmaz. Erişilemeyen bir yerleştirme çalışma zamanı, tek bir uyarıyla yalnızca sözcüksel moda geçer; taramayı hiçbir zaman aksatmaz.
FOOD_SOURCE=off ve ODbL ile benzeriyle paylaşım
Open Food Facts verileri benzeriyle paylaşım olan Open Database Licence (ODbL) kapsamında lisanslanmıştır. Bu bağlayıcıyı etkinleştirirsen ve ardından OFF verilerini içeren bir veritabanı yayımlar ya da yeniden dağıtırsan (görüntülediğin tekil sorgular değil, bir türetilmiş veritabanı), ODbL seni bu türetilmiş veritabanını da ODbL altında kullanıma sunmakla ve Open Food Facts'e atıfta bulunmakla yükümlü kılar.
Bir sorguyu görüntüleyen ve bunu kendi günlüğünde saklayan ev kullanımına yönelik bir kurulum için bu kural geçerli değildir. Bunun üzerine bir ürün geliştiriyorsan geçerlidir ve off seçeneğinin varsayılan olmama nedeni de budur. fdc benzeriyle paylaşım yükümlülüğü taşımaz.
Model ve veri lisansı koşulları Lisanslama içinde toplanmıştır.