মূল কনটেন্টে যান
এআই টিউটোরিয়াল

jev-align দিয়ে AI ফাংশন তৈরি ও উন্নত করুন

jev-align ইনস্টল করা, AI শ্রেণিবিন্যাস বা স্কোরিং টাস্ক কনফিগার করা, অনিশ্চিত উদাহরণগুলোর লেবেল নির্ধারণ করা, GEPA প্রস্তাব পর্যালোচনা করা, মডেল প্রদানকারী নির্বাচন করা এবং পরবর্তী অপ্টিমাইজেশনের জন্য প্রোডাকশন ডেটা সংগ্রহ করা শিখুন।

jev-align দিয়ে AI ফাংশন তৈরি ও উন্নত করুন

jev-align কী?

jev-align হলো Sutro-এর একটি পরীক্ষামূলক কমান্ড-লাইন টুল, যা TypeSafe's Jev ব্যবহার করে AI Function তৈরি করে। এটি একটি ডেটাসেট মূল্যায়ন করে, অনিশ্চিত উদাহরণ শনাক্ত করে, সেগুলো লেবেল করতে আপনাকে বলে এবং GEPA ব্যবহার করে উন্নত ফাংশন সংজ্ঞা প্রস্তাব করে।

টুলটি একটি পুনরাবৃত্তিমূলক কর্মপ্রবাহের জন্য তৈরি। আপনি স্থানীয় ডেটা থেকে একটি AI Function তৈরি করতে, প্রস্তাবিত পরিবর্তন পর্যালোচনা করতে, অগ্রগতি সংরক্ষণ করতে, কোনো অ্যাপ্লিকেশনে ফাংশনটি ব্যবহার করতে এবং পরে প্রোডাকশনে সংগৃহীত উদাহরণ দিয়ে সেটিকে উন্নত করতে পারবেন।

প্রতিটি লেবেল আপনার কাছ থেকেই আসে। প্রশিক্ষণ স্কোর বেশি হলেও jev-align স্বয়ংক্রিয়ভাবে কোনো প্রস্তাব গ্রহণ করে না।

মূল বৈশিষ্ট্য

  • অনিশ্চিত উদাহরণভিত্তিক লেবেলিং: CLI অস্পষ্ট সারিগুলোকে অগ্রাধিকার দেয় এবং একই সঙ্গে এলোমেলো অডিট নমুনাও অন্তর্ভুক্ত করে।
  • মানব-নিয়ন্ত্রিত অপ্টিমাইজেশন: প্রতিটি প্রস্তাবিত সংজ্ঞা গ্রহণ বা প্রত্যাখ্যান করবেন কি না, তা আপনি নির্ধারণ করেন।
  • একাধিক কাজের ধরন: বাইনারি, মাল্টিক্লাস, মাল্টিলেবেল বা ক্রমভিত্তিক স্কোরিং ফাংশন তৈরি করুন।
  • স্থানীয় ডেটাসেট খোঁজা: নির্দেশিত সেটআপ CSV, Parquet এবং JSONL ফাইল খুঁজে পায়।
  • নমনীয় মডেল প্রদানকারী: TypeSafe AI, Vercel AI Gateway অথবা Cloudflare Workers AI-এর মাধ্যমে Jev চালান।
  • পৃথক রিফ্লেকশন মডেল: GEPA-এর জন্য OpenAI, Anthropic, Gemini অথবা অন্য কোনো LiteLLM-সামঞ্জস্যপূর্ণ প্রদানকারী কনফিগার করুন।
  • স্থায়ী রান: আগের অপ্টিমাইজেশন সেশন পুনরায় চালু করুন এবং সংরক্ষিত AI Function পরিদর্শন করুন।
  • প্রোডাকশন ক্যাপচার: দরকারি অ্যাপ্লিকেশন উদাহরণ সংগ্রহ করুন এবং পরবর্তী অপ্টিমাইজেশন পর্বে সেগুলো লেবেল করুন।

সমর্থিত কাজের ধরন বুঝুন

