প্রকাশিত: 20 মে, 2025
ব্যাখ্যাকারী | ওয়েব | এক্সটেনশন | ক্রোম স্ট্যাটাস | অভিপ্রায় |
---|---|---|---|---|
গিটহাব | দেখুন | পরীক্ষা করার অভিপ্রায় |
Writer API আপনাকে নতুন কন্টেন্ট তৈরি করতে সাহায্য করে যা একটি নির্দিষ্ট লেখার কাজের সাথে সামঞ্জস্যপূর্ণ। রাইটার এপিআই এবং রিরাইটার এপিআই হল রাইটিং অ্যাসিস্ট্যান্স এপিআই প্রস্তাবের অংশ।
এই অংশীদার APIগুলি আপনাকে ব্যবহারকারীদের দ্বারা তৈরি সামগ্রী উন্নত করতে সাহায্য করতে পারে৷
কেস ব্যবহার করুন
আপনার প্রাথমিক ধারণা এবং ঐচ্ছিক প্রসঙ্গের উপর ভিত্তি করে নতুন বিষয়বস্তু লিখুন। এটি ব্যবহার করা যেতে পারে:
- সমর্থন ব্যবহারকারীরা যেকোন ধরনের বিষয়বস্তু যেমন রিভিউ, ব্লগ পোস্ট বা ইমেল লিখতে পারেন।
- ব্যবহারকারীদের আরও ভাল সমর্থন অনুরোধ লিখতে সাহায্য করুন।
- নির্দিষ্ট দক্ষতাগুলি আরও ভালভাবে ক্যাপচার করতে কাজের নমুনার সিরিজের জন্য একটি ভূমিকা খসড়া করুন।
আপনার ব্যবহারের ক্ষেত্রে অনুপস্থিত? আপনার প্রতিক্রিয়া শেয়ার করার জন্য প্রাথমিক পূর্বরূপ প্রোগ্রামে যোগ দিন।
শুরু করুন
Chrome 137 থেকে 142 পর্যন্ত চলমান Writer API অরিজিন ট্রায়ালে যোগ দিন।
হার্ডওয়্যার প্রয়োজনীয়তা পর্যালোচনা করুন
ল্যাঙ্গুয়েজ ডিটেক্টর এবং ট্রান্সলেটর এপিআই শুধুমাত্র ক্রোমে ডেস্কটপে কাজ করে।
প্রম্পট API, Summarizer API, Writer API, এবং Rewriter API Chrome-এ কাজ করে যখন নিম্নলিখিত শর্তগুলি পূরণ হয়:
- অপারেটিং সিস্টেম : উইন্ডোজ 10 বা 11; macOS 13+ (ভেন্টুরা এবং তার পরে); বা লিনাক্স। Android, iOS এবং ChromeOS-এর জন্য Chrome এখনও জেমিনি ন্যানো দ্বারা সমর্থিত আমাদের APIগুলি দ্বারা সমর্থিত নয়৷
- সঞ্চয়স্থান : আপনার Chrome প্রোফাইলে থাকা ভলিউমে কমপক্ষে 22 GB।
- GPU : কঠোরভাবে 4 GB এর বেশি VRAM।
- নেটওয়ার্ক : সীমাহীন ডেটা বা একটি আনমিটার সংযোগ।
এই প্রয়োজনীয়তাগুলি আপনার বিকাশের প্রক্রিয়াতে এবং আপনার ব্যবহারকারীদের জন্য বিদ্যমান যারা আপনার তৈরি করা বৈশিষ্ট্যগুলির সাথে কাজ করে৷
মূল বিচারের জন্য সাইন আপ করুন
রাইটার এপিআই রিরাইটার এপিআই-এর সাথে যৌথ মূল ট্রায়ালে পাওয়া যায়। এই APIs ব্যবহার শুরু করতে:
- Google-এর জেনারেটিভ এআই নিষিদ্ধ ব্যবহারের নীতি স্বীকার করুন।
- Writer API অরিজিন ট্রায়ালে যান।
- নিবন্ধন ক্লিক করুন এবং ফর্ম পূরণ করুন. ওয়েব অরিজিন ফিল্ডে, আপনার অরিজিন বা এক্সটেনশন ID,
chrome-extension://YOUR_EXTENSION_ID
প্রদান করুন। - জমা দিতে, নিবন্ধন ক্লিক করুন.
- প্রদত্ত টোকেনটি অনুলিপি করুন এবং এটিকে আপনার মূলের প্রতিটি অংশগ্রহণকারী ওয়েব পৃষ্ঠায় যোগ করুন বা এটিকে আপনার এক্সটেনশন ম্যানিফেস্টে অন্তর্ভুক্ত করুন৷
- রাইটার এবং রিরাইটার এপিআই ব্যবহার করা শুরু করুন।
অরিজিন ট্রায়ালগুলি কীভাবে শুরু করবেন সে সম্পর্কে আরও জানুন৷
লোকালহোস্টে সমর্থন যোগ করুন
অরিজিন ট্রায়ালের সময় লোকালহোস্টে রাইটার এবং রিরাইটার এপিআই অ্যাক্সেস করতে, আপনাকে অবশ্যই ক্রোমকে সর্বশেষ সংস্করণে আপডেট করতে হবে। তারপর, এই পদক্ষেপগুলি অনুসরণ করুন:
-
chrome://flags/#writer-api-for-gemini-nano
এ যান। - সক্রিয় নির্বাচন করুন।
- পুনরায় চালু করুন বা Chrome পুনরায় চালু করুন ক্লিক করুন।
Writer API ব্যবহার করুন
প্রথমে, ব্রাউজার এই API গুলি সমর্থন করে কিনা তা দেখতে বৈশিষ্ট্য সনাক্তকরণ চালান৷
if ('Writer' in self) {
// The Writer API is supported.
}
রাইটার এপিআই, এবং অন্যান্য সমস্ত বিল্ট-ইন এআই এপিআই ব্রাউজারে একত্রিত করা হয়েছে। জেমিনি ন্যানো প্রথমবার আলাদাভাবে ডাউনলোড করা হয় যখন কোনো ওয়েবসাইট বিল্ট-ইন AI API ব্যবহার করে। অনুশীলনে, যদি একজন ব্যবহারকারী ইতিমধ্যেই একটি অন্তর্নির্মিত API এর সাথে ইন্টারঅ্যাক্ট করে থাকে, তারা তাদের ব্রাউজারে মডেলটি ডাউনলোড করেছে।
মডেলটি ব্যবহারের জন্য প্রস্তুত কিনা তা নির্ধারণ করতে, অ্যাসিঙ্ক্রোনাস Writer.availability()
ফাংশনটি কল করুন। এটি একটি স্ট্রিং প্রদান করে যা চারটি সম্ভাব্য মান নিতে পারে:
-
unavailable
: ব্রাউজারটি Writer API সমর্থন করে, কিন্তু এই মুহূর্তে এটি ব্যবহার করা যাবে না। এটি বেশ কয়েকটি কারণে হতে পারে, যেমন মডেলটি ডাউনলোড করার জন্য অপর্যাপ্ত উপলব্ধ ডিস্ক স্থান। -
available
: ব্রাউজারটি Writer API সমর্থন করে এবং এটি এখনই ব্যবহার করা যেতে পারে। -
downloadable
: ব্রাউজারটি Writer API সমর্থন করে, তবে এটির আগে মডেলটি ডাউনলোড করতে হবে। -
downloading
: ব্রাউজারটি Writer API সমর্থন করে এবং বর্তমানে মডেলটি ডাউনলোড করছে।
মডেল ডাউনলোড ট্রিগার করতে এবং লেখক শুরু করতে, Writer.create()
ফাংশনটি কল করুন। যদি availability()
এর প্রতিক্রিয়া downloadable
হয়, তাহলে ডাউনলোডের অগ্রগতি শুনুন এবং ব্যবহারকারীকে জানান, কারণ ডাউনলোডে সময় লাগতে পারে।
const writer = await Writer.create({
monitor(m) {
m.addEventListener("downloadprogress", e => {
console.log(`Downloaded ${e.loaded * 100}%`);
});
}
});
API ফাংশন
create()
ফাংশন আপনাকে একটি নতুন লেখক অবজেক্ট কনফিগার করতে দেয়। এটি নিম্নলিখিত পরামিতিগুলির সাথে একটি ঐচ্ছিক options
অবজেক্ট নেয়:
-
tone
: লেখার টোন বিষয়বস্তুর শৈলী, চরিত্র বা মনোভাব বোঝাতে পারে। মানformal
,neutral
(ডিফল্ট), বাcasual
সেট করা যেতে পারে। -
format
: আউটপুট বিন্যাস, অনুমোদিত মানmarkdown
(ডিফল্ট) এবংplain-text
সহ। -
length
: আউটপুটের দৈর্ঘ্য, অনুমোদিত মানshort
,medium
(ডিফল্ট) এবংlong
। -
sharedContext
: একাধিক আউটপুট লেখার সময়, একটি শেয়ার করা প্রসঙ্গ মডেলটিকে আপনার প্রত্যাশার সাথে আরও ভালভাবে সারিবদ্ধ বিষয়বস্তু তৈরি করতে সাহায্য করতে পারে।
নিম্নলিখিত উদাহরণটি দেখায় কিভাবে একটি writer
বস্তু শুরু করতে হয়:
const options = {
sharedContext: 'This is an email to acquaintances about an upcoming event.',
tone: 'casual',
format: 'plain-text',
length: 'medium',
};
const available = await Writer.availability();
let writer;
if (available === 'unavailable') {
// The Writer API isn't usable.
return;
}
if (available === 'available') {
// The Writer API can be used immediately .
writer = await Writer.create(options);
} else {
// The Writer can be used after the model is downloaded.
writer = await Writer.create(options);
writer.addEventListener('downloadprogress', (e) => {
console.log(e.loaded, e.total);
});
}
লেখা শুরু করুন
মডেল থেকে লেখা আউটপুট করার দুটি উপায় আছে: নন-স্ট্রিমিং এবং স্ট্রিমিং।
নন-স্ট্রিমিং আউটপুট
নন-স্ট্রিমিং লেখার সাথে, মডেলটি সম্পূর্ণরূপে ইনপুট প্রক্রিয়া করে এবং তারপর আউটপুট তৈরি করে।
একটি নন-স্ট্রিমিং আউটপুট পেতে, অ্যাসিঙ্ক্রোনাস write()
ফাংশনটি কল করুন। আপনি যে বিষয়বস্তু লিখতে চান তার জন্য আপনাকে অবশ্যই একটি প্রম্পট অন্তর্ভুক্ত করতে হবে। আপনি মডেল ব্যাকগ্রাউন্ড তথ্য প্রদান করার জন্য একটি ঐচ্ছিক context
যোগ করতে পারেন, যা মডেলটিকে আউটপুটের জন্য আপনার প্রত্যাশা পূরণ করতে সাহায্য করতে পারে।
// Non-streaming
const writer = await Writer.create();
const result = await writer.write(
"An inquiry to my bank about how to enable wire transfers on my account.", {
context: "I'm a longstanding customer",
},
);
স্ট্রিম লেখার আউটপুট
স্ট্রিমিং রিয়েল-টাইমে ফলাফল অফার করে। ইনপুট যোগ এবং সামঞ্জস্য করার সাথে সাথে আউটপুট ক্রমাগত আপডেট হয়।
একটি স্ট্রিমিং লেখক পেতে, writeStreaming()
ফাংশনটি কল করুন এবং স্ট্রীমে পাঠ্যের উপলব্ধ অংশগুলির উপর পুনরাবৃত্তি করুন৷ আপনি মডেল ব্যাকগ্রাউন্ড তথ্য প্রদান করার জন্য একটি ঐচ্ছিক context
যোগ করতে পারেন, যা মডেলটিকে আউটপুটের জন্য আপনার প্রত্যাশা পূরণ করতে সাহায্য করতে পারে।
// Streaming
const writer = await Writer.create();
const stream = writer.writeStreaming(
"An inquiry to my bank about how to enable wire transfers on my account.", {
context: "I'm a longstanding customer",
},
);
for await (const chunk of stream) {
composeTextbox.append(chunk);
}
একাধিক কাজের জন্য প্রসঙ্গ শেয়ার করুন
আপনি একাধিক বিষয়বস্তু তৈরি করতে একজন writer
ব্যবহার করতে চাইতে পারেন। এই ক্ষেত্রে, sharedContext
যোগ করা দরকারী। উদাহরণস্বরূপ, আপনি পর্যালোচনাকারীদের মন্তব্যে আরও ভাল প্রতিক্রিয়া জানাতে সাহায্য করতে চাইতে পারেন।
// Shared context and per writing task context
const writer = await Writer.create({
sharedContext: "This is for publishing on [popular website name], a business and employment-focused social media platform."
});
const stream = writer.writeStreaming(
"Write a blog post about how I love all this work on gen AI at Google!" +
"Mention that there's so much to learn and so many new things I can do!",
{ context: " The request comes from someone working at a startup providing an e-commerce CMS solution."}
);
for await (const chunk of stream) {
composeTextbox.append(chunk);
}
একজন লেখককে পুনরায় ব্যবহার করুন
আপনি কন্টেন্ট একাধিক টুকরা তৈরি করতে একই লেখক ব্যবহার করতে পারেন.
// Reuse a writer
const writer = await Writer.create({ tone: "formal" });
const reviews = await Promise.all(
Array.from(
document.querySelectorAll("#reviews > .review"),
(reviewEl) => writer.write(reviewEl.textContent)
),
);
লেখককে থামান
লেখার প্রক্রিয়া শেষ করতে, নিয়ন্ত্রককে বাতিল করুন এবং লেখককে ধ্বংস করুন।
// Aborting a writer
const controller = new AbortController();
stopButton.onclick = () => controller.abort();
const writer = await Writer.create({ signal: controller.signal });
await writer.write(reviewEl.textContent, { signal: controller.signal });
// Destroying a writer
writer.destroy();
ডেমো
জড়িত এবং মতামত শেয়ার করুন
রাইটার এবং রিরাইটার API সক্রিয় আলোচনার অধীনে রয়েছে এবং ভবিষ্যতে পরিবর্তন হতে পারে। আপনি যদি এই APIটি চেষ্টা করেন এবং প্রতিক্রিয়া জানান, আমরা এটি শুনতে চাই।
- ব্যাখ্যাকারী পড়ুন , প্রশ্ন উত্থাপন করুন এবং আলোচনায় অংশগ্রহণ করুন।
- Chrome স্থিতিতে Chrome এর বাস্তবায়ন পর্যালোচনা করুন।
- নতুন APIs এবং আমাদের মেইলিং তালিকায় অ্যাক্সেসের জন্য প্রাথমিক পূর্বরূপ প্রোগ্রামে যোগ দিন ।
- Chrome এর বাস্তবায়ন সম্পর্কে আপনার মতামত থাকলে, একটি Chromium বাগ ফাইল করুন।
ব্রাউজারে জেমিনি ন্যানো এবং অন্যান্য বিশেষজ্ঞ মডেল সহ মডেলগুলি ব্যবহার করে এমন সমস্ত অন্তর্নির্মিত AI API আবিষ্কার করুন৷
,প্রকাশিত: 20 মে, 2025
ব্যাখ্যাকারী | ওয়েব | এক্সটেনশন | ক্রোম স্ট্যাটাস | অভিপ্রায় |
---|---|---|---|---|
গিটহাব | দেখুন | পরীক্ষা করার অভিপ্রায় |
Writer API আপনাকে নতুন কন্টেন্ট তৈরি করতে সাহায্য করে যা একটি নির্দিষ্ট লেখার কাজের সাথে সামঞ্জস্যপূর্ণ। রাইটার এপিআই এবং রিরাইটার এপিআই হল রাইটিং অ্যাসিস্ট্যান্স এপিআই প্রস্তাবের অংশ।
এই অংশীদার APIগুলি আপনাকে ব্যবহারকারীদের দ্বারা তৈরি সামগ্রী উন্নত করতে সাহায্য করতে পারে৷
কেস ব্যবহার করুন
আপনার প্রাথমিক ধারণা এবং ঐচ্ছিক প্রসঙ্গের উপর ভিত্তি করে নতুন বিষয়বস্তু লিখুন। এটি ব্যবহার করা যেতে পারে:
- সমর্থন ব্যবহারকারীরা যেকোন ধরনের বিষয়বস্তু যেমন রিভিউ, ব্লগ পোস্ট বা ইমেল লিখতে পারেন।
- ব্যবহারকারীদের আরও ভাল সমর্থন অনুরোধ লিখতে সাহায্য করুন।
- নির্দিষ্ট দক্ষতাগুলি আরও ভালভাবে ক্যাপচার করতে কাজের নমুনার সিরিজের জন্য একটি ভূমিকা খসড়া করুন।
আপনার ব্যবহারের ক্ষেত্রে অনুপস্থিত? আপনার প্রতিক্রিয়া শেয়ার করার জন্য প্রাথমিক পূর্বরূপ প্রোগ্রামে যোগ দিন।
শুরু করুন
Chrome 137 থেকে 142 পর্যন্ত চলমান Writer API অরিজিন ট্রায়ালে যোগ দিন।
হার্ডওয়্যার প্রয়োজনীয়তা পর্যালোচনা করুন
ল্যাঙ্গুয়েজ ডিটেক্টর এবং ট্রান্সলেটর এপিআই শুধুমাত্র ক্রোমে ডেস্কটপে কাজ করে।
প্রম্পট API, Summarizer API, Writer API, এবং Rewriter API Chrome-এ কাজ করে যখন নিম্নলিখিত শর্তগুলি পূরণ হয়:
- অপারেটিং সিস্টেম : উইন্ডোজ 10 বা 11; macOS 13+ (ভেন্টুরা এবং তার পরে); বা লিনাক্স। Android, iOS এবং ChromeOS-এর জন্য Chrome এখনও জেমিনি ন্যানো দ্বারা সমর্থিত আমাদের APIগুলি দ্বারা সমর্থিত নয়৷
- সঞ্চয়স্থান : আপনার Chrome প্রোফাইলে থাকা ভলিউমে কমপক্ষে 22 GB।
- GPU : কঠোরভাবে 4 GB এর বেশি VRAM।
- নেটওয়ার্ক : সীমাহীন ডেটা বা একটি আনমিটার সংযোগ।
এই প্রয়োজনীয়তাগুলি আপনার বিকাশের প্রক্রিয়াতে এবং আপনার ব্যবহারকারীদের জন্য বিদ্যমান যারা আপনার তৈরি করা বৈশিষ্ট্যগুলির সাথে কাজ করে৷
মূল বিচারের জন্য সাইন আপ করুন
রাইটার এপিআই রিরাইটার এপিআই-এর সাথে যৌথ মূল ট্রায়ালে পাওয়া যায়। এই APIs ব্যবহার শুরু করতে:
- Google-এর জেনারেটিভ এআই নিষিদ্ধ ব্যবহারের নীতি স্বীকার করুন।
- Writer API অরিজিন ট্রায়ালে যান।
- নিবন্ধন ক্লিক করুন এবং ফর্ম পূরণ করুন. ওয়েব অরিজিন ফিল্ডে, আপনার অরিজিন বা এক্সটেনশন ID,
chrome-extension://YOUR_EXTENSION_ID
প্রদান করুন। - জমা দিতে, নিবন্ধন ক্লিক করুন.
- প্রদত্ত টোকেনটি অনুলিপি করুন এবং এটিকে আপনার মূলের প্রতিটি অংশগ্রহণকারী ওয়েব পৃষ্ঠায় যোগ করুন বা এটিকে আপনার এক্সটেনশন ম্যানিফেস্টে অন্তর্ভুক্ত করুন৷
- রাইটার এবং রিরাইটার এপিআই ব্যবহার করা শুরু করুন।
অরিজিন ট্রায়ালগুলি কীভাবে শুরু করবেন সে সম্পর্কে আরও জানুন৷
লোকালহোস্টে সমর্থন যোগ করুন
অরিজিন ট্রায়ালের সময় লোকালহোস্টে রাইটার এবং রিরাইটার এপিআই অ্যাক্সেস করতে, আপনাকে অবশ্যই ক্রোমকে সর্বশেষ সংস্করণে আপডেট করতে হবে। তারপর, এই পদক্ষেপগুলি অনুসরণ করুন:
-
chrome://flags/#writer-api-for-gemini-nano
এ যান। - সক্রিয় নির্বাচন করুন।
- পুনরায় চালু করুন বা Chrome পুনরায় চালু করুন ক্লিক করুন।
Writer API ব্যবহার করুন
প্রথমে, ব্রাউজার এই API গুলি সমর্থন করে কিনা তা দেখতে বৈশিষ্ট্য সনাক্তকরণ চালান৷
if ('Writer' in self) {
// The Writer API is supported.
}
রাইটার এপিআই, এবং অন্যান্য সমস্ত বিল্ট-ইন এআই এপিআই ব্রাউজারে একত্রিত করা হয়েছে। জেমিনি ন্যানো প্রথমবার আলাদাভাবে ডাউনলোড করা হয় যখন কোনো ওয়েবসাইট বিল্ট-ইন AI API ব্যবহার করে। অনুশীলনে, যদি একজন ব্যবহারকারী ইতিমধ্যেই একটি অন্তর্নির্মিত API এর সাথে ইন্টারঅ্যাক্ট করে থাকে, তারা তাদের ব্রাউজারে মডেলটি ডাউনলোড করেছে।
মডেলটি ব্যবহারের জন্য প্রস্তুত কিনা তা নির্ধারণ করতে, অ্যাসিঙ্ক্রোনাস Writer.availability()
ফাংশনটি কল করুন। এটি একটি স্ট্রিং প্রদান করে যা চারটি সম্ভাব্য মান নিতে পারে:
-
unavailable
: ব্রাউজারটি Writer API সমর্থন করে, কিন্তু এই মুহূর্তে এটি ব্যবহার করা যাবে না। এটি বেশ কয়েকটি কারণে হতে পারে, যেমন মডেলটি ডাউনলোড করার জন্য অপর্যাপ্ত উপলব্ধ ডিস্ক স্থান। -
available
: ব্রাউজারটি Writer API সমর্থন করে এবং এটি এখনই ব্যবহার করা যেতে পারে। -
downloadable
: ব্রাউজারটি Writer API সমর্থন করে, তবে এটির আগে মডেলটি ডাউনলোড করতে হবে। -
downloading
: ব্রাউজারটি Writer API সমর্থন করে এবং বর্তমানে মডেলটি ডাউনলোড করছে।
মডেল ডাউনলোড ট্রিগার করতে এবং লেখক শুরু করতে, Writer.create()
ফাংশনটি কল করুন। যদি availability()
এর প্রতিক্রিয়া downloadable
হয়, তাহলে ডাউনলোডের অগ্রগতি শুনুন এবং ব্যবহারকারীকে জানান, কারণ ডাউনলোডে সময় লাগতে পারে।
const writer = await Writer.create({
monitor(m) {
m.addEventListener("downloadprogress", e => {
console.log(`Downloaded ${e.loaded * 100}%`);
});
}
});
API ফাংশন
create()
ফাংশন আপনাকে একটি নতুন লেখক অবজেক্ট কনফিগার করতে দেয়। এটি নিম্নলিখিত পরামিতিগুলির সাথে একটি ঐচ্ছিক options
অবজেক্ট নেয়:
-
tone
: লেখার টোন বিষয়বস্তুর শৈলী, চরিত্র বা মনোভাব বোঝাতে পারে। মানformal
,neutral
(ডিফল্ট), বাcasual
সেট করা যেতে পারে। -
format
: আউটপুট বিন্যাস, অনুমোদিত মানmarkdown
(ডিফল্ট) এবংplain-text
সহ। -
length
: আউটপুটের দৈর্ঘ্য, অনুমোদিত মানshort
,medium
(ডিফল্ট) এবংlong
। -
sharedContext
: একাধিক আউটপুট লেখার সময়, একটি শেয়ার করা প্রসঙ্গ মডেলটিকে আপনার প্রত্যাশার সাথে আরও ভালভাবে সারিবদ্ধ বিষয়বস্তু তৈরি করতে সাহায্য করতে পারে।
নিম্নলিখিত উদাহরণটি দেখায় কিভাবে একটি writer
বস্তু শুরু করতে হয়:
const options = {
sharedContext: 'This is an email to acquaintances about an upcoming event.',
tone: 'casual',
format: 'plain-text',
length: 'medium',
};
const available = await Writer.availability();
let writer;
if (available === 'unavailable') {
// The Writer API isn't usable.
return;
}
if (available === 'available') {
// The Writer API can be used immediately .
writer = await Writer.create(options);
} else {
// The Writer can be used after the model is downloaded.
writer = await Writer.create(options);
writer.addEventListener('downloadprogress', (e) => {
console.log(e.loaded, e.total);
});
}
লেখা শুরু করুন
মডেল থেকে লেখা আউটপুট করার দুটি উপায় আছে: নন-স্ট্রিমিং এবং স্ট্রিমিং।
নন-স্ট্রিমিং আউটপুট
নন-স্ট্রিমিং লেখার সাথে, মডেলটি সম্পূর্ণরূপে ইনপুট প্রক্রিয়া করে এবং তারপর আউটপুট তৈরি করে।
একটি নন-স্ট্রিমিং আউটপুট পেতে, অ্যাসিঙ্ক্রোনাস write()
ফাংশনটি কল করুন। আপনি যে বিষয়বস্তু লিখতে চান তার জন্য আপনাকে অবশ্যই একটি প্রম্পট অন্তর্ভুক্ত করতে হবে। আপনি মডেল ব্যাকগ্রাউন্ড তথ্য প্রদান করার জন্য একটি ঐচ্ছিক context
যোগ করতে পারেন, যা মডেলটিকে আউটপুটের জন্য আপনার প্রত্যাশা পূরণ করতে সাহায্য করতে পারে।
// Non-streaming
const writer = await Writer.create();
const result = await writer.write(
"An inquiry to my bank about how to enable wire transfers on my account.", {
context: "I'm a longstanding customer",
},
);
স্ট্রিম লেখার আউটপুট
স্ট্রিমিং রিয়েল-টাইমে ফলাফল অফার করে। ইনপুট যোগ এবং সামঞ্জস্য করার সাথে সাথে আউটপুট ক্রমাগত আপডেট হয়।
একটি স্ট্রিমিং লেখক পেতে, writeStreaming()
ফাংশনটি কল করুন এবং স্ট্রীমে পাঠ্যের উপলব্ধ অংশগুলির উপর পুনরাবৃত্তি করুন৷ আপনি মডেল ব্যাকগ্রাউন্ড তথ্য প্রদান করার জন্য একটি ঐচ্ছিক context
যোগ করতে পারেন, যা মডেলটিকে আউটপুটের জন্য আপনার প্রত্যাশা পূরণ করতে সাহায্য করতে পারে।
// Streaming
const writer = await Writer.create();
const stream = writer.writeStreaming(
"An inquiry to my bank about how to enable wire transfers on my account.", {
context: "I'm a longstanding customer",
},
);
for await (const chunk of stream) {
composeTextbox.append(chunk);
}
একাধিক কাজের জন্য প্রসঙ্গ শেয়ার করুন
আপনি একাধিক বিষয়বস্তু তৈরি করতে একজন writer
ব্যবহার করতে চাইতে পারেন। এই ক্ষেত্রে, sharedContext
যোগ করা দরকারী। উদাহরণস্বরূপ, আপনি পর্যালোচনাকারীদের মন্তব্যে আরও ভাল প্রতিক্রিয়া জানাতে সাহায্য করতে চাইতে পারেন।
// Shared context and per writing task context
const writer = await Writer.create({
sharedContext: "This is for publishing on [popular website name], a business and employment-focused social media platform."
});
const stream = writer.writeStreaming(
"Write a blog post about how I love all this work on gen AI at Google!" +
"Mention that there's so much to learn and so many new things I can do!",
{ context: " The request comes from someone working at a startup providing an e-commerce CMS solution."}
);
for await (const chunk of stream) {
composeTextbox.append(chunk);
}
একজন লেখককে পুনরায় ব্যবহার করুন
আপনি কন্টেন্ট একাধিক টুকরা তৈরি করতে একই লেখক ব্যবহার করতে পারেন.
// Reuse a writer
const writer = await Writer.create({ tone: "formal" });
const reviews = await Promise.all(
Array.from(
document.querySelectorAll("#reviews > .review"),
(reviewEl) => writer.write(reviewEl.textContent)
),
);
লেখককে থামান
লেখার প্রক্রিয়া শেষ করতে, নিয়ন্ত্রককে বাতিল করুন এবং লেখককে ধ্বংস করুন।
// Aborting a writer
const controller = new AbortController();
stopButton.onclick = () => controller.abort();
const writer = await Writer.create({ signal: controller.signal });
await writer.write(reviewEl.textContent, { signal: controller.signal });
// Destroying a writer
writer.destroy();
ডেমো
জড়িত এবং মতামত শেয়ার করুন
রাইটার এবং রিরাইটার API সক্রিয় আলোচনার অধীনে রয়েছে এবং ভবিষ্যতে পরিবর্তন হতে পারে। আপনি যদি এই APIটি চেষ্টা করেন এবং প্রতিক্রিয়া জানান, আমরা এটি শুনতে চাই।
- ব্যাখ্যাকারী পড়ুন , প্রশ্ন উত্থাপন করুন এবং আলোচনায় অংশগ্রহণ করুন।
- Chrome স্থিতিতে Chrome এর বাস্তবায়ন পর্যালোচনা করুন।
- নতুন APIs এবং আমাদের মেইলিং তালিকায় অ্যাক্সেসের জন্য প্রাথমিক পূর্বরূপ প্রোগ্রামে যোগ দিন ।
- Chrome এর বাস্তবায়ন সম্পর্কে আপনার মতামত থাকলে, একটি Chromium বাগ ফাইল করুন।
ব্রাউজারে জেমিনি ন্যানো এবং অন্যান্য বিশেষজ্ঞ মডেল সহ মডেলগুলি ব্যবহার করে এমন সমস্ত অন্তর্নির্মিত AI API আবিষ্কার করুন৷