Cloudflare ৯ অক্টোবর Clef-omni প্রকাশ করে। এটি Workers AI-তে হোস্ট করা একটি সিদ্ধান্ত-মডেল, যা পাঠ্যের সঙ্গে ছবি, অডিও ক্লিপ বা ভিডিও পরীক্ষা করতে পারে। অ্যাপ ডেভেলপারের জন্য কার্যকর পরীক্ষা সীমিত: মডেলকে টিকিটের অবস্থা ও নির্দিষ্ট প্রশ্নের সেট দিন, উত্তরগুলো দেখুন এবং রাউটিংয়ের সিদ্ধান্ত একজন মানুষের হাতে রাখুন। এই নির্দেশিকা অনুসরণ করে Cloudflare-এর বর্তমান মডেল নথি ও প্রকাশনার উদাহরণ। BIG CHANGE API চালায়নি বা সাপোর্ট টিকিটে এর নির্ভুলতা মাপেনি।
Workers AI-তে মডেল ID হলো @cf/cloudflare/clef-omni । এটি সিদ্ধান্ত-মডেল: কলকারী ধরন-নির্দিষ্ট প্রশ্ন ও অনুমোদিত বিকল্প নির্ধারণ করে, তারপর সেই বিকল্পগুলোর স্কোর পায়। এটি সাপোর্টের উত্তর লেখে না। Cloudflare উন্মুক্ত ওজনও প্রকাশ করেছে, তবে নিচের ধাপগুলোতে তাদের হোস্ট করা endpoint ব্যবহৃত হয়েছে। গতি ও benchmark নিয়ে Cloudflare-এর সংখ্যাগুলো তাদের নিজস্ব দাবি; আপনার টিকিটে এই কর্মপ্রবাহ কতটা ভালো চলবে তা এগুলো প্রমাণ করে না।
অ্যাক্সেস ও সীমিত প্রশ্নসেট প্রস্তুত করুন
আপনার Cloudflare অ্যাকাউন্টে Workers AI অ্যাক্সেস, account ID, Workers AI API token এবং requests ইনস্টল করা Python অথবা একই HTTP অনুরোধ পাঠাতে পারে এমন একটি টুল দরকার। Cloudflare-এর REST সেটআপ নির্দেশিকা dashboard-এ কোথায় account ID কপি করতে এবং token তৈরি করতে হয় তা দেখায়। হাতে তৈরি token-এর জন্য Workers AI - Read ও Workers AI - Edit অনুমতি দরকার। token টিকিট ও source control-এর বাইরে রাখুন।
বাস্তব টিকিট বা সংযুক্তি পাঠালে গ্রাহকের বিষয়বস্তু প্রক্রিয়াকরণের জন্য Cloudflare-এ যায়। Cloudflare-এর Workers AI ডেটা-ব্যবহারের পৃষ্ঠা বলছে, স্পষ্ট সম্মতি ছাড়া তারা এই বিষয়বস্তু Workers AI-তে দেওয়া মডেল প্রশিক্ষণ বা পরিষেবা উন্নত করতে ব্যবহার করে না; R2 বা KV-এর মতো স্টোরেজ পরিষেবার সঙ্গে Workers AI ব্যবহার করলে বিষয়বস্তু সংরক্ষিত হতে পারে বলেও জানায়। গ্রাহকের টিকিট পাঠানোর আগে প্রযোজ্য Cloudflare চুক্তি ও আপনার প্রতিষ্ঠানের গ্রাহক-ডেটা নিয়ম দেখুন, এবং সম্ভব হলে ব্যক্তিগত তথ্য কমান বা আড়াল করুন। Cloudflare-এর প্রশিক্ষণ না করার বক্তব্য একাই নির্দিষ্ট গ্রাহকের তথ্য পাঠানোর অনুমতি প্রমাণ করে না।
মিডিয়া যোগ করার আগে উত্তর পরীক্ষা করতে শুধু লেখা দিয়ে শুরু করুন। Cloudflare-এর নিজস্ব সাপোর্ট উদাহরণে অবস্থা Checkout has been failing for every customer for the last hour ব্যবহার করে তিনটি প্রশ্ন করা হয়: এটি জরুরি কি না (noul, হ্যাঁ/না ধরন), কোন দল এটি সামলাবে (choice) এবং প্রভাব কতটা গুরুতর (score)। এটি নথিভুক্ত উদাহরণ, দেখা কোনো ঘটনা নয়। API state হিসেবে string বা কাঠামোবদ্ধ object/array গ্রহণ করে। questions map-এ ১ থেকে ৬৪টি প্রশ্ন ID থাকতে হবে; প্রতিটির ধরন ও নির্দেশনা থাকে, আর choice ও score অনুমোদিত উত্তর নির্ধারণে মানদণ্ড ব্যবহার করে।
লেখার অনুরোধ পাঠান
আপনার পরিবেশে CLOUDFLARE_AUTH_TOKEN সেট করুন এবং নিচের account ID বদলান। এই Python অনুরোধে Cloudflare-এর মডেল উদাহরণের একই endpoint ও field ব্যবহার করা হয়েছে:
import os
import requests
account_id = "your-account-id"
token = os.environ["CLOUDFLARE_AUTH_TOKEN"]
payload = {
"model": "clef-omni",
"state": "Checkout has been failing for every customer for the last hour.",
"questions": {
"urgent": {
"type": "noul",
"instructions": "Is this support request urgent?",
},
"team": {
"type": "choice",
"instructions": "Which team should handle this request?",
"criteria": {
"billing": "Payments, invoices, and refunds",
"technical": "Outages, errors, and configuration",
"sales": "Plans and upgrades",
},
},
"severity": {
"type": "score",
"instructions": "How severe is the customer impact?",
"criteria": ["No impact", "Minor", "Major", "Critical"],
},
},
}
response = requests.post(
f"https://api.cloudflare.com/client/v4/accounts/{account_id}/ai/run/@cf/cloudflare/clef-omni",
headers={"Authorization": f"Bearer {token}"},
json=payload,
timeout=60,
)
response.raise_for_status()
print(response.json())সফল যাচাইয়ের ক্ষেত্রে উত্তরের answers entry-গুলো একই urgent, team ও severity ID-এর অধীনে খুঁজুন। Cloudflare প্রথমটিকে জরুরিতার probability, দ্বিতীয়টিকে বিকল্পগুলোর probability-সহ নির্বাচিত দল, এবং তৃতীয়টিকে probability-ওজনযুক্ত স্কোর বলে যার সর্বনিম্ন স্তর শূন্য। API-তে model ও usage response field-ও নথিভুক্ত আছে। অ্যাপ্লিকেশনে ম্যাপ করার আগে আপনার account-এ ফেরত আসা সম্পূর্ণ JSON দেখুন। Probability হলো দেওয়া প্রশ্ন ও অবস্থার জন্য মডেলের output; বাস্তব টিকিটটি ওই queue-তে থাকা উচিত—এমন নিশ্চয়তা নয়। পদক্ষেপ নেওয়ার আগে একজনকে টিকিট ও সংযুক্তি প্রস্তাবিত রুটের সঙ্গে মিলিয়ে দেখতে বলুন।
ছবি, রেকর্ডিং বা ভিডিও যোগ করুন
Cloudflare-এর প্রকাশনা-অনুরোধে ঐচ্ছিক মিডিয়া আলাদা images, audio ও videos array-তে embedded base64 data: URL হিসেবে রাখা হয়। যেমন, নমুনায় data:image/png;base64,..., data:audio/mpeg;base64,... ও data:video/mp4;base64,... ব্যবহার করা হয়েছে। POST-এর আগে Python payload-এ স্থানীয় ফাইল যোগ করতে requests.post, সেটি encode করে সংশ্লিষ্ট array-তে data URL যোগ করুন:
import base64
from pathlib import Path
def add_media(payload, field, file_path, mime_type):
raw = Path(file_path).read_bytes()
encoded = base64.b64encode(raw).decode("ascii")
payload.setdefault(field, []).append(f"data:{mime_type};base64,{encoded}")
# Examples: use only the files present in the ticket, with their real MIME types.
# add_media(payload, "images", "photo.png", "image/png")
# add_media(payload, "audio", "recording.mp3", "audio/mpeg")
# add_media(payload, "videos", "clip.mp4", "video/mp4")POST-এর আগে add_media চালান। state তথ্যনিষ্ঠ রাখুন এবং প্রতিটি সংযুক্তি কী তা বর্ণনা করুন; শুধু উপলভ্য টিকিট ও মিডিয়া দিয়ে উত্তরযোগ্য প্রশ্ন করুন। Cloudflare-এর প্রকাশনা উদাহরণে যন্ত্রের ছবি, শব্দ রেকর্ডিং ও পাখার ভিডিও দিয়ে দেখা ও শোনা যায় এমন বিষয়ে তিনটি হ্যাঁ/না প্রশ্ন করা হয়েছে। সাপোর্ট অ্যাপ নিজের টিকিট-ক্ষেত্র state -এ এবং অনুমোদিত queue criteria-তে রাখতে পারে, তবে বাস্তব কর্মপ্রবাহের সঙ্গে সংজ্ঞাগুলো মিলিয়ে নিতে হবে। পরিষেবাটি দূরবর্তী মিডিয়া URL গ্রহণ করে না।
encode করার আগে সীমাগুলো দেখুন। মডেল পৃষ্ঠা সর্বোচ্চ চারটি PNG, JPEG বা WebP ছবি অনুমোদন করে; প্রতিটি সর্বোচ্চ ৪ MiB ও ১৬ মেগাপিক্সেল, আর decoded ছবির মোট সীমা ৮ MiB। সর্বোচ্চ চারটি অডিও ক্লিপ, প্রতিটি ৮ MiB ও ৩০০ সেকেন্ড পর্যন্ত, এবং দুটি ভিডিও, প্রতিটি ১৬ MiB ও ৬০ সেকেন্ড পর্যন্ত অনুমোদিত। অডিও ও ভিডিওর সম্মিলিত decoded সীমা ১৬ MiB। ভিডিও প্রতি সেকেন্ডে দুই ফ্রেম হিসেবে নমুনা নেওয়া হয়; অনুরোধের সব ভিডিওতে সাউন্ডট্র্যাক থাকলে তা ফ্রেমের সঙ্গে ব্যবহৃত হয়। ছবির খরচ resize করা ছবির ওপর নির্ভর করে এবং প্রতি ছবিতে ১,০২৪ token-এ সীমাবদ্ধ। সংযুক্তি খুব বড় বা দীর্ঘ হলে একজনকে প্রাসঙ্গিক ছোট অংশ বেছে নিতে বলুন, অথবা শুধু লেখার যাচাই করে মূল মিডিয়া আলাদাভাবে পর্যালোচনা করুন। কাটা বা ছোট করা ফাইলকে পূর্ণ প্রমাণ ভাববেন না।
খরচ, context ও ব্যর্থতার পথ যাচাই করুন
Cloudflare বর্তমানে Clef-omni-এর মূল্য প্রতি দশ লক্ষ input token-এ $0.15 বলে এবং output token-এর জন্য চার্জ করে না। ওই হারে মিডিয়া input token-এ রূপান্তরিত হয়। মডেল পৃষ্ঠায় অডিওর প্রতি মিনিটে প্রায় ৭৮০ token এবং সর্বোচ্চ resolution-এর ভিডিওর প্রতি মিনিটে প্রায় ১৫,৪০০ token পর্যন্ত বলা হয়েছে; ভিডিওতে শব্দ থাকলে অতিরিক্ত audio token যোগ হয়। ছবির মূল্য resize করা ছবির ওপর নির্ভর করে এবং প্রতি ছবিতে ১,০২৪ token-এ সীমাবদ্ধ। এগুলো বিলিং নিয়ম, প্রতিটি সংযুক্তির নির্দিষ্ট মূল্য নয়।
হোস্ট করা মডেলের context ৬৪,০০০ token। মিডিয়া ও প্রশ্ন এতে গণনা হয়। এগুলো সীমা ছাড়ালে অনুরোধ ব্যর্থ হয় বলে Cloudflare জানায়; অন্যথায় state -এর দীর্ঘ লেখা ফিট করাতে কেটে দেওয়া হতে পারে। তাই উত্তর ফিরে এলেই প্রমাণ হয় না যে মডেল দীর্ঘ টিকিটের প্রতিটি লাইন বিবেচনা করেছে। অনুরোধ ব্যর্থ হলে HTTP error দেখুন এবং আবার চেষ্টা করার আগে নথিভুক্ত সীমার মধ্যে সংযুক্তি কমান বা সরান। সফল হলে প্রত্যাশিত প্রশ্ন ID আছে কি না যাচাই করুন, মূল টিকিট পর্যালোচনার জন্য রাখুন এবং প্রস্তাবিত রুট প্রমাণের সঙ্গে তুলনা করুন। মডেলের probability পর্যালোচককে মনোযোগ দিতে সাহায্য করতে পারে, তবে পরিষেবা-নিশ্চয়তা বা নিরাপদ স্বয়ংক্রিয় threshold-এর জন্য নিজের label করা টিকিটে মূল্যায়ন দরকার।
বড় পরিবর্তন
Cloudflare-এর ৯ অক্টোবরের প্রকাশনা হোস্ট করা Clef সিদ্ধান্ত-মডেল পথে অডিও ও ভিডিও যোগ করেছে; আগে এই পথ লেখা ও ছবির typed question-এর জন্য ব্যবহৃত হতো। একজন developer সমর্থিত মিডিয়াসহ একটি টিকিটের অবস্থা এক Workers AI অনুরোধে পাঠিয়ে নির্দিষ্ট schema-র সঙ্গে যুক্ত উত্তর পেতে পারেন। কোন প্রশ্ন schema-তে থাকবে তা ঠিক করা, নিজের টিকিটে কর্মক্ষমতা পরীক্ষা করা এবং উত্তর বা রাউটিংয়ের আগে মানুষের অনুমোদন নেওয়া—এসব অ্যাপ দলের কাজ রয়ে গেছে।
সূত্র ও আরও পড়ুন
- Cloudflare Clef-omni মডেল নথি, ১০ অক্টোবর ২০২৬-এ দেখা হয়েছে। হোস্ট করা model ID, API field ও উদাহরণ, মিডিয়া ও context সীমা, response-এর গঠন এবং তালিকাভুক্ত token মূল্য—এসবের প্রধান সূত্র। নথি পরিষেবার আচরণ বর্ণনা করে; BIG CHANGE অনুরোধ চালায়নি।
- Cloudflare-এর Clef-omni প্রকাশনা পোস্ট, ৯ অক্টোবর ২০২৬। প্রকাশনার তারিখ স্থির করে এবং embedded-media অনুরোধের উদাহরণ দেয়। কর্মক্ষমতা ও benchmark-এর সংখ্যা Cloudflare-এর নিজস্ব দাবি।
- Cloudflare Workers AI REST সেটআপ, সর্বশেষ হালনাগাদ ১৫ সেপ্টেম্বর ২০২৬, ১০ অক্টোবর দেখা হয়েছে। account ID ও API token পাওয়ার পদ্ধতি এবং হাতে তৈরি token-এর অনুমতি দেখায়।
- Cloudflare Workers AI ডেটা ব্যবহার, সর্বশেষ হালনাগাদ ২১ এপ্রিল ২০২৬, ১০ অক্টোবর দেখা হয়েছে। গ্রাহকের বিষয়বস্তু Cloudflare কীভাবে প্রক্রিয়া করে, স্পষ্ট সম্মতি ছাড়া প্রশিক্ষণ ও পরিষেবা উন্নতিতে ব্যবহার না করার ঘোষিত সীমা, আলাদা storage service ব্যবহারে সম্ভাব্য সংরক্ষণ এবং প্রযোজ্য চুক্তির সীমা ব্যাখ্যা করে। নির্দিষ্ট কোনো টিকিট বা রেকর্ডিং পাঠানো যাবে কি না তা নির্ধারণ করে না।