শুরু করার আগে, আপনার সমস্যার সঙ্গে সামঞ্জস্যপূর্ণ আউটপুট ফরম্যাট বেছে নিন:

  • বাইনারি: True অথবা False ফেরত দেয়।
  • মাল্টিক্লাস: একটি নির্দিষ্ট সেট থেকে ঠিক একটি লেবেল ফেরত দেয়।
  • মাল্টিলেবেল: একটি নির্দিষ্ট সেট থেকে শূন্য বা একাধিক লেবেল ফেরত দেয়।
  • স্কোর: একটি ক্রমভিত্তিক রুব্রিক থেকে একটি স্তর ফেরত দেয়।

jev-align ইনস্টল করুন

পূর্বশর্ত

আপনার Python 3.11 বা পরবর্তী সংস্করণ প্রয়োজন। একটি Jev প্রদানকারী এবং সমর্থিত রিফ্লেকশন মডেল প্রদানকারীর জন্য শংসাপত্রও প্রয়োজন।

uv দিয়ে ইনস্টল

প্রস্তাবিত দ্রুত-শুরুর ইনস্টলেশন uv ব্যবহার করে:

uv tool install jev-align

pip দিয়ে ইনস্টল

আপনি যদি uv ব্যবহার না করেন, তাহলে pip দিয়ে প্যাকেজটি ইনস্টল করুন:

pip install jev-align

শংসাপত্র কনফিগার করুন

স্ট্যান্ডার্ড TypeSafe AI রুটের জন্য একটি TypeSafe API key এক্সপোর্ট করুন। GEPA-এর জন্য OpenAI, Anthropic অথবা Gemini-এর মতো একটি রিফ্লেকশন মডেল প্রদানকারীরও প্রয়োজন।

export TYPESAFE_API_KEY="..."
export OPENAI_API_KEY="..."

OpenAI key-এর পরিবর্তে ANTHROPIC_API_KEY অথবা GEMINI_API_KEY ব্যবহার করতে পারেন। Vercel AI Gateway এবং Cloudflare Workers AI, Jev প্রদানকারী হিসেবে TypeSafe AI-কে প্রতিস্থাপন করতে পারে; এসব রুটে TYPESAFE_API_KEY প্রয়োজন হয় না।

নির্দেশিত সেটআপ শুরু করুন

নিচের যেকোনো কমান্ড দিয়ে CLI চালু করুন:

jeva

অথবা:

jev-align

নির্দেশিত সেটআপ স্থানীয় CSV, Parquet এবং JSONL ডেটাসেট খুঁজে পায় এবং চালানোর জন্য প্রস্তুত তিনটি উদাহরণ অন্তর্ভুক্ত করে। ডেটাসেট নির্বাচন, কাজের সংজ্ঞা, প্রাসঙ্গিক ফিল্ড নির্বাচন এবং প্রদানকারীদের কনফিগার করতে প্রম্পটগুলো অনুসরণ করুন।

CLI নেভিগেশন নিয়ন্ত্রণ

  • মেনুতে নেভিগেট করতে তীরচিহ্নের কী এবং Enter ব্যবহার করুন।
  • আগের লেবেলে ফিরতে b চাপুন।
  • র‍্যাশনাল প্রম্পট থেকে বের হতে /back লিখুন।
  • মাল্টিলেবেল টাস্কে পছন্দগুলো টগল করতে Space চাপুন।

ফ্ল্যাগ দিয়ে একটি অপ্টিমাইজেশন কাজ চালান

কমান্ড-লাইন অপশন দিয়ে নির্দেশিত কর্মপ্রবাহের কিছু অংশ এড়িয়ে যেতে পারেন। নিচের উদাহরণটি এমন একটি বাইনারি ফাংশন তৈরি করে, যা কোনো পোস্ট বিমান চলাচল নিয়ে কি না তা নির্ধারণ করে:

jeva optimize posts.csv \
  --question "Is the post related to aviation?" \
  --column title \
  --column text \
  --pool-size 1000

একাধিক --column অপশন jev-align-কে title এবং text ফিল্ড মূল্যায়ন করতে বলে। --pool-size 1000 অপশনটি কাজের পুল 1,000 সারিতে সীমাবদ্ধ করে।

