OpenAI Python SDK के साथ उन्नत इंटीग्रेशन को प्रदर्शित करता है, जो Microsoft Foundry Local और Azure OpenAI दोनों का समर्थन करता है, साथ ही स्ट्रीमिंग प्रतिक्रियाओं और उचित त्रुटि प्रबंधन के साथ।
यह नमूना निम्नलिखित को प्रदर्शित करता है:
- Foundry Local और Azure OpenAI के बीच सहज स्विचिंग
- बेहतर उपयोगकर्ता अनुभव के लिए स्ट्रीमिंग चैट प्रतिक्रियाएं
- FoundryLocalManager SDK का सही उपयोग
- मजबूत त्रुटि प्रबंधन और बैकअप तंत्र
- उत्पादन-तैयार कोड पैटर्न
- Foundry Local: इंस्टॉल और चालू (स्थानीय अनुमान के लिए)
- Python: 3.8 या बाद का संस्करण OpenAI SDK के साथ
- Azure OpenAI: मान्य एंडपॉइंट और API कुंजी (क्लाउड अनुमान के लिए)
-
Python वातावरण सेट करें:
cd Module08 py -m venv .venv .venv\Scripts\activate -
डिपेंडेंसी इंस्टॉल करें:
pip install -r requirements.txt
-
Foundry Local शुरू करें (स्थानीय मोड के लिए):
foundry model run phi-4-mini
विकल्प 1: FoundryLocalManager का उपयोग करना (अनुशंसित)
# Automatic service discovery and model management
set MODEL=phi-4-mini
python samples\02\sdk_quickstart.pyविकल्प 2: मैनुअल कॉन्फ़िगरेशन
# Manual endpoint configuration
set BASE_URL=http://localhost:8000
set MODEL=phi-4-mini
set API_KEY=
python samples\02\sdk_quickstart.py# Azure OpenAI configuration
set AZURE_OPENAI_ENDPOINT=https://your-resource.openai.azure.com
set AZURE_OPENAI_API_KEY=your-api-key
set AZURE_OPENAI_API_VERSION=2024-08-01-preview
set MODEL=your-deployment-name
python samples\02\sdk_quickstart.pyनमूना उपयुक्त क्लाइंट बनाने के लिए फैक्टरी पैटर्न का उपयोग करता है:
def create_foundry_client():
"""Create Foundry Local client with SDK management."""
manager = FoundryLocalManager(alias)
client = OpenAI(
base_url=manager.endpoint,
api_key=manager.api_key
)
return client, manager.get_model_info(alias).id
def create_azure_client():
"""Create Azure OpenAI client."""
client = OpenAI(
base_url=f"{endpoint}/openai",
api_key=api_key,
default_query={"api-version": api_version}
)
return client, modelनमूना वास्तविक समय प्रतिक्रिया उत्पन्न करने के लिए स्ट्रीमिंग को प्रदर्शित करता है:
stream = client.chat.completions.create(
model=model,
messages=[{"role": "user", "content": prompt}],
stream=True
)
for chunk in stream:
if chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)| चर | विवरण | डिफ़ॉल्ट | आवश्यक |
|---|---|---|---|
MODEL |
उपयोग करने के लिए मॉडल उपनाम | phi-4-mini |
नहीं |
BASE_URL |
Foundry Local एंडपॉइंट | http://localhost:8000 |
नहीं |
API_KEY |
API कुंजी (स्थानीय के लिए वैकल्पिक) | "" |
नहीं |
| चर | विवरण | डिफ़ॉल्ट | आवश्यक |
|---|---|---|---|
AZURE_OPENAI_ENDPOINT |
Azure OpenAI संसाधन एंडपॉइंट | - | हाँ |
AZURE_OPENAI_API_KEY |
Azure OpenAI API कुंजी | - | हाँ |
AZURE_OPENAI_API_VERSION |
API संस्करण | 2024-08-01-preview |
नहीं |
MODEL |
Azure डिप्लॉयमेंट नाम | your-deployment-name |
हाँ |
नमूना पर्यावरण चर के आधार पर उपयुक्त सेवा का स्वतः पता लगाता है:
- Azure मोड: यदि
AZURE_OPENAI_ENDPOINTऔरAZURE_OPENAI_API_KEYसेट हैं - Foundry SDK मोड: यदि Foundry Local SDK उपलब्ध है
- मैनुअल मोड: मैनुअल कॉन्फ़िगरेशन पर बैकअप
- SDK से मैनुअल कॉन्फ़िगरेशन पर सहज बैकअप
- समस्या निवारण के लिए स्पष्ट त्रुटि संदेश
- नेटवर्क समस्याओं के लिए उचित अपवाद प्रबंधन
- आवश्यक पर्यावरण चर का सत्यापन
Foundry Local के लाभ:
- ✅ कोई API लागत नहीं
- ✅ डेटा गोपनीयता (कोई डेटा डिवाइस से बाहर नहीं जाता)
- ✅ समर्थित मॉडलों के लिए कम विलंबता
- ✅ ऑफलाइन काम करता है
Azure OpenAI के लाभ:
- ✅ नवीनतम बड़े मॉडलों तक पहुंच
- ✅ उच्च थ्रूपुट
- ✅ कोई स्थानीय कंप्यूट आवश्यकताएँ नहीं
- ✅ एंटरप्राइज़-ग्रेड SLA
-
"Foundry SDK का उपयोग नहीं कर सके" चेतावनी:
pip install foundry-local-sdk
-
Azure प्रमाणीकरण त्रुटियाँ:
# Verify your endpoint format echo %AZURE_OPENAI_ENDPOINT% # Should be: https://your-resource.openai.azure.com
-
मॉडल उपलब्ध नहीं है:
# For Foundry Local foundry model list foundry model run your-model-name # For Azure OpenAI # Check your deployment name in Azure Portal
# Foundry Local
foundry service status
curl http://localhost:8000/v1/models
# Azure OpenAI
curl -H "api-key: %AZURE_OPENAI_API_KEY%" "%AZURE_OPENAI_ENDPOINT%/openai/deployments?api-version=2024-08-01-preview"- नमूना 03: मॉडल खोज और बेंचमार्किंग
- नमूना 04: एक Chainlit RAG एप्लिकेशन बनाना
- नमूना 05: मल्टी-एजेंट ऑर्केस्ट्रेशन
- नमूना 06: टूल्स के रूप में मॉडल रूटिंग
- Azure OpenAI दस्तावेज़
- Foundry Local SDK संदर्भ
- OpenAI Python SDK दस्तावेज़
- स्ट्रीमिंग प्रतिक्रियाओं गाइड