Skip to content

Latest commit

 

History

History
218 lines (170 loc) · 14.1 KB

File metadata and controls

218 lines (170 loc) · 14.1 KB

ഫൗണ്ട്രി ലോക്കൽ എഎപി സാമ്പിൾ

OpenAI SDK-യിൽ ആശ്രയിക്കാതെ Microsoft Foundry Local-നെ REST API സേവനമായി എങ്ങനെ ഉപയോഗിക്കാമെന്ന് ഈ സാമ്പിൾ കാണിക്കുന്നു. പരമാവധി നിയന്ത്രണത്തിനും ഇഷ്ടാനുസൃതീകരണത്തിനും നേരിട്ട് HTTP ഇന്റഗ്രേഷൻ മാതൃകകൾ ഇത് പ്രദർശിപ്പിക്കുന്നു.

അവലോകനം

Microsoft-ന്റെ ഔദ്യോഗിക Foundry Local മാതൃകകളുടെ അടിസ്ഥാനത്തിൽ, ഈ സാമ്പിൾ നൽകുന്നത്:

  • FoundryLocalManager-ഉടൻ നേരിട്ട് REST API ഇന്റഗ്രേഷൻ
  • ഇഷ്ടാനുസൃത HTTP ക്ലയന്റ് നടപ്പാക്കൽ
  • മോഡൽ മാനേജ്മെന്റ്, ആരോഗ്യ നിരീക്ഷണം
  • സ്ട്രീമിംഗ്, നോൺ-സ്ട്രീമിംഗ് പ്രതികരണ കൈകാര്യം
  • പ്രൊഡക്ഷൻ-സജ്ജമായ പിശക് കൈകാര്യം ചെയ്യലും റിട്രൈ ലജിക്കും

മുൻകൂട്ടി ആവശ്യങ്ങൾ

  1. Foundry Local ഇൻസ്റ്റലേഷൻ

    # GitHub റിലീസുകളിൽ നിന്ന് ഇൻസ്റ്റാൾ ചെയ്യുക
    winget install Microsoft.FoundryLocal
  2. 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  │
└─────────────────┘    └──────────────────┘    └─────────────────┘

പ്രധാന സവിശേഷതകൾ

1. നേരിട്ട് HTTP ഇന്റഗ്രേഷൻ

  • SDK ആശ്രിതത്വമില്ലാത്ത ശുദ്ധ REST API കോൾസ്
  • ഇഷ്ടാനുസൃത ഓതന്റിക്കേഷൻ, ഹെഡറുകൾ
  • അഭ്യർത്ഥന/പ്രതികരണ കൈകാര്യം ചെയ്യലിൽ പൂർണ്ണ നിയന്ത്രണം

2. മോഡൽ മാനേജ്മെന്റ്

  • ഡൈനാമിക് മോഡൽ ലോഡിംഗ്, അൺലോഡിംഗ്
  • ആരോഗ്യ നിരീക്ഷണം, നില പരിശോധിക്കൽ
  • പ്രകടന മെട്രിക്‌സ് ശേഖരണം

3. പ്രൊഡക്ഷൻ മാതൃകകൾ

  • എക്സ്പൊണൻഷ്യൽ ബാക്ക്ഓഫ് ഉപയോഗിച്ചുള്ള റിട്രൈ മെക്കാനിസങ്ങൾ
  • ഫാൾട്ട് ടോളറൻസിനുള്ള സർക്യൂട്ട് ബ്രേക്കർ
  • സമഗ്രമായ ലോഗിംഗ്, നിരീക്ഷണം

4. ഫ്ലെക്സിബിൾ പ്രതികരണ കൈകാര്യം

  • റിയൽ-ടൈം ആപ്ലിക്കേഷനുകൾക്കായി സ്ട്രീമിംഗ് പ്രതികരണങ്ങൾ
  • ഉയർന്ന ത്രൂപുട്ട് സാഹചര്യങ്ങൾക്ക് ബാച്ച് പ്രോസസ്സിംഗ്
  • ഇഷ്ടാനുസൃത പ്രതികരണ പാഴ്സിംഗ്, സാധുത പരിശോധന

