Foundry Local as API Sample
January 29, 2026 · View on GitHub
यो नमूनाले Microsoft Foundry Local लाई REST API सेवा रूपमा OpenAI SDK मा निर्भर नगरी प्रयोग गर्ने तरिका देखाउँछ। यसले अधिकतम नियन्त्रण र अनुकूलनको लागि प्रत्यक्ष HTTP एकीकरण ढाँचाहरू प्रस्तुत गर्दछ।
अवलोकन
Microsoft को आधिकारिक Foundry Local ढाँचाहरूमा आधारित, यो नमूनाले प्रदान गर्दछ:
- FoundryLocalManager सँग प्रत्यक्ष REST API एकीकरण
- अनुकूलित HTTP क्लाइन्ट कार्यान्वयन
- मोडेल व्यवस्थापन र स्वास्थ्य निगरानी
- स्ट्रिमिङ र गैर-स्ट्रिमिङ प्रतिक्रिया ह्यान्डलिङ
- उत्पादन-तयार त्रुटि ह्यान्डलिङ र पुन: प्रयास गर्ने तर्क
आवश्यकताहरू
-
Foundry Local स्थापना
# Install from GitHub releases winget install Microsoft.FoundryLocal -
Python Dependencies
pip install foundry-local-sdk requests asyncio aiohttp
वास्तुकला
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ Your App │───▶│ REST API Client │───▶│ Foundry Local │
│ │ │ │ │ Service │
│ - Custom Logic │ │ - HTTP Requests │ │ - Model Loading │
│ - Business Rules│ │ - Authentication │ │ - Inference │
│ - Data Pipeline │ │ - Error Handling │ │ - Health Check │
└─────────────────┘ └──────────────────┘ └─────────────────┘
मुख्य विशेषताहरू
1. प्रत्यक्ष HTTP एकीकरण
- SDK निर्भरता बिना शुद्ध REST API कलहरू
- अनुकूलित प्रमाणीकरण र हेडरहरू
- अनुरोध/प्रतिक्रिया ह्यान्डलिङमा पूर्ण नियन्त्रण
2. मोडेल व्यवस्थापन
- गतिशील मोडेल लोडिङ र अनलोडिङ
- स्वास्थ्य निगरानी र स्थिति जाँच
- प्रदर्शन मेट्रिक्स सङ्कलन
3. उत्पादन ढाँचाहरू
- एक्सपोनेंशियल ब्याकअफको साथ पुन: प्रयास गर्ने संयन्त्र
- दोष सहिष्णुता लागि सर्किट ब्रेकर
- व्यापक लगिङ र निगरानी
4. लचिलो प्रतिक्रिया ह्यान्डलिङ
- वास्तविक-समय अनुप्रयोगहरूको लागि स्ट्रिमिङ प्रतिक्रियाहरू
- उच्च-थ्रुपुट परिदृश्यहरूको लागि ब्याच प्रशोधन
- अनुकूलित प्रतिक्रिया पार्सिङ र मान्यता
प्रयोगका उदाहरणहरू
आधारभूत API एकीकरण
from api_client import FoundryAPIClient
# Initialize the API client
client = FoundryAPIClient()
# Simple completion
response = await client.complete(
prompt="Explain quantum computing",
model="phi-4-mini",
max_tokens=500
)
print(response.content)
स्ट्रिमिङ एकीकरण
# Stream responses for real-time applications
async for chunk in client.stream_complete(
prompt="Write a story about AI",
model="phi-4-mini"
):
print(chunk.content, end="", flush=True)
स्वास्थ्य निगरानी
# Check service health
health = await client.health_check()
print(f"Service Status: {health.status}")
print(f"Active Models: {health.loaded_models}")
print(f"Memory Usage: {health.memory_usage}")
फाइल संरचना
07/
├── README.md # This documentation
├── requirements.txt # Python dependencies
├── api_client.py # Core API client implementation
├── health_monitor.py # Health checking and monitoring
├── examples/
│ ├── basic_usage.py # Simple API integration example
│ ├── streaming.py # Streaming response example
│ ├── batch_processing.py # Batch processing example
│ └── production.py # Production-ready implementation
└── tests/
├── test_api_client.py # Unit tests for API client
└── test_integration.py # Integration tests
Microsoft Foundry Local एकीकरण
यो नमूनाले Microsoft को आधिकारिक ढाँचाहरू अनुसरण गर्दछ:
- SDK एकीकरण: सेवा व्यवस्थापनको लागि
FoundryLocalManagerप्रयोग गर्दछ - REST अन्त बिन्दुहरू:
/v1/chat/completionsर अन्य अन्त बिन्दुहरूमा प्रत्यक्ष कलहरू - प्रमाणीकरण: स्थानीय सेवाहरूको लागि उचित API कुञ्जी ह्यान्डलिङ
- मोडेल व्यवस्थापन: सूचीकरण, डाउनलोडिङ, र लोडिङ ढाँचाहरू
- त्रुटि ह्यान्डलिङ: Microsoft द्वारा सिफारिस गरिएका त्रुटि कोडहरू र प्रतिक्रियाहरू
सुरु गर्ने तरिका
-
Dependencies स्थापना गर्नुहोस्
pip install -r requirements.txt -
आधारभूत उदाहरण चलाउनुहोस्
python examples/basic_usage.py -
स्ट्रिमिङ प्रयास गर्नुहोस्
python examples/streaming.py -
उत्पादन सेटअप
python examples/production.py
कन्फिगरेसन
अनुकूलनको लागि वातावरण चरहरू:
FOUNDRY_MODEL: प्रयोग गर्नुपर्ने डिफल्ट मोडेल (डिफल्ट: "phi-4-mini")FOUNDRY_TIMEOUT: अनुरोध टाइमआउट सेकेन्डमा (डिफल्ट: 30)FOUNDRY_RETRIES: पुन: प्रयास गर्ने संख्या (डिफल्ट: 3)FOUNDRY_LOG_LEVEL: लगिङ स्तर (डिफल्ट: "INFO")
उत्कृष्ट अभ्यासहरू
- कनेक्शन व्यवस्थापन: राम्रो प्रदर्शनको लागि HTTP कनेक्शनहरू पुन: प्रयोग गर्नुहोस्
- त्रुटि ह्यान्डलिङ: एक्सपोनेंशियल ब्याकअफको साथ उचित पुन: प्रयास तर्क कार्यान्वयन गर्नुहोस्
- स्रोत निगरानी: मोडेल मेमोरी प्रयोग र प्रदर्शन ट्र्याक गर्नुहोस्
- सुरक्षा: स्थानीय सेवाहरूको लागि पनि उचित प्रमाणीकरण प्रयोग गर्नुहोस्
- परीक्षण: युनिट र एकीकरण परीक्षणहरू समावेश गर्नुहोस्
समस्या समाधान
सामान्य समस्याहरू
सेवा चलिरहेको छैन
# Check Foundry Local status
foundry status
# Start if needed
foundry start
मोडेल लोडिङ समस्याहरू
# List available models
foundry model list
# Download specific model
foundry model download phi-4-mini
कनेक्शन त्रुटिहरू
- सुनिश्चित गर्नुहोस् Foundry Local सही पोर्टमा चलिरहेको छ
- फायरवाल सेटिङहरू जाँच गर्नुहोस्
- उचित प्रमाणीकरण हेडरहरू सुनिश्चित गर्नुहोस्
प्रदर्शन अनुकूलन
- कनेक्शन पूलिङ: धेरै अनुरोधहरूको लागि सेसन वस्तुहरू प्रयोग गर्नुहोस्
- एसिंक्रोनस अपरेसनहरू: समवर्ती अनुरोधहरूको लागि asyncio प्रयोग गर्नुहोस्
- क्यासिङ: उपयुक्त ठाउँमा मोडेल प्रतिक्रियाहरू क्यास गर्नुहोस्
- निगरानी: प्रतिक्रिया समय ट्र्याक गर्नुहोस् र टाइमआउट समायोजन गर्नुहोस्
सिकाइ परिणामहरू
यो नमूना पूरा गरेपछि, तपाईं बुझ्नुहुनेछ:
- Foundry Local सँग प्रत्यक्ष REST API एकीकरण
- अनुकूलित HTTP क्लाइन्ट कार्यान्वयन ढाँचाहरू
- उत्पादन-तयार त्रुटि ह्यान्डलिङ र निगरानी
- Microsoft Foundry Local सेवा वास्तुकला
- स्थानीय AI सेवाहरूको लागि प्रदर्शन अनुकूलन प्रविधिहरू
अर्को कदमहरू
- नमूना 08 अन्वेषण गर्नुहोस्: Windows 11 च्याट अनुप्रयोग
- नमूना 09 प्रयास गर्नुहोस्: बहु-एजेन्ट समन्वय
- नमूना 10 सिक्नुहोस्: Foundry Local लाई उपकरण एकीकरणको रूपमा प्रयोग गर्नुहोस्