ডিফল্টভাবে, jev-align প্রথম 1,000টি সারি ব্যবহার করে, অথবা ডেটাসেটে 1,000টির কম সারি থাকলে পুরো ডেটাসেট ব্যবহার করে। আপনি সব ফিল্ড একত্র করতে পারেন অথবা নির্দিষ্ট কলাম বেছে নিতে পারেন।

ক্লাস এবং স্কোর স্তর কনফিগার করুন

মাল্টিক্লাস এবং মাল্টিলেবেল কাজের জন্য একাধিক --class "NAME=DESCRIPTION" অপশন দিন। স্কোরিং কাজের জন্য একাধিক --score-level অপশন দিন। সঠিকভাবে উপলভ্য ফ্ল্যাগগুলো পরিবর্তিত হতে পারে, তাই বিল্ট-ইন রেফারেন্স দেখুন:

jeva optimize --help

প্রতিটি অপ্টিমাইজেশন পর্ব কীভাবে কাজ করে

  1. ডেটাসেট মূল্যায়ন: jev-align কনফিগার করা ডেটার বিরুদ্ধে বর্তমান ফাংশন চালায় এবং অনিশ্চয়তা পরিমাপ করে।
  2. উদাহরণ নির্বাচন: এটি অস্পষ্ট সারি বেছে নেয় এবং একটি এলোমেলো অডিট নমুনা যোগ করে।
  3. লেবেল সংগ্রহ: আপনি নির্বাচিত উদাহরণগুলো লেবেল করেন এবং চাইলে র‍্যাশনালও দিতে পারেন।
  4. GEPA চালানো: GEPA সংগৃহীত প্রতিক্রিয়া ব্যবহার করে একটি উন্নত সংজ্ঞা প্রস্তাব করে।
  5. প্রস্তাব পর্যালোচনা: CLI স্কোর, নিশ্চিততার পরিবর্তন এবং প্রস্তাবিত সংজ্ঞার পার্থক্য দেখায়।
  6. পরবর্তী পদক্ষেপ বেছে নেওয়া: আপনি গ্রহণ, প্রত্যাখ্যান, আগের অবস্থায় ফেরত যাওয়া অথবা থেমে পরে পুনরায় শুরু করতে পারেন।

এই পর্যালোচনা ধাপটি গুরুত্বপূর্ণ: আপনি স্পষ্টভাবে গ্রহণ না করা পর্যন্ত স্কোরের উন্নতিগুলো প্রস্তাব হিসেবেই থাকে।

উন্নত অপ্টিমাইজেশন সেটিংস সামঞ্জস্য করুন

গাইডেড Advanced মেনুতে বেশ কয়েকটি নিয়ন্ত্রণ রয়েছে:

  • প্রতি রাউন্ডে 5, 10, 15 বা 20টি প্রশিক্ষণ অ্যানোটেশন বেছে নিন।
  • ঐচ্ছিক 20% হেল্ড-আউট মূল্যায়ন সেট সক্রিয় করুন।
  • GEPA-এর মেট্রিক-কল বাজেট নির্ধারণ করুন, যার ডিফল্ট মান 300।

ছোট অ্যানোটেশন রাউন্ডে প্রতিটি পর্যালোচনা চক্র দ্রুততর হতে পারে। হেল্ড-আউট সেট অপ্টিমাইজেশনে ব্যবহৃত উদাহরণগুলোর থেকে আলাদা একটি মূল্যায়ন সংকেত দিতে পারে। মেট্রিক-কল বাজেট নির্ধারণ করে একটি রান চলাকালে GEPA কতটা কাজ করতে পারবে।

একটি Jev প্রদানকারী বেছে নিন

গাইডেড সেটআপ কনফিগার করা প্রদানকারীদের শনাক্ত করে এবং TypeSafe AI, Vercel AI Gateway ও Cloudflare Workers AI-এর মধ্যে বেছে নেওয়ার সুযোগ দেয়। নির্বাচিত প্রদানকারীটি AI Function-এর সঙ্গে সংরক্ষিত হয়, তাই পরবর্তী রানটাইম কলগুলো একই রুট ব্যবহার করে।