ഉപയോഗ ഉദാഹരണങ്ങൾ

അടിസ്ഥാന API ഇന്റഗ്രേഷൻ

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)

സ്ട്രീമിംഗ് ഇന്റഗ്രേഷൻ

# റിയൽ-ടൈം ആപ്ലിക്കേഷനുകൾക്കായി സ്ട്രീം പ്രതികരണങ്ങൾ
async for chunk in client.stream_complete(
    prompt="Write a story about AI",
    model="phi-4-mini"
):
    print(chunk.content, end="", flush=True)

ആരോഗ്യ നിരീക്ഷണം

# സേവനാരോഗ്യം പരിശോധിക്കുക
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 Foundry Local ഇന്റഗ്രേഷൻ

ഈ സാമ്പിൾ Microsoft-ന്റെ ഔദ്യോഗിക മാതൃകകൾ പിന്തുടരുന്നു:

  1. SDK ഇന്റഗ്രേഷൻ: സേവന മാനേജ്മെന്റിനായി FoundryLocalManager ഉപയോഗിക്കുന്നു
  2. REST എന്റ്പോയിന്റുകൾ: /v1/chat/completions ഉൾപ്പെടെ നേരിട്ട് കോൾസ്
  3. ഓതന്റിക്കേഷൻ: ലോക്കൽ സേവനങ്ങൾക്ക് ശരിയായ API കീ കൈകാര്യം
  4. മോഡൽ മാനേജ്മെന്റ്: കാറ്റലോഗ് ലിസ്റ്റിംഗ്, ഡൗൺലോഡിംഗ്, ലോഡിംഗ് മാതൃകകൾ
  5. പിശക് കൈകാര്യം: Microsoft ശുപാർശ ചെയ്ത പിശക് കോഡുകളും പ്രതികരണങ്ങളും

ആരംഭിക്കൽ

  1. ആശ്രിതങ്ങൾ ഇൻസ്റ്റാൾ ചെയ്യുക

    pip install -r requirements.txt
  2. അടിസ്ഥാന ഉദാഹരണം പ്രവർത്തിപ്പിക്കുക

    python examples/basic_usage.py
  3. സ്ട്രീമിംഗ് പരീക്ഷിക്കുക

    python examples/streaming.py
  4. പ്രൊഡക്ഷൻ സജ്ജീകരണം

    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. ടെസ്റ്റിംഗ്: യൂണിറ്റ്, ഇന്റഗ്രേഷൻ ടെസ്റ്റുകൾ ഉൾപ്പെടുത്തുക

പ്രശ്നപരിഹാരം

സാധാരണ പ്രശ്നങ്ങൾ

സേവനം പ്രവർത്തിക്കുന്നില്ല

# ഫൗണ്ട്രി ലോക്കൽ നില പരിശോധിക്കുക
foundry status

# ആവശ്യമെങ്കിൽ ആരംഭിക്കുക
foundry start

മോഡൽ ലോഡിംഗ് പ്രശ്നങ്ങൾ

# ലഭ്യമായ മോഡലുകൾ പട്ടികപ്പെടുത്തുക
foundry model list

# പ്രത്യേക മോഡൽ ഡൗൺലോഡ് ചെയ്യുക
foundry model download phi-4-mini

കണക്ഷൻ പിശകുകൾ

  • Foundry Local ശരിയായ പോർട്ടിൽ പ്രവർത്തിക്കുന്നുണ്ടെന്ന് ഉറപ്പാക്കുക
  • ഫയർവാൾ ക്രമീകരണങ്ങൾ പരിശോധിക്കുക
  • ശരിയായ ഓതന്റിക്കേഷൻ ഹെഡറുകൾ ഉറപ്പാക്കുക

