ইউনিট
1. মোবাইল ডেভেলপমেন্টে এআই-এর ভূমিকা: ভূমিকা, সীমানা, প্রমাণীকরণ এবং নিরাপত্তা 2. কৃত্রিম বুদ্ধিমত্তা সহ মোবাইল কোড জেনারেশন: কোটলিন, সুইফট এবং ক্রস-প্ল্যাটফর্ম উন্নয়ন 3. কৃত্রিম বুদ্ধিমত্তা সহ ইন্টারফেস ডিজাইন এবং UI কোড জেনারেশন 4. অন-ডিভাইস এআই: কোর এমএল, টেনসরফ্লো লাইট এবং এমএল কিট 5. ক্লাউড এআই এবং এলএলএম এপিআই ইন্টিগ্রেশন: চ্যাট, ফ্লো এবং নিরাপত্তা 6. কৃত্রিম বুদ্ধিমত্তা সহ পরীক্ষা প্রজন্ম: ইউনিট, ইন্টারফেস এবং অটোমেশন পরীক্ষা 7. কৃত্রিম বুদ্ধিমত্তা দিয়ে ডিবাগিং এবং ক্র্যাশ বিশ্লেষণ 8. কর্মক্ষমতা এবং ব্যাটারি অপ্টিমাইজেশান: কৃত্রিম বুদ্ধিমত্তা সহ দ্রুত এবং দক্ষ অ্যাপ্লিকেশন 9. গোপনীয়তা, অনুমতি এবং নিরাপদ ব্যবহার 10. স্টোর রিলিজ: অ্যাপ স্টোর, গুগল প্লে এবং এআই সামঞ্জস্যপূর্ণ 11. এন্ড-টু-এন্ড প্রজেক্ট, কৃত্রিম বুদ্ধিমত্তার দায়িত্বশীল ব্যবহার এবং পেশায় রোডম্যাপ
ইউনিট 5 / 11

ক্লাউড এআই এবং এলএলএম এপিআই ইন্টিগ্রেশন: চ্যাট, ফ্লো এবং নিরাপত্তা

লাভ:

  • একটি নিরাপদ ক্লাউড এলএলএম আর্কিটেকচার স্থাপন করার ক্ষমতা যা ক্লায়েন্টে API কী রাখে না কিন্তু একটি ব্যাক-এন্ড প্রক্সির মাধ্যমে যায়
  • শক্তিশালী ইন্টিগ্রেশন লেখার ক্ষমতা যা স্ট্রিমিংয়ের সাথে অনুভূত গতি বাড়ায় এবং টাইমআউট, নেটওয়ার্ক ত্রুটি এবং গতি সীমার মতো পরিস্থিতি আস্তে আস্তে পরিচালনা করে
  • প্রেরিত টোকেন সংক্ষিপ্ত করে খরচ কমানোর ক্ষমতা এবং ক্লাউডে যাওয়ার আগে ব্যক্তিগত ডেটার প্রয়োজনীয়তা নিয়ে প্রশ্ন তোলে

অন-ডিভাইস এআই শক্তিশালী কিন্তু সীমিত। আপনি যখন সত্যিকারের একটি "স্মার্ট চ্যাট সহকারী", দীর্ঘ টেক্সট সংক্ষিপ্তকরণ, বা একটি অ্যাপে জটিল সৃজনশীল উত্পাদন যোগ করতে চান, তখন আপনার এমন মডেলের প্রয়োজন যা ফোনে মাপসই করার জন্য খুব বড়। এখানেই ক্লাউড এআই কার্যকর হয়: আপনার অ্যাপ্লিকেশনটি একটি এপিআই (অ্যাপ্লিকেশন প্রোগ্রামিং ইন্টারফেস – স্ট্যান্ডার্ড ইন্টারফেস যেখানে দুটি সফ্টওয়্যার একে অপরকে ডেটা পাঠায় এবং গ্রহণ করে) এর মাধ্যমে একটি বৃহৎ ভাষা মডেলের (LLM) সাথে সংযোগ করে। এই ইউনিটে আমরা শিখব কিভাবে একটি নিরাপদ, দ্রুত এবং খরচ-সচেতন পদ্ধতিতে একটি মোবাইল অ্যাপ্লিকেশনে ক্লাউড এলএলএম সংহত করা যায়। নিরাপত্তার উপর গুরুত্বপূর্ণ জোর দেওয়া হবে: একটি ভুলভাবে ইনস্টল করা LLM ইন্টিগ্রেশন আপনার API কী ফাঁস করতে পারে এবং এর ফলে হাজার হাজার পাউন্ড মূল্যের বিল হতে পারে।