Vercel AI Gateway ব্যবহার করুন

export AI_GATEWAY_API_KEY="..."
jeva optimize data.csv --question "Is this relevant?" --column text \
  --backend vercel

Cloudflare Workers AI ব্যবহার করুন

export CLOUDFLARE_ACCOUNT_ID="..."
export CLOUDFLARE_API_TOKEN="..."
jeva optimize data.csv --question "Is this relevant?" --column text \
  --backend cloudflare

এই দুটি রুটের কোনোটির জন্যই TYPESAFE_API_KEY প্রয়োজন হয় না।

GEPA রিফ্লেকশন মডেল কনফিগার করুন

GEPA-এর রিফ্লেকশন মডেলটি ডেটাসেটের সারি মূল্যায়নকারী Jev মডেল থেকে আলাদা। OpenAI, Anthropic এবং Gemini মডেলগুলো স্বয়ংক্রিয়ভাবে শনাক্ত হয়। আপনি যেকোনো LiteLLM প্রদানকারীও ব্যবহার করতে পারেন, যার মধ্যে Fireworks, স্থানীয় vLLM এবং অন্যান্য OpenAI-সামঞ্জস্যপূর্ণ এন্ডপয়েন্ট রয়েছে।

উদাহরণস্বরূপ, একটি হোস্টেড vLLM এন্ডপয়েন্ট কনফিগার করে তার মডেল স্পষ্টভাবে নির্বাচন করুন:

export HOSTED_VLLM_API_BASE="http://localhost:8000/v1"
jeva optimize data.csv --question "Is this relevant?" --column text \
  --reflection-model "hosted_vllm/Qwen/Qwen3-8B"

এই পৃথকীকরণের ফলে রানটাইম ডেটাসেট মূল্যায়নের জন্য একটি প্রদানকারী এবং GEPA-এর অপ্টিমাইজেশন কাজের জন্য অন্য একটি প্রদানকারী বেছে নিতে পারবেন।

সংরক্ষিত AI Function পরিচালনা ও পুনরায় শুরু করুন

আপনার সংরক্ষিত ফাংশনগুলোর তালিকা দেখুন:

jeva functions

নির্দিষ্ট কোনো রান সরাসরি পুনরায় শুরু করতে, তার সংরক্ষিত ডিরেক্টরি দিন:

jeva optimize --resume .jev-align/runs/<run-id>

আপনি লেবেলিং চালিয়ে যেতে, সংরক্ষিত কোনো ফাংশন পুনরায় পর্যালোচনা করতে বা ডেপ্লয়মেন্টের পর সংগৃহীত উদাহরণ প্রক্রিয়া করতে চাইলে পুনরায় শুরু করা কার্যকর।

Python-এ একটি AI Function ব্যবহার করুন

AIFunction.load ব্যবহার করে একটি সংরক্ষিত ফাংশন লোড করুন। ক্যাপচার সক্রিয় করুন, যাতে ফাংশনটি ভবিষ্যৎ পর্যালোচনার জন্য উপযোগী প্রোডাকশন উদাহরণ রেকর্ড করে:

from jev_align import AIFunction

is_aviation = AIFunction.load(
    ".jev-align/runs/<run-id>",
    capture=True,
)

prediction = is_aviation(
    title="Airport expansion",
    text="A new runway opens next year.",
)

কীওয়ার্ড আর্গুমেন্টগুলো সংরক্ষিত ফাংশনের প্রত্যাশিত ফিল্ডগুলোর সঙ্গে সামঞ্জস্যপূর্ণ হওয়া উচিত। এই উদাহরণে, ফাংশনটি একটি শিরোনাম ও টেক্সট বডি মূল্যায়ন করে।

প্রোডাকশন ডেটা থেকে শেখা চালিয়ে যান

