यह नमूना दिखाता है कि 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 डिपेंडेंसी
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 │
└─────────────────┘ └──────────────────┘ └─────────────────┘
- SDK निर्भरता के बिना शुद्ध REST 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 के आधिकारिक पैटर्न का अनुसरण करता है:
- SDK एकीकरण: सेवा प्रबंधन के लिए
FoundryLocalManagerका उपयोग करता है - REST एंडपॉइंट्स:
/v1/chat/completionsऔर अन्य एंडपॉइंट्स पर सीधे कॉल करता है - प्रमाणीकरण: स्थानीय सेवाओं के लिए उचित API कुंजी हैंडलिंग
- मॉडल प्रबंधन: कैटलॉग सूची, डाउनलोडिंग, और लोडिंग पैटर्न
- त्रुटि हैंडलिंग: Microsoft द्वारा अनुशंसित त्रुटि कोड और प्रतिक्रियाएँ
-
डिपेंडेंसी इंस्टॉल करें
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 को टूल्स के साथ एकीकृत करना सीखें