আর্কিটেকচারের সুবর্ণ নিয়ম: ক্লায়েন্টের উপর চাবি রাখুন

ক্লাউড এআই ইন্টিগ্রেশনে করা সবচেয়ে বিপজ্জনক ভুল হল এপিআই কী (গোপন পাসওয়ার্ড যা পরিষেবা ব্যবহার করে অনুমোদন করে) সরাসরি মোবাইল অ্যাপ্লিকেশন কোডে এম্বেড করা। মোবাইল অ্যাপ্লিকেশনগুলি ব্যবহারকারীর ডিভাইসে ডাউনলোড করা হয় এবং কোডটি রিভার্স ইঞ্জিনিয়ারিং দ্বারা পড়া যেতে পারে — সংকলিত অ্যাপ্লিকেশনটি পার্স করে এবং এর ভিতরে কী রয়েছে তা দেখে। যদি আপনার চাবিটি অ্যাপের ভিতরে থাকে তবে কেউ এটি বের করতে পারে এবং আপনার অ্যাকাউন্ট থেকে সীমাহীন অনুরোধ করতে পারে।

সঠিক আর্কিটেকচারটি হল: মোবাইল অ্যাপ্লিকেশনটি আপনার নিজস্ব ব্যাকএন্ড সার্ভারে অনুরোধ পাঠায় (আপনার নিয়ন্ত্রণ করা প্রক্সি সার্ভার); কী শুধুমাত্র সার্ভারে থাকে; সার্ভারটি এলএলএম পরিষেবাতে যায় এবং আবেদনের প্রতিক্রিয়া ফেরত দেয়। এই মিডলওয়্যারটি স্পিড ক্যাপিং, অপব্যবহার প্রতিরোধ এবং খরচ নিয়ন্ত্রণও প্রদান করে।

এপ্রোচ

চাবি কোথায়

নিরাপত্তা

চাবিটি অ্যাপ্লিকেশনটিতে রয়েছে (মিথ্যা)

ক্লায়েন্ট, জনসাধারণের মধ্যে

এটা ফুটো, বিল বিস্ফোরিত

কীটি ব্যাকএন্ডে রয়েছে (সত্য)

সার্ভারে, লুকানো

নিরাপদ, নিয়ন্ত্রণযোগ্য

সতর্কতা: আপনি ক্লাউড LLM ইন্টিগ্রেশনের জন্য AI-কে জিজ্ঞাসা করলে, এটি এমন একটি উদাহরণ তৈরি করতে পারে যা আপনার সুবিধার জন্য অ্যাপ্লিকেশন কোডে সরাসরি কী লিখে। এই লাইভ নেবেন না. প্রম্পটে "এপিআই কী ক্লায়েন্টে থাকা উচিত নয়, ব্যাকএন্ড প্রক্সির মাধ্যমে যান" বাক্যটি অন্তর্ভুক্ত করতে ভুলবেন না।

স্ট্রিমিং: অনুভূত গতি বৃদ্ধি

LLM উত্তরগুলি দীর্ঘ হতে পারে এবং তাদের সম্পূর্ণরূপে তৈরি করতে সেকেন্ড সময় নিতে পারে। ব্যবহারকারীকে ফাঁকা স্ক্রিনে অপেক্ষা করা একটি খারাপ অভিজ্ঞতা। সমাধানটি স্ট্রিমিং - শব্দ দ্বারা উত্তর শব্দ প্রদর্শন করা, যেমন এটি তৈরি হয়। ব্যবহারকারী পাঠ্যের বানান পর্যবেক্ষণ করে, যেমন ChatGPT; এটি নাটকীয়ভাবে অনুভূত গতি এবং সাবলীলতা বৃদ্ধি করে। মোবাইলে ফ্লো মানে সার্ভার থেকে ইন্টারফেসে আসার সাথে সাথে টুকরো (টোকেন - মডেল দ্বারা উত্পাদিত পাঠ্যের অংশ) যোগ করা। AI-তে ইন্টিগ্রেশন প্রিন্ট করার সময় স্পষ্টভাবে প্রবাহের অনুরোধ করুন।