പ്രകടന മെച്ചപ്പെടുത്തൽ

  1. കണക്ഷൻ പൂലിംഗ്: ഒന്നിലധികം അഭ്യർത്ഥനകൾക്കായി സെഷൻ ഒബ്ജക്റ്റുകൾ ഉപയോഗിക്കുക
  2. അസിങ്ക്രൺ ഓപ്പറേഷനുകൾ: സമകാലിക അഭ്യർത്ഥനകൾക്കായി asyncio പ്രയോജനം ചെയ്യുക
  3. കാഷിംഗ്: അനുയോജ്യമായിടത്ത് മോഡൽ പ്രതികരണങ്ങൾ കാഷ് ചെയ്യുക
  4. നിരീക്ഷണം: പ്രതികരണ സമയങ്ങൾ ട്രാക്ക് ചെയ്ത് ടൈംഔട്ടുകൾ ക്രമീകരിക്കുക

പഠന ഫലങ്ങൾ

ഈ സാമ്പിൾ പൂർത്തിയാക്കിയ ശേഷം നിങ്ങൾക്ക് മനസ്സിലാകും:

  • Foundry Local-ഉടൻ നേരിട്ട് REST API ഇന്റഗ്രേഷൻ
  • ഇഷ്ടാനുസൃത HTTP ക്ലയന്റ് നടപ്പാക്കൽ മാതൃകകൾ
  • പ്രൊഡക്ഷൻ-സജ്ജമായ പിശക് കൈകാര്യം ചെയ്യലും നിരീക്ഷണവും
  • Microsoft Foundry Local സേവന ആർക്കിടെക്ചർ
  • ലോക്കൽ AI സേവനങ്ങൾക്ക് പ്രകടന മെച്ചപ്പെടുത്തൽ സാങ്കേതിക വിദ്യകൾ

അടുത്ത ഘട്ടങ്ങൾ

  • സാമ്പിൾ 08: Windows 11 ചാറ്റ് ആപ്ലിക്കേഷൻ പരിശോധിക്കുക
  • സാമ്പിൾ 09: മൾട്ടി-ഏജന്റ് ഓർക്കസ്ട്രേഷൻ പരീക്ഷിക്കുക
  • സാമ്പിൾ 10: Foundry Local ടൂൾസ് ഇന്റഗ്രേഷൻ പഠിക്കുക

അസൂയാപത്രം:
ഈ രേഖ AI വിവർത്തന സേവനം Co-op Translator ഉപയോഗിച്ച് വിവർത്തനം ചെയ്തതാണ്. നാം കൃത്യതയ്ക്ക് ശ്രമിച്ചിട്ടുണ്ടെങ്കിലും, സ്വയം പ്രവർത്തിക്കുന്ന വിവർത്തനങ്ങളിൽ പിശകുകൾ അല്ലെങ്കിൽ തെറ്റുകൾ ഉണ്ടാകാമെന്ന് ദയവായി ശ്രദ്ധിക്കുക. അതിന്റെ മാതൃഭാഷയിലുള്ള യഥാർത്ഥ രേഖയാണ് പ്രാമാണികമായ ഉറവിടം എന്ന് പരിഗണിക്കേണ്ടതാണ്. നിർണായകമായ വിവരങ്ങൾക്ക്, പ്രൊഫഷണൽ മനുഷ്യ വിവർത്തനം ശുപാർശ ചെയ്യപ്പെടുന്നു. ഈ വിവർത്തനം ഉപയോഗിക്കുന്നതിൽ നിന്നുണ്ടാകുന്ന ഏതെങ്കിലും തെറ്റിദ്ധാരണകൾക്കോ തെറ്റായ വ്യാഖ്യാനങ്ങൾക്കോ ഞങ്ങൾ ഉത്തരവാദികളല്ല.