İçeriğe atla
openplate

Çı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şkenvarsayılan
MODEL_PROFILElitelite \lite-apache \quality \external
API_KEYS(oluşturuldu)Virgülle ayrılmış bearer anahtarları. Bunu ayarla.
PORT8300Dışa açılan tek port.
CONCURRENCY2Sü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_DEPTH8Bu aşıldığında çağıranlar 429 + Retry-After alır.
RATE_LIMIT_RPM60Anahtar başına.
LATENCY_CEILING_MS00 = devre dışı. Kabul politikası: zamanında bitiremeyeceğin işi reddet. Bkz. Donanım.
RUNTIME_COMPLETION_TIMEOUT_MS600000Tek 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_EDGE896Ölçek küçültme hedefi. Gecikme karesiyle artar.
MAX_IMAGE_BYTES8388608base64 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_SOURCEfdcBkz. Yemek verileri.
CONTEXT_SIZE8192Bağ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_THREADSnproc - 2llama.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/modelsAğırlıklar birimi.
RUNTIME_PORT8080Konteyner 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_LEVELinfodebug \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_SOURCEne yaparağ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şınaMarkalı 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.
lccHerkese 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.yokBesin değerlerini kendi arayan istemciler içindir.
bash
-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-ranking

LCC_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.

Bu sayfayı GitHub üzerinde düzenle