পরামর্শ: স্ট্রিমিং প্রতিক্রিয়াতে একটি "বিরাম" বোতাম যোগ করুন। ব্যবহারকারীর উচিত উৎপাদন বন্ধ করতে সক্ষম হওয়া উচিত যখন সে তার পছন্দের উত্তর পায়; এটি উভয়ই অভিজ্ঞতার উন্নতি করে এবং অপ্রয়োজনীয় টোকেন জেনারেশন কমিয়ে খরচ কমায়। দীর্ঘ উত্তরের মাঝখানে, ব্যবহারকারী ইতিমধ্যে তাদের উত্তর খুঁজে পেতে পারেন।

খরচ, বিলম্ব এবং ত্রুটি ব্যবস্থাপনা

ক্লাউড এলএলএম প্রতিটি অনুরোধের সাথে অর্থ খরচ (টোকেন প্রতি ফি) এবং সময় ব্যয় (লেটেন্সি) বহন করে। তিনটি শৃঙ্খলা অপরিহার্য। Cost: limit prompt and response length, do not send unnecessarily long system instructions, default to small and cheap model if possible. লেটেন্সি: স্ট্রিমিং ব্যবহার করুন, সময়সীমা সেট করুন, নেটওয়ার্ক ধীর হলে ব্যবহারকারীকে অবহিত করুন। ত্রুটি: নেটওয়ার্ক বিভ্রাট, পরিষেবা 429 (অনেক অনুরোধ) বা 500 (সার্ভার ত্রুটি) ফেরত দিতে পারে; প্রত্যেককে আলতোভাবে পরিচালনা করুন, অ্যাপটি ক্রাশ করবেন না। এছাড়াও, LLM কখনও কখনও অর্থহীন বা ভুল (হ্যালুসিনেশন) উত্তর দেয়; সমালোচনামূলক এলাকায় উত্তর যাচাইকরণের একটি স্তর যোগ করুন।

তিনটি মিনি কেস

কেস 1 - লিকড কী। একটি স্টার্টআপ ওপেনএআই কীকে সরাসরি তার রিঅ্যাক্ট নেটিভ অ্যাপে এম্বেড করেছে দ্রুত বেরিয়ে আসতে। অ্যাপটি প্রকাশের তিন সপ্তাহ পরে, কীটি বিপরীত প্রকৌশলী করা হয়েছিল এবং রাতারাতি $2,400 মূল্যের ব্যবহার করা হয়েছিল। দলটিকে কীটি প্রত্যাহার করতে হয়েছিল এবং একটি ব্যাকএন্ড প্রক্সি সেট আপ করতে হয়েছিল। পাঠ: সুবিধার জন্য নেওয়া শর্টকাট সবচেয়ে ব্যয়বহুল রুট হয়ে উঠেছে।

কেস 2 — প্রবাহের সাথে ড্রপআউট হ্রাস পেয়েছে। একটি শিক্ষা অ্যাপ প্রথমে স্ট্রিমিং ছাড়াই তার প্রশ্নোত্তর বৈশিষ্ট্য প্রকাশ করেছে; ব্যবহারকারীরা 6 সেকেন্ড নিষ্ক্রিয় অপেক্ষার পরে প্রস্থান করছিলেন। প্রবাহ যোগ করা হলে, প্রথম শব্দটি 0.8 সেকেন্ডের মধ্যে উপস্থিত হতে শুরু করে এবং পরিত্যাগের হার 48% থেকে 12% এ নেমে আসে। একই মডেল, একই গতি — শুধু উপস্থাপনায় পার্থক্য।

কেস 3 - খরচ নিয়ন্ত্রণ। একটি অ্যাপ প্রতিটি ব্যবহারকারীর বার্তা সহ মডেলের কাছে পুরো চ্যাট ইতিহাস পাঠাচ্ছিল; দীর্ঘ কথোপকথনে, একটি একক অনুরোধ 8,000 টোকেনে পৌঁছেছে, যা খরচ বাড়িয়েছে। মাত্র শেষ কয়েকটি বার্তা এবং একটি সারাংশ পাঠিয়ে, দলটি প্রতি অনুরোধে টোকেন 70% কমিয়েছে, মাসিক বিল এক তৃতীয়াংশে কমিয়ে দিয়েছে। পাঠ: আপনি যা পাঠান তা পরিমাপ করুন।

