# ಫೌಂಡ್ರಿ ಲೋಕಲ್ ಅನ್ನು API ಮಾದರಿಯಾಗಿ ಬಳಸುವುದು ಈ ಮಾದರಿ Microsoft ಫೌಂಡ್ರಿ ಲೋಕಲ್ ಅನ್ನು OpenAI SDK ಮೇಲೆ ಅವಲಂಬಿಸದೆ REST API ಸೇವೆಯಾಗಿ ಹೇಗೆ ಬಳಸುವುದು ಎಂಬುದನ್ನು ತೋರಿಸುತ್ತದೆ. ಇದು ಗರಿಷ್ಠ ನಿಯಂತ್ರಣ ಮತ್ತು ಕಸ್ಟಮೈಜೇಶನ್‌ಗಾಗಿ ನೇರ HTTP ಸಂಯೋಜನೆ ಮಾದರಿಗಳನ್ನು ತೋರಿಸುತ್ತದೆ. ## ಅವಲೋಕನ Microsoft ನ ಅಧಿಕೃತ ಫೌಂಡ್ರಿ ಲೋಕಲ್ ಮಾದರಿಗಳ ಆಧಾರದ ಮೇಲೆ, ಈ ಮಾದರಿ ನೀಡುತ್ತದೆ: - FoundryLocalManager ನೊಂದಿಗೆ ನೇರ REST API ಸಂಯೋಜನೆ - ಕಸ್ಟಮ್ HTTP ಕ್ಲೈಂಟ್ ಅನುಷ್ಠಾನ - ಮಾದರಿ ನಿರ್ವಹಣೆ ಮತ್ತು ಆರೋಗ್ಯ ಮೇಲ್ವಿಚಾರಣೆ - ಸ್ಟ್ರೀಮಿಂಗ್ ಮತ್ತು ನಾನ್-ಸ್ಟ್ರೀಮಿಂಗ್ ಪ್ರತಿಕ್ರಿಯೆ ನಿರ್ವಹಣೆ - ಉತ್ಪಾದನಾ-ಸಿದ್ಧ ದೋಷ ನಿರ್ವಹಣೆ ಮತ್ತು ಮರುಪ್ರಯತ್ನ ಲಾಜಿಕ್ ## ಪೂರ್ವಾಪೇಕ್ಷಿತಗಳು 1. **ಫೌಂಡ್ರಿ ಲೋಕಲ್ ಸ್ಥಾಪನೆ** ```powershell # GitHub ಬಿಡುಗಡೆಗಳಿಂದ ಸ್ಥಾಪಿಸಿ winget install Microsoft.FoundryLocal ``` 2. **ಪೈಥಾನ್ ಅವಲಂಬನೆಗಳು** ```bash 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 ಸಂಯೋಜನೆ ```python from api_client import FoundryAPIClient # API ಕ್ಲೈಂಟ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸಿ client = FoundryAPIClient() # ಸರಳ ಪೂರ್ಣಗೊಳಿಸುವಿಕೆ response = await client.complete( prompt="Explain quantum computing", model="phi-4-mini", max_tokens=500 ) print(response.content) ``` ### ಸ್ಟ್ರೀಮಿಂಗ್ ಸಂಯೋಜನೆ ```python # ನೈಜ-ಸಮಯ ಅನ್ವಯಿಕೆಗಳಿಗೆ ಸ್ಟ್ರೀಮ್ ಪ್ರತಿಕ್ರಿಯೆಗಳು async for chunk in client.stream_complete( prompt="Write a story about AI", model="phi-4-mini" ): print(chunk.content, end="", flush=True) ``` ### ಆರೋಗ್ಯ ಮೇಲ್ವಿಚಾರಣೆ ```python # ಸೇವೆಯ ಆರೋಗ್ಯವನ್ನು ಪರಿಶೀಲಿಸಿ 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 ಫೌಂಡ್ರಿ ಲೋಕಲ್ ಸಂಯೋಜನೆ ಈ ಮಾದರಿ Microsoft ನ ಅಧಿಕೃತ ಮಾದರಿಗಳನ್ನು ಅನುಸರಿಸುತ್ತದೆ: 1. **SDK ಸಂಯೋಜನೆ**: ಸೇವೆ ನಿರ್ವಹಣೆಗೆ `FoundryLocalManager` ಬಳಕೆ 2. **REST ಎಂಡ್‌ಪಾಯಿಂಟ್‌ಗಳು**: `/v1/chat/completions` ಮತ್ತು ಇತರ ಎಂಡ್‌ಪಾಯಿಂಟ್‌ಗಳಿಗೆ ನೇರ ಕರೆಗಳು 3. **ಪ್ರಮಾಣೀಕರಣ**: ಸ್ಥಳೀಯ ಸೇವೆಗಳಿಗಾಗಿ ಸರಿಯಾದ API ಕೀ ನಿರ್ವಹಣೆ 4. **ಮಾದರಿ ನಿರ್ವಹಣೆ**: ಕ್ಯಾಟಲಾಗ್ ಪಟ್ಟಿ, ಡೌನ್‌ಲೋಡ್ ಮತ್ತು ಲೋಡಿಂಗ್ ಮಾದರಿಗಳು 5. **ದೋಷ ನಿರ್ವಹಣೆ**: Microsoft ಶಿಫಾರಸು ಮಾಡಿದ ದೋಷ ಕೋಡ್‌ಗಳು ಮತ್ತು ಪ್ರತಿಕ್ರಿಯೆಗಳು ## ಪ್ರಾರಂಭಿಸುವುದು 1. **ಅವಲಂಬನೆಗಳನ್ನು ಸ್ಥಾಪಿಸಿ** ```bash pip install -r requirements.txt ``` 2. **ಮೂಲ ಉದಾಹರಣೆಯನ್ನು ಚಾಲನೆ ಮಾಡಿ** ```bash python examples/basic_usage.py ``` 3. **ಸ್ಟ್ರೀಮಿಂಗ್ ಪ್ರಯತ್ನಿಸಿ** ```bash python examples/streaming.py ``` 4. **ಉತ್ಪಾದನಾ ಸೆಟಪ್** ```bash python examples/production.py ``` ## ಸಂರಚನೆ ಕಸ್ಟಮೈಜೇಶನ್‌ಗಾಗಿ ಪರಿಸರ ಚರಗಳು: - `FOUNDRY_MODEL`: ಬಳಸಲು ಡೀಫಾಲ್ಟ್ ಮಾದರಿ (ಡೀಫಾಲ್ಟ್: "phi-4-mini") - `FOUNDRY_TIMEOUT`: ವಿನಂತಿ ಟೈಮೌಟ್ ಸೆಕೆಂಡುಗಳಲ್ಲಿ (ಡೀಫಾಲ್ಟ್: 30) - `FOUNDRY_RETRIES`: ಮರುಪ್ರಯತ್ನಗಳ ಸಂಖ್ಯೆ (ಡೀಫಾಲ್ಟ್: 3) - `FOUNDRY_LOG_LEVEL`: ಲಾಗಿಂಗ್ ಮಟ್ಟ (ಡೀಫಾಲ್ಟ್: "INFO") ## ಉತ್ತಮ ಅಭ್ಯಾಸಗಳು 1. **ಕನೆಕ್ಷನ್ ನಿರ್ವಹಣೆ**: ಉತ್ತಮ ಕಾರ್ಯಕ್ಷಮತೆಗಾಗಿ HTTP ಸಂಪರ್ಕಗಳನ್ನು ಮರುಬಳಕೆ ಮಾಡಿ 2. **ದೋಷ ನಿರ್ವಹಣೆ**: ಘಾತಾಂಕ ಬ್ಯಾಕ್ಆಫ್‌ನೊಂದಿಗೆ ಸರಿಯಾದ ಮರುಪ್ರಯತ್ನ ಲಾಜಿಕ್ ಅನುಷ್ಠಾನ ಮಾಡಿ 3. **ಸಂಪನ್ಮೂಲ ಮೇಲ್ವಿಚಾರಣೆ**: ಮಾದರಿ ಮೆಮೊರಿ ಬಳಕೆ ಮತ್ತು ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಟ್ರ್ಯಾಕ್ ಮಾಡಿ 4. **ಭದ್ರತೆ**: ಸ್ಥಳೀಯ ಸೇವೆಗಳಿಗೂ ಸರಿಯಾದ ಪ್ರಮಾಣೀಕರಣ ಬಳಸಿ 5. **ಪರೀಕ್ಷಣೆ**: ಯೂನಿಟ್ ಮತ್ತು ಸಂಯೋಜನೆ ಪರೀಕ್ಷೆಗಳನ್ನು ಒಳಗೊಂಡಿರಲಿ ## ಸಮಸ್ಯೆ ಪರಿಹಾರ ### ಸಾಮಾನ್ಯ ಸಮಸ್ಯೆಗಳು **ಸೇವೆ ಚಾಲನೆಯಲ್ಲಿಲ್ಲ** ```bash # ಫೌಂಡ್ರಿ ಲೋಕಲ್ ಸ್ಥಿತಿಯನ್ನು ಪರಿಶೀಲಿಸಿ foundry status # ಅಗತ್ಯವಿದ್ದರೆ ಪ್ರಾರಂಭಿಸಿ foundry start ``` **ಮಾದರಿ ಲೋಡಿಂಗ್ ಸಮಸ್ಯೆಗಳು** ```bash # ಲಭ್ಯವಿರುವ ಮಾದರಿಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡಿ foundry model list # ನಿರ್ದಿಷ್ಟ ಮಾದರಿಯನ್ನು ಡೌನ್‌ಲೋಡ್ ಮಾಡಿ foundry model download phi-4-mini ``` **ಕನೆಕ್ಷನ್ ದೋಷಗಳು** - ಫೌಂಡ್ರಿ ಲೋಕಲ್ ಸರಿಯಾದ ಪೋರ್ಟ್‌ನಲ್ಲಿ ಚಾಲನೆಯಲ್ಲಿದೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸಿ - ಫೈರ್‌ವಾಲ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಪರಿಶೀಲಿಸಿ - ಸರಿಯಾದ ಪ್ರಮಾಣೀಕರಣ ಹೆಡರ್‌ಗಳನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ ## ಕಾರ್ಯಕ್ಷಮತೆ ಸುಧಾರಣೆ 1. **ಕನೆಕ್ಷನ್ ಪೂಲಿಂಗ್**: ಬಹು ವಿನಂತಿಗಳಿಗಾಗಿ ಸೆಷನ್ ಆಬ್ಜೆಕ್ಟ್‌ಗಳನ್ನು ಬಳಸಿ 2. **ಅಸಿಂಕ್ ಕಾರ್ಯಾಚರಣೆಗಳು**: ಸಮಕಾಲೀನ ವಿನಂತಿಗಳಿಗಾಗಿ asyncio ಉಪಯೋಗಿಸಿ 3. **ಕ್ಯಾಶಿಂಗ್**: ಸೂಕ್ತ ಸ್ಥಳಗಳಲ್ಲಿ ಮಾದರಿ ಪ್ರತಿಕ್ರಿಯೆಗಳನ್ನು ಕ್ಯಾಶ್ ಮಾಡಿ 4. **ಮೇಲ್ವಿಚಾರಣೆ**: ಪ್ರತಿಕ್ರಿಯೆ ಸಮಯಗಳನ್ನು ಟ್ರ್ಯಾಕ್ ಮಾಡಿ ಮತ್ತು ಟೈಮೌಟ್‌ಗಳನ್ನು ಹೊಂದಿಸಿ ## ಕಲಿಕೆಯ ಫಲಿತಾಂಶಗಳು ಈ ಮಾದರಿಯನ್ನು ಪೂರ್ಣಗೊಳಿಸಿದ ನಂತರ, ನೀವು ತಿಳಿದುಕೊಳ್ಳುತ್ತೀರಿ: - ಫೌಂಡ್ರಿ ಲೋಕಲ್ ನೊಂದಿಗೆ ನೇರ REST API ಸಂಯೋಜನೆ - ಕಸ್ಟಮ್ HTTP ಕ್ಲೈಂಟ್ ಅನುಷ್ಠಾನ ಮಾದರಿಗಳು - ಉತ್ಪಾದನಾ-ಸಿದ್ಧ ದೋಷ ನಿರ್ವಹಣೆ ಮತ್ತು ಮೇಲ್ವಿಚಾರಣೆ - Microsoft ಫೌಂಡ್ರಿ ಲೋಕಲ್ ಸೇವೆ ವಾಸ್ತುಶಿಲ್ಪ - ಸ್ಥಳೀಯ AI ಸೇವೆಗಳ ಕಾರ್ಯಕ್ಷಮತೆ ಸುಧಾರಣಾ ತಂತ್ರಗಳು ## ಮುಂದಿನ ಹಂತಗಳು - ಮಾದರಿ 08: ವಿಂಡೋಸ್ 11 ಚಾಟ್ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ವೇಷಿಸಿ - ಮಾದರಿ 09: ಮಲ್ಟಿ-ಏಜೆಂಟ್ ಆರ್ಕೆಸ್ಟ್ರೇಶನ್ ಪ್ರಯತ್ನಿಸಿ - ಮಾದರಿ 10: ಫೌಂಡ್ರಿ ಲೋಕಲ್ ಅನ್ನು ಟೂಲ್ಸ್ ಸಂಯೋಜನೆಯಾಗಿ ಕಲಿಯಿರಿ --- **ಅಸ್ವೀಕರಣ**: ಈ ದಸ್ತಾವೇಜು AI ಅನುವಾದ ಸೇವೆ [Co-op Translator](https://github.com/Azure/co-op-translator) ಬಳಸಿ ಅನುವಾದಿಸಲಾಗಿದೆ. ನಾವು ನಿಖರತೆಯಿಗಾಗಿ ಪ್ರಯತ್ನಿಸುತ್ತಿದ್ದರೂ, ಸ್ವಯಂಚಾಲಿತ ಅನುವಾದಗಳಲ್ಲಿ ದೋಷಗಳು ಅಥವಾ ಅಸತ್ಯತೆಗಳು ಇರಬಹುದು ಎಂದು ದಯವಿಟ್ಟು ಗಮನಿಸಿ. ಮೂಲ ಭಾಷೆಯಲ್ಲಿರುವ ಮೂಲ ದಸ್ತಾವೇಜನ್ನು ಅಧಿಕೃತ ಮೂಲವೆಂದು ಪರಿಗಣಿಸಬೇಕು. ಮಹತ್ವದ ಮಾಹಿತಿಗಾಗಿ, ವೃತ್ತಿಪರ ಮಾನವ ಅನುವಾದವನ್ನು ಶಿಫಾರಸು ಮಾಡಲಾಗುತ್ತದೆ. ಈ ಅನುವಾದ ಬಳಕೆಯಿಂದ ಉಂಟಾಗುವ ಯಾವುದೇ ತಪ್ಪು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವಿಕೆ ಅಥವಾ ತಪ್ಪು ವಿವರಣೆಗಳಿಗೆ ನಾವು ಹೊಣೆಗಾರರಾಗುವುದಿಲ್ಲ.