ஸ்ட்ரீமிங் மற்றும் கேச்சிங் மூலம் AI Latency-ஐ நான் எவ்வாறு சரி செய்தேன்

நான் ஒரு வாடிக்கையாளருக்காக ஒரு chat assistant உருவாக்கினேன். அது சரியாகச் செயல்படவில்லை.

பயனர்கள் ஒரு கேள்வியைக் கேட்டார்கள். அவர்கள் 15 வினாடிகள் காத்திருந்தார்கள். அவர்களுக்கு ஒரு வெற்றுத் திரை (blank screen) தெரிந்தது. பிறகு அவர்கள் வெளியேறினார்கள். வாடிக்கையாளர் அதிருப்தி அடைந்தார்.

பிரச்சனை AI மாடலில் இல்லை. பிரச்சனை எனது குறியீட்டில் (code) இருந்தது. பயனருக்கு எதையும் காண்பிப்பதற்கு முன், நான் முழு பதிலுக்காகவும் காத்திருந்தேன்.

நான் பல தீர்வுகளை முயன்றேன். Async உதவவில்லை. துல்லியமான உரையை (exact text) கேச் செய்வது FAQs-க்கு மட்டுமே உதவியது. Token counts-ஐக் குறைப்பது பதில்களைப் பயனற்றதாக்கியது.

நான் இரண்டு முறைகளைப் பயன்படுத்தி இதைத் தீர்த்தேன்.

  1. Streaming

பெரும்பாலான AI APIs ஸ்ட்ரீமிங் முறையை ஆதரிக்கின்றன. முழு உரையையும் காத்திருப்பதற்குப் பதிலாக, சிறிய துண்டுகளாக (chunks) உங்களுக்குக் கிடைக்கும். இந்தத் துண்டுகள் வரும்போதே அவற்றை நீங்கள் காண்பிக்க முடியும்.

முதல் சொல் 300ms-இல் தோன்றும். முழு பதிலுக்கும் இன்னும் நேரம் எடுக்கும், ஆனால் பயனர் உடனடியாக முன்னேற்றத்தைக் காண்பார். இது பயனர்களைத் தொடர்ந்து ஈடுபடுத்த வைக்கிறது.

  1. Semantic Caching

பயனர்கள் பெரும்பாலும் ஒரே மாதிரியான கேள்விகளைக் கேட்கிறார்கள். பொருளைப் புரிந்துகொள்ளும் ஒரு cache அமைப்பை நான் உருவாக்கினேன்.

நான் sentence embeddings மற்றும் ஒரு vector database-ஐப் பயன்படுத்துகிறேன். API-ஐ அழைப்பதற்கு முன், எனது cache-இல் இதே போன்ற கேள்வி இருக்கிறதா என்று சரிபார்க்கிறேன்.

ஒரு பொருத்தம் இருந்தால், நான் 10ms-இல் பதிலைத் திருப்பித் தருகிறேன். இது எனது பயனர்களில் 30% பேருக்கு API அழைப்பின் தேவையைக் குறைத்தது.

முடிவுகள்:

• ஸ்ட்ரீமிங் நிகழ்நேர முன்னேற்றத்தைக் காண்பிப்பதன் மூலம் பயனர் அனுபவத்தை மேம்படுத்துகிறது. • Semantic caching செலவைக் குறைக்கிறது மற்றும் மீண்டும் கேட்கப்படும் கேள்விகளுக்கான தாமதத்தைக் குறைக்கிறது.

சவால்கள் (Trade-offs):

• ஸ்ட்ரீமிங் உங்கள் backend-ஐ அதிக சிக்கலானதாக மாற்றுகிறது. நீங்கள் open connections-களை நிர்வகிக்க வேண்டும். • Caching செய்வதற்கு கூடுதல் hardware அல்லது vector database போன்ற software தேவைப்படுகிறது. • Cache thresholds-ஐ அமைப்பது கடினம். வரம்பு (threshold) மிக அதிகமாக இருந்தால், பொருத்தமான பதில்களைத் தவறவிடலாம். அது மிகக் குறைவாக இருந்தால், தவறான பதில்களைத் தரக்கூடும்.

மெதுவான வேகத்திற்கு AI மாடலைத்탓ப்பதை நிறுத்துங்கள். நீங்கள் தரவை எவ்வாறு கையாளுகிறீர்கள் என்பதைப் பாருங்கள்.

Source: https://dev.to/__c1b9e06dc90a7e0a676b/how-i-tamed-ai-api-latency-with-streaming-and-prompt-caching-g0

Optional learning community: https://t.me/GyaanSetuAi