capture=True ব্যবহার করলে আপনার অ্যাপ্লিকেশন পরবর্তী অপ্টিমাইজেশনের জন্য উপযোগী উদাহরণ সংরক্ষণ করতে পারে। সেগুলো পর্যালোচনা করার জন্য প্রস্তুত হলে CLI-তে ফিরে আসুন:

jeva functions

প্রাসঙ্গিক AI Function নির্বাচন বা পুনরায় শুরু করুন, ক্যাপচার করা উদাহরণগুলো লেবেল করুন এবং GEPA-কে পরবর্তী সংজ্ঞা প্রস্তাব করতে দিন। একই মানব-পর্যালোচনা প্রক্রিয়া প্রযোজ্য: কোনো পরিবর্তন গ্রহণের আগে মেট্রিক ও ডিফ পরিদর্শন করুন।

উন্নত ওয়ার্কফ্লো টিপস

  • নির্দিষ্ট কলাম নির্বাচন করুন: স্বয়ংক্রিয়ভাবে প্রতিটি ফিল্ড ব্যবহার না করে, কাজটির পক্ষে প্রমাণ দেয় এমন ফিল্ডগুলোই অন্তর্ভুক্ত করুন।
  • সুনির্দিষ্ট প্রশ্ন লিখুন: স্পষ্ট সিদ্ধান্তের সীমা বাইনারি শ্রেণিবিন্যাসে ধারাবাহিকভাবে লেবেল দেওয়া সহজ করে।
  • স্থির লেবেলগুলো সতর্কতার সঙ্গে বর্ণনা করুন: মাল্টিক্লাস ও মাল্টিলেবেল কাজের ক্ষেত্রে, পরস্পরের সঙ্গে মিলে যেতে পারে এমন লেবেলগুলো আলাদা করতে শ্রেণির বর্ণনা ব্যবহার করুন।
  • প্রয়োজনে যুক্তি যোগ করুন: ঐচ্ছিক যুক্তি কোনো উদাহরণ কেন নির্দিষ্ট লেবেল পাবে সে সম্পর্কে GEPA-কে আরও প্রেক্ষাপট দিতে পারে।
  • অডিট নমুনা ব্যবহার করুন: অস্পষ্ট উদাহরণ মূল্যবান, তবে অনিশ্চয়তা-কেন্দ্রিক উপসেটের বাইরের আচরণ যাচাই করতে র‍্যান্ডম উদাহরণও সহায়ক।
  • শুধু স্কোর পর্যালোচনা করবেন না: কোনো ইটারেশন গ্রহণের আগে নিশ্চিততার পরিবর্তন এবং প্রস্তাবিত সংজ্ঞার ডিফ পরিদর্শন করুন।
  • পুনরায় শুরু করুন, নতুন করে শুরু নয়: সংরক্ষিত রানগুলো সংগৃহীত লেবেল ধরে রাখে এবং ধারাবাহিক উন্নতি সম্ভব করে।
  • প্রদানকারী-সংক্রান্ত সিদ্ধান্ত আলাদা রাখুন: মূল্যায়ন ও রানটাইমের প্রয়োজনের জন্য Jev ব্যাকএন্ড বেছে নিন, তারপর GEPA-এর জন্য রিফ্লেকশন মডেল স্বাধীনভাবে কনফিগার করুন।

উপসংহার

jev-align Jev AI Function তৈরি ও পরিমার্জনের জন্য মানব-অংশগ্রহণভিত্তিক প্রক্রিয়া প্রদান করে। একটি স্থানীয় ডেটাসেট দিয়ে শুরু করুন, অনিশ্চিত উদাহরণগুলো লেবেল করুন, GEPA-এর প্রস্তাবিত সংজ্ঞা পরিবর্তন পর্যালোচনা করুন এবং ফলাফল সংরক্ষণ করুন। প্রোডাকশন ক্যাপচার সক্রিয় করে এবং পরে একই রান পুনরায় শুরু করলে, প্রতিটি গ্রহণ করা সংস্করণের ওপর নিয়ন্ত্রণ বজায় রেখে বাস্তব অ্যাপ্লিকেশন উদাহরণ দিয়ে ফাংশনটির উন্নতি চালিয়ে যেতে পারবেন।