Táto ukážka demonštruje, ako používať Microsoft Foundry Local ako REST API službu bez závislosti na OpenAI SDK. Ukazuje priame integračné vzory cez HTTP pre maximálnu kontrolu a prispôsobenie.
Na základe oficiálnych vzorov Microsoft Foundry Local táto ukážka poskytuje:
- Priamu integráciu REST API s FoundryLocalManager
- Vlastnú implementáciu HTTP klienta
- Správu modelov a monitorovanie stavu
- Spracovanie odpovedí v režime streamovania aj bez streamovania
- Pripravené na produkciu: spracovanie chýb a logika opakovania
-
Inštalácia Foundry Local
# Install from GitHub releases winget install Microsoft.FoundryLocal -
Python závislosti
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 │
└─────────────────┘ └──────────────────┘ └─────────────────┘
- Čisté REST API volania bez závislosti na SDK
- Vlastná autentifikácia a hlavičky
- Plná kontrola nad spracovaním požiadaviek a odpovedí
- Dynamické načítanie a odstraňovanie modelov
- Monitorovanie stavu a kontrola zdravia
- Zber výkonnostných metrík
- Mechanizmy opakovania s exponenciálnym oneskorením
- Circuit breaker pre odolnosť voči chybám
- Komplexné logovanie a monitorovanie
- Streamované odpovede pre aplikácie v reálnom čase
- Batch spracovanie pre scenáre s vysokou priepustnosťou
- Vlastné parsovanie a validácia odpovedí
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
Táto ukážka nasleduje oficiálne vzory Microsoftu:
- SDK integrácia: Používa
FoundryLocalManagerna správu služieb - REST endpointy: Priame volania na
/v1/chat/completionsa ďalšie endpointy - Autentifikácia: Správne spracovanie API kľúčov pre lokálne služby
- Správa modelov: Zoznam katalógu, sťahovanie a načítanie modelov
- Spracovanie chýb: Odporúčané chybové kódy a odpovede od Microsoftu
-
Inštalujte závislosti
pip install -r requirements.txt
-
Spustite základný príklad
python examples/basic_usage.py
-
Vyskúšajte streamovanie
python examples/streaming.py
-
Produkčné nastavenie
python examples/production.py
Premenné prostredia na prispôsobenie:
FOUNDRY_MODEL: Predvolený model na použitie (predvolené: "phi-4-mini")FOUNDRY_TIMEOUT: Časový limit požiadavky v sekundách (predvolené: 30)FOUNDRY_RETRIES: Počet pokusov o opakovanie (predvolené: 3)FOUNDRY_LOG_LEVEL: Úroveň logovania (predvolené: "INFO")
- Správa pripojení: Opätovné použitie HTTP pripojení pre lepší výkon
- Spracovanie chýb: Implementujte správnu logiku opakovania s exponenciálnym oneskorením
- Monitorovanie zdrojov: Sledujte využitie pamäte modelu a výkon
- Bezpečnosť: Používajte správnu autentifikáciu aj pre lokálne služby
- Testovanie: Zahrňte jednotkové aj integračné testy
Služba nebeží
# Check Foundry Local status
foundry status
# Start if needed
foundry startProblémy s načítaním modelu
# List available models
foundry model list
# Download specific model
foundry model download phi-4-miniChyby pripojenia
- Overte, či Foundry Local beží na správnom porte
- Skontrolujte nastavenia firewallu
- Uistite sa, že používate správne autentifikačné hlavičky
- Pooling pripojení: Používajte objekty session pre viacero požiadaviek
- Asynchrónne operácie: Využívajte asyncio pre súbežné požiadavky
- Caching: Cacheujte odpovede modelu, kde je to vhodné
- Monitorovanie: Sledujte časy odpovedí a upravujte časové limity
Po dokončení tejto ukážky budete rozumieť:
- Priamej integrácii REST API s Foundry Local
- Vzorom implementácie vlastného HTTP klienta
- Produkčnému spracovaniu chýb a monitorovaniu
- Architektúre služby Microsoft Foundry Local
- Technikám optimalizácie výkonu pre lokálne AI služby
- Preskúmajte Ukážku 08: Chat aplikácia pre Windows 11
- Vyskúšajte Ukážku 09: Orchestrácia viacerých agentov
- Naučte sa Ukážku 10: Foundry Local ako integrácia nástrojov