ML Kit-এর এজেন্টিক ওয়ার্কফ্লো (com.google.mlkit:genai-agent, Alpha)
আপনাকে Gemini Nano ও Android AICore সিস্টেম পরিষেবার মাধ্যমে
স্বয়ংক্রিয়, মাল্টি-টার্ন অন-ডিভাইস কথোপকথনের অভিজ্ঞতা তৈরি করতে দেয়।
GenerativeModel ক্লাসের (সরাসরি মডেল অ্যাক্সেস) উপরে তৈরি,
AgentRunner ক্লাস সরাসরি আপনার অ্যাপের মধ্যে সম্পূর্ণ, লক্ষ্য-ভিত্তিক এজেন্টিক লুপ
অটোমেট করে: প্রসঙ্গ পর্যবেক্ষণ করা, ব্যবহারকারীর ইনপুট নিয়ে যুক্তি দেওয়া,
টাইপ করা Kotlin টুলের মাধ্যমে কাজ করা এবং সমাপ্তির শর্ত পূরণ না হওয়া পর্যন্ত
মতামত মূল্যায়ন করা।
সাধারণ এজেন্টিক প্যাটার্ন
অন-ডিভাইস এজেন্টিক ওয়ার্কফ্লো ফোকাসড, নির্ধারক রিজনিং লুপের জন্য অপ্টিমাইজ করা হয় যেখানে ব্যবহারকারীর ইনটেন্ট স্ট্রাকচার্ড অ্যাপ অ্যাকশনে অনুবাদ করা হয়। সাধারণ প্যাটার্নের মধ্যে এগুলি পড়ে:
প্যাটার্ন |
উদাহরণ |
ইন-অ্যাপ অ্যাকশন এক্সিকিউশন ও শর্টকাট |
ন্যাচারাল ল্যাঙ্গুয়েজ অনুরোধকে নির্দিষ্ট অ্যাপ কমান্ডে অনুবাদ করা, যেমন এডিটিং ক্যানভাসে ফটো অ্যাডজাস্টমেন্ট প্রয়োগ করা, প্লেব্যাক সেটিংস পরিবর্তন করা বা অ্যাপ পছন্দ টগল করা। |
স্ট্রাকচার্ড লুকআপ ও স্থানীয় গণনা |
আইডি (যেমন, অর্ডারের স্ট্যাটাস বা অ্যাকাউন্ট ব্যালেন্স) দিয়ে নির্দিষ্ট রেকর্ড ফেচ করা এবং একাধিক ধাপে গাণিতিক গণনা (যেমন, লোন অ্যামর্টাইজেশন বা ফিটনেস মেট্রিক) সম্পন্ন করা। |
কথোপকথন ফিল্টার করা ও কিউরেশন |
ইন্টার্যাক্টিভভাবে লোকাল অ্যাপ আইটেম কোয়েরি ও রিফাইন করা, যেমন লোকাল টাস্ক লিস্টের মাধ্যমে সার্চ করা, প্লেলিস্ট ফিল্টার করা অথবা ব্যবহারকারীর মাপকাঠি অনুযায়ী ক্যাটালগ আইটেম সাজানো। |
গাইড করা মাল্টি-স্টেপ ইনপুট |
ধাপে ধাপে স্ট্রাকচার্ড ডেটা এন্ট্রির মাধ্যমে ব্যবহারকারীদের গাইড করা, চূড়ান্ত জমা দেওয়ার আগে স্থানীয় টুল দিয়ে মধ্যবর্তী ইনপুট যাচাই করা। |
অন-ডিভাইস পারফর্ম্যান্স ও গোপনীয়তা
ব্যবহারকারীর ডিভাইসে সরাসরি ব্যক্তিগত, রেসপন্সিভ এক্সিকিউশন ডেলিভার করতে, Android AICore-এ এজেন্টিক ওয়ার্কফ্লো রান করে:
- লোকাল রিজনিং ও প্রম্পট গোপনীয়তা: মডেল রিজনিং ও প্ল্যানিং লুপ সম্পূর্ণভাবে অন-ডিভাইস এক্সিকিউট হয় এবং নেটওয়ার্ক লেটেন্সি শূন্য থাকে। ব্যবহারকারীর প্রম্পট ডেটা ডিভাইসে ব্যক্তিগত থাকে। তবে, আপনার অ্যাপে প্রয়োগ করা স্বতন্ত্র টুল এখনও নেটওয়ার্ক কল করতে বা ক্লাউড API কোয়েরি করতে পারে, যদি আপনার ব্যবহারের ক্ষেত্রে বাহ্যিক ডেটার প্রয়োজন হয়।
- ম্যানেজ করা মাল্টি-টার্ন সেশন:
AgentSessionইন্টারফেস, টার্ন জুড়ে ইন-মেমরি কথোপকথনের ইতিহাস বজায় রাখে, যাতে আপনাকে ম্যানুয়ালি ট্রানস্ক্রিপ্ট ম্যানেজ করতে না হয়। আপনি যেকোনও সময়session.close(),deleteSession(sessionId)বাclearAllSessions()পদ্ধতি ব্যবহার করে মেমরি রিক্লেম করতে পারবেন। - এক্সিকিউশন গার্ডরেল: এজেন্ট কনফিগারেশন সর্বাধিক টার্ন সীমা প্রয়োগ করে
(
maxTurnsসীমা, ডিফল্ট হিসেবে ১০) রিসোর্স বন্ধ করার শর্ত হিসেবে যাতে রানওয়ে এক্সিকিউশন লুপ প্রতিরোধ করা, ব্যাটারি সাশ্রয় করা এবং ডিভাইসের রেসপন্সিভনেস সুরক্ষিত করা যায়।
কাস্টম জেনারেশন, এজেন্ট এবং টাস্ক-নির্দিষ্ট API-এর মধ্যে বেছে নিন
আপনার ফিচারের কতটা কাস্টমাইজেশন ও অর্কেস্ট্রেশন প্রয়োজন তার উপর ভিত্তি করে ML Kit অন-ডিভাইস GenAI ক্ষমতাকে সাজায়:
- কাস্টম জেনারেশন ও এজেন্ট: আপনার ফিচারের জন্য কাস্টম নির্দেশাবলী বা
ডোমেন-নির্দিষ্ট লজিকের প্রয়োজন হলে সরাসরি Gemini Nano ফাউন্ডেশন মডেল ব্যবহার করুন। আপনি যখন ম্যানেজ করা মাল্টি-টার্ন সেশন এবং অটোমেটেড টুল-কলিং লুপ চান তখন এজেন্টিক ওয়ার্কফ্লো (
AgentRunnerক্লাস ব্যবহার করে,GenerativeModelক্লাসের উপরে তৈরি) বেছে নিন অথবা কাস্টম প্রম্পটিং, টাইপ করা স্ট্রাকচার্ড আউটপুট বা ক্লায়েন্ট-ম্যানেজ করা মাল্টি-টার্ন ইতিহাসের জন্য সরাসরি মডেল অ্যাক্সেস (GenerativeModelক্লাস ব্যবহার করে) বেছে নিন। - স্পিচ ও অডিও: স্পোকেন অডিওকে টেক্সটে ট্রান্সক্রাইব করতে, নির্দিষ্ট স্পিচ ও GenAI মডেল (যেমন স্পিচ রিকগনিশন) ব্যবহার করুন।
- টেক্সট ও ছবি সংক্রান্ত টাস্ক: প্রম্পট ইঞ্জিনিয়ারিং ছাড়াই টার্ন-কী ভিশন ও লেখার ব্যবহারের ক্ষেত্রে, শেয়ার করা বেস মডেলের (যেমন, ছবির বিবরণ, সারসংক্ষেপ, প্রুফরিডিং ও আবার লেখা) উপরে আগে থেকে কনফিগার করা, টাস্ক-নির্দিষ্ট ফিচার টাইপ ও ফাইন-টিউন করা LoRA অ্যাডাপ্টার ব্যবহার করুন।
নিচের সারণীতে এই পদ্ধতিগুলির তুলনা করা হয়েছে:
বিবেচনা |
এজেন্টিক ওয়ার্কফ্লো ( |
সরাসরি মডেল অ্যাক্সেস ( |
টেক্সট ও ইমেজ টাস্ক API |
আর্কিটেকচার |
|
কাস্টম প্রম্পটের জন্য Gemini Nano ফাউন্ডেশন মডেলের সাথে সরাসরি ইন্টারফেস। |
শেয়ার করা বেস মডেলের উপরে ফাইন-টিউন করা LoRA অ্যাডাপ্টার দ্বারা সমর্থিত টাস্ক-নির্দিষ্ট ফিচার টাইপ। |
মাল্টি-টার্ন প্রসঙ্গ |
ম্যানেজ করা মাল্টি-টার্ন সেশন ( |
ক্লায়েন্ট-ম্যানেজড মাল্টি-টার্ন কনটেক্সট।
|
স্টেটলেস, সিঙ্গল-ইনপুট টাস্ক কল। |
টুল কলিং ও অ্যাকশন |
অটোমেটেড টুল-কলিং লুপ। রেজিস্টার করা Android AppFunctions খোঁজে, মডেল-বেছে নেওয়া কল এক্সিকিউট করে এবং ফলাফল অটোমেটিক মডেলে ফিড করে। |
ক্লায়েন্ট-ম্যানেজড টুল সংক্রান্ত ঘোষণা।
|
প্রযোজ্য নয় (ফিক্সড টাস্ক পাইপলাইন)। |
কখন ব্যবহার হবে |
মাল্টি-স্টেপ টুল এক্সিকিউশন এবং ম্যানেজ করা ইন-মেমরি মাল্টি-টার্ন সেশনের জন্য অটোমেটেড অর্কেস্ট্রেশন চাইলে এটি ব্যবহার করুন। |
কাস্টম প্রম্পটিং, মাল্টিমোডাল ছবি
বোঝা, টাইপ করা স্ট্রাকচার্ড আউটপুট ( |
আপনার ফিচার কোনও স্ট্যান্ডার্ড লেখা বা ভিশন টাস্কের সাথে ম্যাচ করলে এবং আপনি ন্যূনতম সেট-আপ সহ ফাইন-টিউন করা LoRA থেকে আউট-অফ-দ্য-বক্স কোয়ালিটি চাইলে এটি ব্যবহার করুন। |
পরবর্তী ধাপ
- আপনার প্রোজেক্ট সেট-আপ করতে এবং আপনার প্রথম এজেন্ট তৈরি করতে, এজেন্টিক ওয়ার্কফ্লো ব্যবহার শুরু করুন দেখুন।
- এজেন্টের কাছে কীভাবে অ্যাপ-মধ্যস্থ ফাংশন প্রকাশ করতে হয় তা জানতে, টুল সংজ্ঞায়িত করুন দেখুন।
- Android লাইফসাইকেল জুড়ে মাল্টি-টার্ন সেশন ও মেমরি ম্যানেজ করতে, সেশন ও লাইফসাইকেল ম্যানেজ করুন দেখুন।
- স্ট্রিমিং রেসপন্স সংগ্রহ করতে এবং আপনার UI আপডেট করতে, স্ট্রিম ইভেন্ট এবং UI ইন্টিগ্রেশন দেখুন।