मी माझ्या ॲपमध्ये AI चॅट जोडण्याचा प्रयत्न केला आणि अडखळलो

मी माझ्या प्रोजेक्ट मॅनेजमेंट टूलमध्ये एक AI चॅट असिस्टंट जोडण्याचा प्रयत्न केला. मला वाटले की हे सोपे असेल. मी संपूर्ण चॅट हिस्ट्री API ला पाठवण्याचे नियोजन केले होते.

ते अयशस्वी ठरले.

15 मेसेजनंतर, प्रतिसाद संथ किंवा तुटक होऊ लागले. मजकूर टोकन मर्यादेपेक्षा (token limit) जास्त असल्याने API ने एरर्स दाखवले.

मी काय प्रयत्न केले आणि काय यशस्वी झाले, ते खालीलप्रमाणे आहे.

मला आलेल्या समस्या:

  • हिस्ट्री ट्रंकेटिंग (Truncating history): मी फक्त शेवटचे काही मेसेज ठेवले. यामुळे वेग सुधारला, पण AI चॅटच्या सुरुवातीचा सर्व काही विसरून गेले.
  • समरायझेशन (Summarization): मी AI ला दर 5 मेसेजने चॅटचा सारांश (summarize) करण्यास सांगितले. यामुळे मेमरीमध्ये मदत झाली, पण माझ्या खर्च आणि प्रतीक्षा वेळ वाढला.
  • वेक्टर स्टोअर्स (Vector stores): मी मेसेजना त्यांच्या सुसंगततेनुसार (relevance) स्कोअर करण्याचा प्रयत्न केला. यामुळे माझ्या गरजांच्या तुलनेत खूप गुंतागुंत वाढली.

उपाय:

मी सर्व काही पाठवण्याचा प्रयत्न करणे थांबवले. अनुभव सुधारण्यासाठी मी दोन मुख्य पद्धती वापरल्या.

  1. स्ट्रीमिंग (Streaming): मजकूर तयार होत असतानाच तो दाखवण्यासाठी मी Server-Sent Events वापरले. यामुळे AI ला विचार करण्यासाठी वेळ लागला तरी ॲप जलद वाटते.

  2. थ्री-स्लॉट कॉन्टेक्स्ट विंडो (A Three-Slot Context Window): मी माझ्या टोकन बजेटचे विशिष्ट भागांमध्ये विभाजन केले.

  • सिस्टम प्रॉम्प्ट (System Prompt): 500 टोकन्स. हे सारखेच राहते.
  • डायनॅमिक कॉन्टेक्स्ट (Dynamic Context): 2000 टोकन्स. यामध्ये अलीकडील प्रोजेक्ट अपडेट्स आणि टास्क स्टेट्स साठवले जातात.
  • कन्वर्सेशन हिस्ट्री (Conversation History): 4000 टोकन्स. ही अलीकडील मेसेजची एक स्लाइडिंग विंडो (sliding window) आहे.

बजेट अशा प्रकारे मॅनेज केल्यामुळे, मी माझ्या पेलोडचा आकार (payload size) 40% ने कमी केला. यामुळे पैसे वाचले आणि लॅटन्सी (latency) कमी झाली.

माझा सल्ला:

AI जोडणे म्हणजे केवळ API कॉल करणे नव्हे. तुम्ही किती डेटा पाठवता याचे व्यवस्थापन करणे आवश्यक आहे. स्ट्रीमिंगमुळे वापरकर्त्याला वेगवान अनुभव मिळतो. एक स्मार्ट कॉन्टेक्स्ट स्ट्रॅटेजीमुळे AI किती हुशार आहे असे वाटते.

तुम्ही तुमच्या ॲप्समध्ये कन्वर्सेशन मेमरी कशी मॅनेज करता? तुम्ही स्लाइडिंग विंडोज वापरता की समरायझेशन?

स्रोत: https://dev.to/__c1b9e06dc90a7e0a676b/i-tried-to-add-ai-chat-to-my-app-and-hit-a-wall-with-context-tokens-459b

पर्यायी लर्निंग कम्युनिटी: https://t.me/GyaanSetuAi