Ez a példa bemutatja, hogyan használható a Microsoft Foundry Local REST API szolgáltatásként az OpenAI SDK használata nélkül. Közvetlen HTTP integrációs mintákat mutat be a maximális irányítás és testreszabás érdekében.
A Microsoft hivatalos Foundry Local mintái alapján ez a példa biztosítja:
- Közvetlen REST API integrációt a FoundryLocalManager-rel
- Egyedi HTTP kliens implementációt
- Modellkezelést és állapotfigyelést
- Streaming és nem-streaming válaszok kezelését
- Gyártásra kész hibakezelést és újrapróbálkozási logikát
-
Foundry Local telepítése
# Install from GitHub releases winget install Microsoft.FoundryLocal -
Python függőségek
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 │
└─────────────────┘ └──────────────────┘ └─────────────────┘
- Tiszta REST API hívások SDK függőségek nélkül
- Egyedi hitelesítés és fejlécek
- Teljes irányítás a kérés/válasz kezelés felett
- Dinamikus modell betöltés és eltávolítás
- Állapotfigyelés és ellenőrzések
- Teljesítménymetrikák gyűjtése
- Újrapróbálkozási mechanizmusok exponenciális visszalépéssel
- Áramkör-megszakító a hibatűrés érdekében
- Átfogó naplózás és monitorozás
- Streaming válaszok valós idejű alkalmazásokhoz
- Batch feldolgozás nagy áteresztőképességű forgatókönyvekhez
- Egyedi válaszfeldolgozás és validáció
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
Ez a példa követi a Microsoft hivatalos mintáit:
- SDK integráció: A
FoundryLocalManagerhasználata a szolgáltatás kezeléséhez - REST végpontok: Közvetlen hívások a
/v1/chat/completionsés más végpontokhoz - Hitelesítés: Megfelelő API kulcskezelés helyi szolgáltatásokhoz
- Modellkezelés: Katalóguslistázás, letöltés és betöltési minták
- Hibakezelés: Microsoft által ajánlott hibakódok és válaszok
-
Függőségek telepítése
pip install -r requirements.txt
-
Alapvető példa futtatása
python examples/basic_usage.py
-
Streaming kipróbálása
python examples/streaming.py
-
Gyártási beállítás
python examples/production.py
Környezeti változók testreszabáshoz:
FOUNDRY_MODEL: Alapértelmezett modell (alapértelmezett: "phi-4-mini")FOUNDRY_TIMEOUT: Kérés időkorlátja másodpercben (alapértelmezett: 30)FOUNDRY_RETRIES: Újrapróbálkozások száma (alapértelmezett: 3)FOUNDRY_LOG_LEVEL: Naplózási szint (alapértelmezett: "INFO")
- Kapcsolatkezelés: HTTP kapcsolatok újrahasználata a jobb teljesítmény érdekében
- Hibakezelés: Megfelelő újrapróbálkozási logika implementálása exponenciális visszalépéssel
- Erőforrás-figyelés: Modell memóriahasználat és teljesítmény nyomon követése
- Biztonság: Megfelelő hitelesítés használata még helyi szolgáltatások esetén is
- Tesztelés: Egység- és integrációs tesztek beépítése
Szolgáltatás nem fut
# Check Foundry Local status
foundry status
# Start if needed
foundry startModell betöltési problémák
# List available models
foundry model list
# Download specific model
foundry model download phi-4-miniKapcsolati hibák
- Ellenőrizze, hogy a Foundry Local a megfelelő porton fut-e
- Ellenőrizze a tűzfal beállításait
- Győződjön meg a megfelelő hitelesítési fejlécekről
- Kapcsolat pooling: Session objektumok használata több kéréshez
- Aszinkron műveletek: Az asyncio használata párhuzamos kérésekhez
- Gyorsítótárazás: Modell válaszok gyorsítótárazása, ahol megfelelő
- Monitorozás: Válaszidők nyomon követése és időkorlátok beállítása
A minta befejezése után megérti:
- Közvetlen REST API integrációt a Foundry Local-lal
- Egyedi HTTP kliens implementációs mintákat
- Gyártásra kész hibakezelést és monitorozást
- Microsoft Foundry Local szolgáltatás architektúráját
- Teljesítményoptimalizálási technikákat helyi AI szolgáltatásokhoz
- Fedezze fel a 08-as mintát: Windows 11 Chat alkalmazás
- Próbálja ki a 09-es mintát: Többügynökös orkestráció
- Tanulja meg a 10-es mintát: Foundry Local mint eszközök integrációja