Inference Server Environment Variables
Environment variables जो एक self-hosted Roboflow Inference server को नियंत्रित करती हैं - execution providers, caching, Workflows, Roboflow API retries, telemetry, HTTPS, और security।
Inference सर्वर का व्यवहार पर्यावरण चर (environment variables) के एक सेट द्वारा नियंत्रित होता है। हर चर को इसमें परिभाषित किया गया है inference/core/env.py; नीचे दिए गए वे चर हैं जिनके लिए अधिक स्पष्टीकरण की आवश्यकता है।
उन्हें कंटेनर में इसके साथ पास करें -e (सबसे अधिक बदली जाने वाली सेटिंग्स के लिए देखें): Docker कॉन्फ़िगरेशन विकल्प docker run -it --rm -e ENV_VAR_NAME=env_var_value -p 9001:9001 roboflow/roboflow-inference-server-cpu:latest
ये चरको कॉन्फ़िगर करते हैं Inference सर्वर. Roboflow CLI और Python SDK चर का एक अलग, छोटा सेट पढ़ते हैं (ROBOFLOW_API_KEY, ROBOFLOW_CONFIG_DIRऔर अन्य): देखें पर्यावरण चर संदर्भ अनुभाग में।
निष्पादन और मॉडल
ONNXRUNTIME_EXECUTION_PROVIDERS
प्राथमिकता क्रम में execution providers की सूची। यदि कोई provider आपके प्लेटफ़ॉर्म पर समर्थित नहीं है, तो एक चेतावनी प्रदर्शित की जाती है।
देखें env.py
RUNS_ON_JETSON
क्या Inference Jetson डिवाइस पर चलता है। इसे सेट करें True Jetson आर्किटेक्चर के लिए सभी Docker builds में।
False
MODEL_VALIDATION_DISABLED
trial inference को छोड़कर मॉडल लोडिंग को तेज़ बनाता है।
False
SAM2_MAX_EMBEDDING_CACHE_SIZE
GPU मेमोरी में रखे गए SAM2 embeddings की संख्या। प्रत्येक embedding 16777216 bytes लेती है।
100
SAM2_MAX_LOGITS_CACHE_SIZE
CPU मेमोरी में रखे गए SAM2 logits की संख्या। प्रत्येक logit 262144 bytes लेता है।
1000
DISABLE_SAM2_LOGITS_CACHE
SAM2 logits की caching को निष्क्रिय करता है। डिबगिंग के लिए या मेमोरी उपयोग कम करने के लिए उपयोगी, लेकिन इससे समान अनुरोधों की बार-बार प्रक्रिया धीमी हो जाएगी।
False
inference-models backend
USE_INFERENCE_MODELS
चयन करता है inference-models backend.
False
MAX_INFERENCE_MODELS_CACHE_SIZE_MB
को सक्षम करता है inference-models cache watchdog। जब इसे इससे ऊपर सेट किया जाता है 0तो watchdog मॉडल artifacts को हटाता है (सबसे पुराने और सबसे बड़े पहले) ताकि समय के साथ सिस्टम डिस्क स्पेस से बाहर न हो। केवल तब लागू होता है जब USE_INFERENCE_MODELS=True.
-1
INFERENCE_MODELS_CACHE_WATCHDOG_INTERVAL_MINUTES
की आवृत्ति inference-models cache watchdog चक्र। न्यूनतम 15 मिनट है।
60
ENABLE_CUDA_MEMORY_RECLAMATION_WATCHDOG
एक background daemon को सक्षम करता है जो समय-समय पर cached लेकिन अप्रयुक्त CUDA मेमोरी को driver को वापस देता है torch.cuda.empty_cache(). PyTorch का caching allocator freed device blocks को अपने pool में रखता है और उन्हें अपने आप कभी रिलीज़ नहीं करता, इसलिए लंबे समय तक चलने वाले server पर concurrent या batched inference का high-water mark स्थायी हो जाता है और reserved VRAM केवल बढ़ती रहती है। यह watchdog एक निश्चित interval पर उस slack को पुनः प्राप्त करता है; live allocations पर कोई असर नहीं पड़ता। यह वास्तव में oversubscribed concurrent peak के कारण होने वाले OOM को नहीं रोकता। केवल तब अर्थपूर्ण है जब USE_INFERENCE_MODELS=True CUDA पर।
False
CUDA_MEMORY_RECLAMATION_WATCHDOG_INTERVAL_SECONDS
CUDA memory watchdog के reclamation cycles के बीच का interval। न्यूनतम है 5 seconds (कम मानों को ऊपर clamp किया जाता है)। केवल तब लागू होता है जब ENABLE_CUDA_MEMORY_RECLAMATION_WATCHDOG=True.
300
Workflows और वीडियो
ENABLE_WORKFLOWS_PROFILING
server को Workflows profiler traces client को लौटाने की अनुमति देता है।
False
WORKFLOWS_PROFILER_BUFFER_SIZE
profiler buffer का आकार: लगातार होने वाले Workflows Execution Engine के run(...) invocations, जिन्हें buffer में traced किया गया है।
64
WORKFLOWS_DEFINITION_CACHE_EXPIRY
Workflow definitions को cache करने के लिए seconds की संख्या, जो यहाँ से लौटाई जाती हैं get_workflow_specification(...).
900 (15 मिनट)
ENABLE_STREAM_API
video management API को सक्षम करता है। मानक CPU, GPU, और TensorRT images इसे सेट करते हैं True; JetPack 5.1.1 और 6.2.0 images भी ऐसा करते हैं; slim images और JetPack 6.0.0 तथा 7.1.0 images ऐसा नहीं करते।
False इसे सेट करने वाली images के बाहर
STREAM_API_PRELOADED_PROCESSES
कितने idle video workers warm up किए जाते हैं। इससे GPU पर worker startup time कम होता है।
0
Roboflow API कनेक्टिविटी
TRANSIENT_ROBOFLOW_API_ERRORS
Roboflow API के HTTP codes की कॉमा से अलग की गई सूची जिन पर retry किया जाना चाहिए (केवल GET endpoints)।
सेट नहीं है
TRANSIENT_ROBOFLOW_API_ERRORS_RETRIES
अस्थायी errors (connection errors और transient HTTP codes) को कितनी बार retry किया जाता है (केवल GET endpoints)।
3
TRANSIENT_ROBOFLOW_API_ERRORS_RETRY_INTERVAL
अस्थायी Roboflow API errors के retries के बीच देरी (केवल GET endpoints)।
3
RETRY_CONNECTION_ERRORS_TO_ROBOFLOW_API
क्या Roboflow API से connection errors को retry किया जाना चाहिए (केवल GET endpoints)।
False
ROBOFLOW_API_REQUEST_TIMEOUT
Roboflow API को भेजे जाने वाले requests के लिए सेकंडों में timeout (integer)।
सेट नहीं है
API_PROXY_BASE_URL
Roboflow API proxy requests के लिए उपयोग किया जाने वाला base URL apiproxy/* endpoints। लंबे समय तक चलने वाली third-party proxy calls के लिए Firebase Hosting timeouts को बायपास करने हेतु इसे direct heavy-API Cloud Run service root पर सेट करें।
का मान API_BASE_URL
DISABLE_VERSION_CHECK
background thread में चलने वाले Inference version check को निष्क्रिय करता है। इसे force-set करें True (एक स्पष्ट को ओवरराइड करते हुए False) जब SECURE_GATEWAY कॉन्फ़िगर किया गया हो, क्योंकि api.github.com gateway के पीछे पहुँच योग्य नहीं है।
False
SECURE_GATEWAY
एक का पता Roboflow Secure Gateway air-gapped deployments के लिए (legacy alias: LICENSE_SERVER). Roboflow API और model download traffic को gateway proxy के माध्यम से रूट करता है, version check को जबरन निष्क्रिय करता है, और जब remote plus hosted कॉन्फ़िगर किया गया हो, तब local Workflow step execution पर वापस जाता है। देखें Docker कॉन्फ़िगरेशन विकल्प.
सेट नहीं है
निगरानी और telemetry
ENABLE_PROMETHEUS
Prometheus को सक्षम करता है /metrics endpoint. देखें Telemetry.
True Docker Hub images के लिए
DOCKER_SOCKET_PATH
कंटेनर में mounted Docker daemon socket का path। जब प्रदान किया जाता है, तो daemon socket से Docker container stats polling सक्षम हो जाती है। देखें Telemetry.
सेट नहीं है
MODEL_MONITORING_CACHE_BACKEND
model-monitoring pingback data के लिए cache backend। default का उपयोग सामान्य cache चयन का पालन करने के लिए करें (जब REDIS_HOST कॉन्फ़िगर हो, तो Redis; अन्यथा memory), या memory को process-local buffering को मजबूर करने और inference hot path से Redis को दूर रखने के लिए।
default
HTTPS
ENABLE_HTTPS
Inference server के लिए HTTPS को चालू/बंद करता है। जब Trueहोता है, तो server पढ़ता है SSL_CERTFILE और SSL_KEYFILE और ट्रैफ़िक को TLS के माध्यम से सर्व करता है। देखें Serving Inference over HTTPS.
False
SSL_CERTFILE
जब PEM-encoded TLS certificate का path दिया जाता है, तब इसे सर्व किया जाता है ENABLE_HTTPS=True.
/etc/inference/certs/server.crt
SSL_KEYFILE
PEM-encoded TLS private key का path, जो इसके साथ जोड़ा गया है SSL_CERTFILE.
/etc/inference/certs/server.key
SSL_KEYFILE_PASSWORD
passphrase जिसका उपयोग decrypt करने के लिए किया जाता है SSL_KEYFILE जब private key encrypted हो।
सेट नहीं है
SSL_CA_CERTS
CA bundle का path, जिसका उपयोग तब किया जाता है जब client certificate verification (mTLS) आवश्यक हो।
सेट नहीं है
प्रमाणीकरण और इनपुट सुरक्षा
WORKSPACES_WHITELISTED_FOR_LOCAL_DEPLOYMENT
Roboflow workspace URL slugs की कॉमा से अलग की गई सूची जिन्हें इस server के विरुद्ध requests निष्पादित करने की अनुमति है। जब सेट किया जाता है, तो हर request (docs, landing page, और health, liveness, तथा metrics endpoints को छोड़कर) Roboflow API key से authorized होती है।
सेट नहीं है
वे चर जो custom Python execution और URL image fetching को नियंत्रित करते हैं (ALLOW_CUSTOM_PYTHON_EXECUTION_IN_WORKFLOWS, ALLOW_URL_INPUT, ALLOW_URL_TO_NON_GLOBAL_ADDRESSES, VALIDATE_IMAGE_URL_REDIRECTSऔर अन्य) का दस्तावेज़ इसमें दिया गया है स्व-होस्टेड सर्वर को सुरक्षित करना और Accepted Input Formats.
अंतिम अपडेट
क्या यह उपयोगी था?