দুর্বল প্রম্পট / শক্তিশালী প্রম্পট

দুর্বল প্রম্পট: "আমার অ্যাপে ChatGPT-এর মতো একটি চ্যাট যোগ করুন।"

শক্তিশালী প্রম্পট: "আমার iOS/Swift অ্যাপ্লিকেশনে একটি চ্যাট সহকারী যোগ করুন। আর্কিটেকচার: অ্যাপ্লিকেশনটি আমার নিজের ব্যাকএন্ডে একটি অনুরোধ পাঠায়, LLM API কীটি ক্লায়েন্টে নেই, এটি প্রক্সির মাধ্যমে যায়। - প্রতিক্রিয়া আসে স্ট্রিমিং, শব্দ দ্বারা প্রদর্শিত হয় - 'স্টপ' বোতামটি উত্পাদনকে বাধা দেয় - হ্যান্ডেল টাইমআউট, নেটওয়ার্ক 50, 50 পরিস্থিতি, 50 পরিস্থিতি হ্যান্ডেল করুন চ্যাটের ইতিহাস সংক্ষিপ্ত করুন: শেষ 6টি বার্তা পাঠান + সারাংশ (খরচ নিয়ন্ত্রণ) প্রথমে আর্কিটেকচারাল ডায়াগ্রামটি ব্যাখ্যা করুন, তারপর ক্লায়েন্ট এবং প্রক্সি কোড আলাদাভাবে দিন।"

অনুলিপিযোগ্য টেমপ্লেট

সুরক্ষিত আর্কিটেকচার টেমপ্লেট: "আমার [প্ল্যাটফর্ম] অ্যাপ্লিকেশনে ক্লাউড এলএলএম ইন্টিগ্রেশন ডিজাইন করুন। নিয়ম: শুধুমাত্র ব্যাকএন্ডে API কী। ক্লায়েন্ট -> আমার প্রক্সি -> এলএলএম। প্রক্সিতে: প্রমাণীকরণ, প্রতি-ব্যবহারকারীর হারের সীমা, অনুরোধ লগিং। ক্লায়েন্ট এবং প্রক্সি দায়িত্বগুলি আলাদাভাবে তালিকাভুক্ত করুন, তারপর কোডটি রপ্তানি করুন।"

স্ট্রিমিং টেমপ্লেট: "এই চ্যাট স্ক্রিনে একটি স্ট্রিমিং প্রতিক্রিয়া যোগ করুন:- বার্তার বুদ্বুদে আসার সাথে সাথে স্নিপেটগুলি যোগ করুন- টাইপ করার সময় একটি কার্সার/অ্যানিমেশন দেখান- স্ট্রিমটি বাতিল করার সময় 'স্টপ' বোতামটি রাখুন- আংশিক পাঠ্য সংরক্ষণ করুন এবং স্ট্রিমটি শেষ হওয়ার সময় কোনও ত্রুটি থাকলে সতর্ক করুন [বিদ্যমান কোড]"

কস্ট-লেটেন্সি টেমপ্লেট:"এই LLM ইন্টিগ্রেশনে খরচ এবং লেটেন্সি হ্রাস করুন:- আমি কীভাবে পাঠানো টোকেন কমাতে পারি (ইতিহাসের সংক্ষিপ্ত রূপ, সারসংক্ষেপ)?- কোন ক্ষেত্রে ছোট/সস্তা মডেল যথেষ্ট?- টাইমআউট প্রস্তাব করুন এবং কৌশল পুনরায় চেষ্টা করুন[কোড]"

ফল্ট টলারেন্স টেমপ্লেট: "এই LLM কলটিকে স্থিতিস্থাপক করুন:- নেটওয়ার্ক ছাড়াই আলাদা আচরণ, টাইমআউট, 429 (রেট লিমিট), 500 (সার্ভার)- ব্যবহারকারীর কাছে অ-প্রযুক্তিগত, ভদ্র বার্তা- সমালোচনামূলক উত্তরগুলিতে হ্যালুসিনেশনের ঝুঁকির বিরুদ্ধে যাচাইকরণ নোট[কোড]"

