ఖర్చులను లేదా లాటెన్సీని (latency) పెంచకుండా మీ ఉత్పత్తిలో LLMని ఎలా చేర్చాలి

AI డెమోను నిర్మించడం సులభం. మీరు ఒక API కీని పొంది, ప్రాంప్ట్‌ను రాసి, దానిని మీ బృందానికి చూపించవచ్చు.

ఆ తర్వాత మీరు దానిని విడుదల చేస్తారు. ట్రాఫిక్ వస్తుంది. మీ ఖర్చులు విపరీతంగా పెరిగిపోతాయి మరియు లాటెన్సీ కూడా పెరుగుతుంది.

డెమో నుండి నిజమైన ఉత్పత్తికి మారడానికి ఖర్చు మరియు లాటెన్సీ ఇంజనీరింగ్ అవసరం. దానిని ఎలా చేయాలో ఇక్కడ ఉంది.

మీ అవుట్‌పుట్‌ను నియంత్రించండి

చాలా APIలు టోకెన్ల ఆధారంగా ఛార్జ్ చేస్తాయి. ఇన్‌పుట్ టోకెన్ల కంటే అవుట్‌పుట్ టోకెన్ల ఖర్చు ఎక్కువ.

ప్రజలు ప్రాంప్ట్‌లను తగ్గించడానికి సమయం కేటాయిస్తారు కానీ మోడల్ అనవసరంగా మాట్లాడకుండా (ramble) ఆపరు. ఇది ఒక తప్పు.

డబ్బు మరియు సమయాన్ని ఆదా చేయడానికి, అవుట్‌పుట్‌ను పరిమితం చేయండి:

  • JSON కోసం అడగండి.
  • ఒకే వాక్యం కోసం అభ్యర్థించండి.
  • max_tokens పరిమితిని సెట్ చేయండి.
  • మోడల్‌ను క్లుప్తంగా ఉండమని చెప్పండి.

చిన్న సమాధానాలు వేగంగా మరియు తక్కువ ఖర్చుతో కూడుకున్నవి.

అనవసరమైన కాల్స్ చేయడం ఆపండి

ఆదా చేయడానికి ఉత్తమ మార్గం మోడల్‌ను అసలు పిలవకపోవడమే.

  • క్యాషింగ్ (caching) ఉపయోగించండి: సాధారణ ప్రశ్నల కోసం సమాధానాలను నిల్వ చేయండి. ప్రశ్నలు ఒకేలా ఉండి, ఖచ్చితంగా ఒకేలా లేకపోయినా సెమాంటిక్ క్యాష్ (semantic cache) సహాయపడుతుంది.
  • రూటింగ్ (routing) ఉపయోగించండి: సాధారణ పనుల కోసం మీ ఉత్తమ మోడల్‌ను ఉపయోగించకండి. క్లాసిఫికేషన్ కోసం చిన్న, చౌకైన మోడల్‌ను ఉపయోగించండి. సంక్లిష్టమైన పనుల కోసం ఖరీదైన మోడల్‌ను ఉంచుకోండి.

యూజర్ ఎక్స్‌పీరియెన్స్‌ను మెరుగుపరచండి

ఒక సమాధానం రావడానికి సమయం పడుతుంటే, అది వేగంగా జరుగుతున్నట్లు అనిపించేలా చేయండి.

  • టోకెన్లను స్ట్రీమ్ చేయండి (Stream tokens): పదాలు జనరేట్ అవుతున్నప్పుడు వాటిని చూపించండి. ఇది వినియోగదారుడికి అనిపించే వేచి ఉండే సమయాన్ని (perceived wait time) తగ్గిస్తుంది.
  • పురోగతిని (progress) చూపండి: పనిలో బహుళ దశలు ఉంటే, ఏమి జరుగుతుందో వినియోగదారునికి తెలియజేయండి. నిశ్శబ్ద స్పిన్నర్ (silent spinner) కు బదులుగా "Searching documents..." వంటి వచనాన్ని ఉపయోగించండి.

"టెయిల్" (tail) లాటెన్సీని నిర్వహించండి

కొన్ని రిక్వెస్ట్‌లు ఎల్లప్పుడూ నెమ్మదిగా ఉంటాయి. అవి మీ ఉత్పత్తిని దెబ్బతీయనివ్వకండి.

  • టైమ్ అవుట్‌లను (timeouts) సెట్ చేయండి: ఒక రిక్వెస్ట్ నిలిచిపోతే (hang) ఏం జరుగుతుందో నిర్ణయించుకోండి. ఫాల్‌బ్యాక్ (fallback) లేదా చిన్న మోడల్‌ను ఉపయోగించండి.
  • రీట్రైలను (retries) ఉపయోగించండి: చిన్న తప్పుల కోసం రీట్రైలను జోడించండి, కానీ వాటికి పరిమితి విధించండి.
  • సర్క్యూట్ బ్రేకర్లను (circuit breakers) ఉపయోగించండి: ఒక ప్రొవైడర్ పనిచేయకపోతే, ఎక్కువ సమయం వేచి ఉండకుండా వెంటనే రిక్వెస్ట్‌లను పంపడం ఆపివేయండి.

మీ డేటాను ట్రాక్ చేయండి

మీరు కొలవలేని దానిని సరిదిద్దలేరు. ప్రతి రిక్వెస్ట్ కోసం ఈ మూడు సంఖ్యలను లాగ్ చేయండి:

  • ఇన్‌పుట్ టోకెన్లు.
  • అవుట్‌పుట్ టోకెన్లు.
  • మొత్తం లాటెన్సీ.

విజయవంతమైన యూజర్ అవుట్‌కమ్ (user outcome) కు అయ్యే ఖర్చును గమనించండి. విఫలమయ్యే చౌకైన ఫీచర్ కంటే, సరిగ్గా పనిచేసే ఫీచర్ మెరుగైనది.

LLMని ఒక మ్యాజిక్‌లా చూడటం ఆపండి. దానిని మీరు నిర్వహించాల్సిన నెమ్మదైన, ఖరీదైన డిపెండెన్సీ (dependency) గా పరిగణించండి.

Source: https://dev.to/muhammadzainnaseer/how-to-put-an-llm-in-your-product-without-wrecking-your-costs-or-your-latency-89a

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