জেমিনি ন্যানোর পরীক্ষামূলক অ্যাক্সেস এমন ডেভেলপারদের জন্য ডিজাইন করা হয়েছে যারা অত্যাধুনিক ডিভাইসে AI ক্ষমতা ব্যবহার করে তাদের অ্যাপের বর্ধিতকরণ পরীক্ষা করতে চান। এই নির্দেশিকাটি আপনার নিজস্ব অ্যাপে Google AI Edge SDK ব্যবহার করে জেমিনি ন্যানোর সাথে কীভাবে পরীক্ষা করবেন তার বিশদ বিবরণ প্রদান করে।
নমুনা অ্যাপটি পান
যদি আপনি একটি প্রস্তুত ডেমো অনুসরণ করতে চান, তাহলে GitHub-এ আমাদের নমুনা অ্যাপটি দেখুন।
পূর্বশর্ত
জেমিনি ন্যানো ব্যবহার করে পরীক্ষা-নিরীক্ষা করার জন্য, আপনার একটি Pixel 9 সিরিজের ডিভাইসের প্রয়োজন হবে। এগিয়ে যাওয়ার আগে নিশ্চিত করুন যে আপনার কাছে একটি আছে এবং আপনি কেবল সেই অ্যাকাউন্ট দিয়ে লগ ইন করেছেন যেটি আপনি পরীক্ষার জন্য ব্যবহার করতে চান।
- আইকোর-পরীক্ষামূলক গুগল গ্রুপে যোগদান করুন
- Android AICore টেস্টিং প্রোগ্রামে যোগদান করুন
এই ধাপগুলি সম্পন্ন করার পরে, প্লে স্টোরে (ম্যানেজ অ্যাপস এবং ডিভাইসের অধীনে) অ্যাপের নাম " Android AICore " থেকে " Android AICore (Beta) " এ পরিবর্তিত হওয়া উচিত।
অ্যান্ড্রয়েড প্যাকেজ (APK) ফাইল আপডেট করুন এবং বাইনারি ডাউনলোড করুন
- AICore Android প্যাকেজ (APK) আপডেট করুন:
- উপরের ডানদিকে, প্রোফাইল আইকনে ট্যাপ করুন
- অ্যাপ এবং ডিভাইস পরিচালনা করুন > পরিচালনা করুন ট্যাপ করুন
- অ্যান্ড্রয়েড আইকোর ট্যাপ করুন
- আপডেট উপলব্ধ থাকলে আপডেট ট্যাপ করুন
- প্রাইভেট কম্পিউট সার্ভিস APK আপডেট করুন:
- উপরের ডানদিকে, প্রোফাইল আইকনে ট্যাপ করুন
- অ্যাপ এবং ডিভাইস পরিচালনা করুন > পরিচালনা করুন ট্যাপ করুন
- প্রাইভেট কম্পিউট সার্ভিসেস ট্যাপ করুন
- আপডেট উপলব্ধ থাকলে আপডেট ট্যাপ করুন
- "এই অ্যাপ সম্পর্কে" ট্যাবের অধীনে সংস্করণটি পরীক্ষা করুন এবং নিশ্চিত করুন যে অ্যাপ সংস্করণটি 1.0.release.658389993 বা তার বেশি।
- আপনার ডিভাইসটি রিস্টার্ট করুন এবং পরীক্ষার তালিকাভুক্তি কার্যকর হওয়ার জন্য কয়েক মিনিট অপেক্ষা করুন।
- প্লে স্টোরে (" এই অ্যাপ সম্পর্কে " ট্যাবের অধীনে) AICore APK সংস্করণটি 0.thirdpartyeap দিয়ে শুরু হয় কিনা তা নিশ্চিত করতে দেখুন।
গ্র্যাডেল কনফিগার করুন
আপনার build.gradle কনফিগারেশনের dependencies ব্লকে নিম্নলিখিতগুলি যোগ করুন:
implementation("com.google.ai.edge.aicore:aicore:0.0.1-exp01")
আপনার build.gradle কনফিগারেশনে, সর্বনিম্ন SDK টার্গেট 31 এ সেট করুন:
defaultConfig {
...
minSdk = 31
...
}
AICore নিন এবং অনুমান চালান
একটি GenerationConfig অবজেক্ট তৈরি করুন, যার প্যারামিটার আছে যাতে মডেলটি কীভাবে ইনফারেন্স চালাবে তার বৈশিষ্ট্যগুলি কাস্টমাইজ করা যায়।
পরামিতিগুলির মধ্যে রয়েছে:
- তাপমাত্রা : এলোমেলোতা নিয়ন্ত্রণ করে; উচ্চতর মান বৈচিত্র্য বৃদ্ধি করে
- শীর্ষ K : সর্বোচ্চ র্যাঙ্কিং টোকেন থেকে কতগুলি টোকেন বিবেচনা করা হবে
- প্রার্থীর সংখ্যা : সর্বোচ্চ উত্তর যা ফেরত পাঠানো হবে
- সর্বোচ্চ আউটপুট টোকেন : প্রতিক্রিয়ার দৈর্ঘ্য
- কর্মী নির্বাহক :
ExecutorServiceযার উপর পটভূমির কাজগুলি চালানো উচিত - কলব্যাক এক্সিকিউটর : যে
Executorউপর কলব্যাক আহ্বান করা উচিত
কোটলিন
val generationConfig = generationConfig { context = ApplicationProvider.getApplicationContext() // required temperature = 0.2f topK = 16 maxOutputTokens = 256 }
জাভা
GenerationConfig.Builder configBuilder = GenerationConfig.Companion.builder(); configBuilder.setContext(context); configBuilder.setTemperature(0.2f); configBuilder.setTopK(16); configBuilder.setMaxOutputTokens(256);
একটি ঐচ্ছিক downloadCallback তৈরি করুন। এটি একটি কলব্যাক ফাংশন যা মডেল ডাউনলোডের জন্য ব্যবহৃত হয়। ফিরে আসা বার্তাগুলি ডিবাগিংয়ের উদ্দেশ্যে।
আপনার আগে তৈরি করা জেনারেশন এবং ঐচ্ছিক ডাউনলোড কনফিগারেশনগুলি ব্যবহার করে GenerativeModel অবজেক্ট তৈরি করুন।
কোটলিন
val downloadConfig = DownloadConfig(downloadCallback) val generativeModel = GenerativeModel( generationConfig = generationConfig, downloadConfig = downloadConfig // optional )
জাভা
GenerativeModel generativeModel = new GenerativeModel( generationConfig, downloadConfig = DownloadConfig(downloadCallback) // optional );
মডেলটি দিয়ে অনুমানটি চালান এবং আপনার প্রম্পটে পাস করুন। যেহেতু GenerativeModel.generateContent() একটি সাসপেন্ড ফাংশন, তাই আপনাকে নিশ্চিত করতে হবে যে এটি চালু করার জন্য সঠিক coroutine স্কোপে আছে।
কোটলিন
scope.launch { // Single string input prompt val input = "I want you to act as an English proofreader. I will provide you texts, and I would like you to review them for any spelling, grammar, or punctuation errors. Once you have finished reviewing the text, provide me with any necessary corrections or suggestions for improving the text: These arent the droids your looking for." val response = generativeModel.generateContent(input) print(response.text) // Or multiple strings as input val response = generativeModel.generateContent( content { text("I want you to act as an English proofreader. I will provide you texts and I would like you to review them for any spelling, grammar, or punctuation errors.") text("Once you have finished reviewing the text, provide me with any necessary corrections or suggestions for improving the text:") text("These arent the droids your looking for.") } ) print(response.text) }
জাভা
Futures.addCallback( String input = "I want you to act as an English proofreader. I will provide you texts, and I would like you to review them for any spelling, grammar, or punctuation errors. Once you have finished reviewing the text, provide me with any necessary corrections or suggestions for improving the text: These aren't the droids you're looking for." generativeModelFutures.generateContent(input), new FutureCallback<GenerateContentResponse>() { @Override public void onSuccess(GenerateContentResponse result) { // generation successful } @Override public void onFailure(Throwable t) { // generation failed } }, ContextCompat.getMainExecutor(this));
গুগল এআই এজ এসডিকে সম্পর্কে আপনার যদি কোনও প্রতিক্রিয়া থাকে বা আমাদের টিমের জন্য অন্য কোনও প্রতিক্রিয়া থাকে, তাহলে একটি টিকিট জমা দিন ।
তাৎক্ষণিক টিপস
প্রম্পট ডিজাইন হল এমন একটি প্রক্রিয়া যার মাধ্যমে ভাষা মডেল থেকে সর্বোত্তম প্রতিক্রিয়া পাওয়া যায়। সুগঠিত প্রম্পট লেখা একটি ভাষা মডেল থেকে সঠিক, উচ্চ-মানের প্রতিক্রিয়া নিশ্চিত করতে সাহায্য করার একটি অপরিহার্য অংশ। জেমিনি ন্যানোর সাধারণ ব্যবহারের ক্ষেত্রে আপনাকে শুরু করতে আমরা কিছু উদাহরণ অন্তর্ভুক্ত করেছি। আরও তথ্যের জন্য জেমিনি প্রম্পট কৌশলগুলি দেখুন।
পুনর্লিখনের জন্য:
I want you to act as an English proofreader. I will provide you texts, and I
would like you to review them for any spelling, grammar, or punctuation errors.
Once you have finished reviewing the text, provide me with any necessary
corrections or suggestions for improving the text: These arent the droids your
looking for
স্মার্ট উত্তর ব্যবহারের ক্ষেত্রে:
Prompt: Predict up to 5 emojis as a response to a text chat message. The output
should only include emojis.
input: The new visual design is blowing my mind 🤯
output: ➕,💘, ❤🔥
input: Well that looks great regardless
output: 💗,🪄
input: Unfortunately this won't work
output: 💔,😔
input: sounds good, I'll look into that
output: 🙏,👍
input: 10hr cut of jeff goldblum laughing URL
output: 😂,💀,⚰️
input: Woo! Launch time!
Output:
সংক্ষেপে:
Summarize this text as bullet points of key information.
Text: A quantum computer exploits quantum mechanical phenomena to perform
calculations exponentially faster than any modern traditional computer. At
very tiny scales, physical matter acts as both particles and as waves, and
quantum computing uses specialized hardware to leverage this behavior. The
operating principles of quantum devices are beyond the scope of classical
physics. When deployed at scale, quantum computers could be used in a wide
variety of applications such as: in cybersecurity to break existing encryption
methods while helping researchers create new ones, in meteorology to develop
better weather forecasting etc. However, the current state-of-the-art quantum
computers are still largely experimental and impractical.