সাধারণ ভুল

  • অ্যাপ্লিকেশনটিতে API কী এম্বেড করা হচ্ছে। সবচেয়ে ব্যয়বহুল এবং সাধারণ নিরাপত্তা বাগ; চাবিটি অবশ্যই পিছনের প্রান্তে রয়েছে।
  • প্রবাহ ব্যবহার করে না। ব্যবহারকারীকে দীর্ঘ উত্তরের জন্য অপেক্ষা করা ব্যবহারকারীকে দূরে সরিয়ে দেবে।
  • প্রতিটি অনুরোধের সাথে পুরো চ্যাট ইতিহাস পাঠানো হচ্ছে। এটি টোকেন খরচ এবং লেটেন্সি গুণ করে।
  • ত্রুটি শর্ত বাইপাস. যদি 429/500/টাইমআউটের সমাধান না করা হয় তবে অ্যাপ্লিকেশনটি ক্র্যাশ বা হিমায়িত হবে।
  • বিনা প্রশ্নে এলএলএম উত্তর সঠিক বলে বিবেচনা করা। হ্যালুসিনেশন বাস্তব; জটিল এলাকায় যাচাইকরণ স্তর যোগ করুন।
  • অপ্রয়োজনীয় এলএলএম-এ ব্যবহারকারীর ডেটা পাঠানো। ক্লাউডে যাওয়ার আগে ব্যক্তিগত ডেটা প্রয়োজন বা মাস্ক করা উচিত কিনা তা জিজ্ঞাসা করুন।

সংক্ষেপে

ক্লাউড এলএলএম দুর্দান্ত ক্ষমতা নিয়ে আসে যা মোবাইলে ডিভাইসে ফিট করে না, তবে নিরাপত্তা এবং খরচ শৃঙ্খলার প্রয়োজন। সুবর্ণ নিয়ম: API কী কখনই ক্লায়েন্টে থাকে না, এটি ব্যাকএন্ড প্রক্সির মাধ্যমে যায়। প্রবাহ ব্যাপকভাবে অনুভূত গতি এবং ধারণ বৃদ্ধি; "স্টপ" বোতাম দ্বারা সমর্থিত। প্রেরিত টোকেন সংক্ষিপ্ত করে খরচ নির্ধারণ করা হয়; স্থিতিস্থাপকতা সমস্ত ত্রুটি কেস সুন্দরভাবে পরিচালনা করে অর্জন করা হয়। এলএলএম উত্তরে হ্যালুসিনেশন থাকতে পারে; জটিল এলাকায়, যাচাইকরণ অপরিহার্য এবং ক্লাউডে পাঠানোর আগে ব্যক্তিগত ডেটা পর্যালোচনা করা হয়।

আবেদন টাস্ক

একটি "টেক্সট সংক্ষিপ্তকরণ" বা "চ্যাট" বৈশিষ্ট্যের জন্য "নিরাপদ আর্কিটেকচার টেমপ্লেট" ব্যবহার করে AI থেকে একটি ক্লায়েন্ট + ব্যাকএন্ড প্রক্সি ডিজাইনের অনুরোধ করুন। যাচাই করুন যে API কী শুধুমাত্র জেনারেট করা ডিজাইনের ব্যাকএন্ডে থাকে। তারপরে "কস্ট-বিলম্বের প্যাটার্ন" সহ প্রেরিত টোকেন কমাতে কমপক্ষে দুটি উপায় বের করুন এবং ত্রুটির অবস্থার জন্য ব্যবহারকারীর কাছে প্রদর্শিত ভদ্র বার্তাটি লিখুন (যেমন 429)।

চেকলিস্ট

  • [ ] আমি যাচাই করেছি যে API কীটি ব্যাকএন্ডে থাকে এবং ক্লায়েন্টে নয়
  • [ ] আমি প্রতিক্রিয়া স্ট্রিমিং করেছি এবং একটি 'পজ' বোতাম যোগ করেছি
  • আমি টাইমআউট, নেটওয়ার্ক ত্রুটি, 429 এবং 500 পরিস্থিতি পরিচালনা করেছি
  • [ ] আমি অতীতের সংক্ষিপ্ত রূপ/সারাংশ সহ জমা দেওয়া টোকেন কমিয়েছি
  • [ ] আমি LLM উত্তরে হ্যালুসিনেশনের ঝুঁকির বিরুদ্ধে বৈধতা বিবেচনা করেছি
  • [ ] আমি ক্লাউডে যাওয়ার আগে ব্যক্তিগত ডেটার প্রয়োজনীয়তা/মাস্কিং পরীক্ষা করেছি