Chrome 137-এ Gemini Nano: AI ইঞ্জিনিয়ারদের জন্য নোট

Chrome 137-এ Gemini Nano: AI ইঞ্জিনিয়ারদের জন্য নোট


শেষ পর্যন্ত, জেমিনি ন্যানো প্রায় সমস্ত ক্রোম ব্যবহারকারীদের জন্য এখানে (আমাকে মূলত ভুল জানানো হয়েছিল যে এটি ক্রোম 138-এ ছিল – কিন্তু আমি আমার নিজের তথ্য পরীক্ষা করেছি এবং ক্রোম 137+ থেকে এটি সীমিত পরিস্থিতিতে ফ্ল্যাগ ছাড়াই পাঠানো শুরু হয়েছে)। আমি এই HN পোস্ট দ্বারা মনে করিয়ে দেওয়া হয়েছে. আমি আশা করি এটি বছরের শেষ নাগাদ সম্পূর্ণরূপে ফ্ল্যাগ ছাড়াই পাঠানো হবে।

গুগল যেভাবে ডক্স লিখছে তা আমি পছন্দ করি না, তাই এই ব্লগপোস্টটি মূলত আমি তাদের ডক্সকে এমনভাবে পুনর্লিখন করছি যা আমার মস্তিষ্কের সাথে খাপ খায়।

অফারে সাধারণভাবে ব্যবহৃত প্যাটার্নের জন্য তাদের কাছে কয়েকটি এপিস রয়েছে, কিন্তু প্রকৃতপক্ষে একজন প্রকৌশলী হিসাবে আপনি যে প্রধানটির যত্ন নেবেন তা হল প্রম্পট API, সবচেয়ে নমনীয়/ওপেন এন্ডেড।

ছবি

window.ai-এর প্রাথমিক ওভারপ্রোমাইজের বিপরীতে (যা xander এবং chromeai-এর মতো কপিক্যাট শিমস তৈরি করেছে, কোনোটিই সক্রিয়ভাবে রক্ষণাবেক্ষণ করা হয়নি), বর্তমান প্রকাশিত বাস্তবায়ন অনেক কম “পরিষ্কার”। যাইহোক এটি সেট আপ করার বর্তমান উপায় এখানে।

  1. আপনার ক্রোম 137+ আছে তা নিশ্চিত করুন
  2. chrome://flags/#prompt-api-for-gemini-nano এ যান এবং এটি চালু করুন (দুর্ভাগ্যবশত আপনাকে ক্রোম পুনরায় লোড করতে হবে)
  3. তারপর ফোন করে মডেলটি ডাউনলোড করুন LangaugeModel.create() প্রথমবারের জন্য – হোম ওয়াইফাইতে কয়েক মিনিট সময় নেয়। জেমিনি বলছে “আনুমানিক ডাউনলোডের আকার 1.5 GB থেকে 2.4 GB পর্যন্ত।” সুতরাং বলা যাক যে এটি একটি 4-8 বিট কোয়ান্টাইজেশনে একটি 4-6B মডেল।
const session = await LanguageModel.create({
monitor(m) {
  m.addEventListener("downloadprogress", (e) => {
    console.log(`Downloaded ${e.loaded * 100}%`);
  });
},





})

লোড করা মডেলটিতে 6k টোকেন প্রসঙ্গ রয়েছে (শুধু জিজ্ঞাসা করুন inputQuota কোনো ছাড়া initialPrompts):

session.inputQuota

এখন জেমিনি ন্যানো টিমের বিপরীতে, আমি এমন একজন লোক হয়েছি যে মনে করে যে ফাংশন কলিং/জেসন আউটপুট খুব ইম্পট, তাই আসুন দেখি কিভাবে জেমিনি ন্যানোতে এটি করা যায়, হ্যামেল এবং জেসন থেকে চুরি করা উদাহরণ সহ:

const JSONschema = `
{
    "description": "Correctly extracted \`UserDetail\` with all the required parameters with correct types",
    "name": "UserDetail",
    "parameters": {
        "properties": {
            "age": {
                "title": "Age",
                "type": "integer"
            },
            "name": {
                "title": "Name",
                "type": "string"
            }
        },
        "required": (
            "age",
            "name"
        ),
        "type": "object"
    }
}
`
const JSONsession = await LanguageModel.create({
  initialPrompts: (
    { role: 'system', content: 'You are a helpful LLM that only responds in valid JSON fitting a schema: ' + JSONschema },
    { role: 'user', content: "Extract Jason is 35 years old" },
    { role: 'assistant', content: '{age: 35, name: Jason}'},
  )
});

const result1 = await JSONsession.prompt("Extract sarah is 22 years old");
console.log(result1);

এটি অনুসরণ করে দুর্দান্ত নির্দেশনা দেয় না, তাই প্রয়োজনীয় ক্ষেত্রগুলি সত্যিই সম্মানিত হয় না:

const result1 = await JSONsession.prompt("its been a year since vibhu's birthday, he was 28 last year, guess how old he is now");
console.log(result1);

অন্য জিনিস হল যে সেশনগুলি ডিফল্ট স্টেটফুল, যা আপনি ভুলে গেলে একটু খারাপ হতে পারে। সুতরাং একটি রাষ্ট্রহীন সংস্করণ দেখতে এইরকম:

const baseSession = await LanguageModel.create({
  initialPrompts: 
})


const statelessSession = {  
	async prompt(str) {
		const clonedSession = await session.clone()
		return clonedSession.prompt(str)
    }
}


const result1 = await statelessSession.prompt("Extract sarah is 22 years old");
console.log(result1);
const result2 = await statelessSession.prompt("Extract tanisha is 30 years old");
console.log(result2);

এই ধরনের অসুবিধাগুলি কেন আপনি সম্ভবত ছোট মোড়কের লাইব্রেরিগুলি চাইবেন যা আপনি হ্যান্ডরোল করতে বা উল্লেখ করতে পারেন https://github.com/kstonekuan/simple-chromium-ai

নন js পেশাদারদের জন্য এখানে শেষ টিপ হল কিভাবে ব্রাউজার কনটেক্সটে (এনপিএম ইন্সটল বা বিল্ড স্টেপ ছাড়াই) ইএসএম সিনট্যাক্স ব্যবহার করে সেই র‍্যাপার লাইব্রেরিগুলি আমদানি করতে হয় (প্রয়োজন হতে পারে)





Source link

Postagens Similares

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *