
jev-align کیا ہے؟
jev-align ایک تجرباتی کمانڈ لائن ٹول ہے جسے Sutro نے TypeSafe's Jev کے ساتھ AI Functions بنانے کے لیے تیار کیا ہے۔ یہ ڈیٹاسیٹ کا جائزہ لیتا ہے، غیر یقینی مثالوں کی شناخت کرتا ہے، آپ سے ان پر لیبل لگانے کو کہتا ہے، اور بہتر فنکشن تعریف تجویز کرنے کے لیے GEPA استعمال کرتا ہے۔
یہ ٹول تکراری ورک فلو کے لیے ڈیزائن کیا گیا ہے۔ آپ مقامی ڈیٹا سے AI Function بنا سکتے ہیں، مجوزہ تبدیلیوں کا جائزہ لے سکتے ہیں، اپنی پیش رفت محفوظ کر سکتے ہیں، فنکشن کو کسی ایپلیکیشن میں استعمال کر سکتے ہیں، اور بعد میں پروڈکشن میں حاصل کی گئی مثالوں سے اسے بہتر بنا سکتے ہیں۔
ہر لیبل آپ کی طرف سے آتا ہے۔ زیادہ تربیتی اسکور کی وجہ سے jev-align کسی تجویز کو خودکار طور پر قبول نہیں کرتا۔
اہم خصوصیات
- غیر یقینی کی بنیاد پر لیبلنگ: CLI مبہم قطاروں کو ترجیح دیتا ہے اور بے ترتیب آڈٹ نمونہ بھی شامل کرتا ہے۔
- انسانی کنٹرول میں اصلاح: ہر مجوزہ تعریف کو قبول یا مسترد کرنے کا فیصلہ آپ کرتے ہیں۔
- متعدد ٹاسک اقسام: بائنری، ملٹی کلاس، ملٹی لیبل، یا ترتیب وار اسکورنگ فنکشنز بنائیں۔
- مقامی ڈیٹاسیٹ کی تلاش: رہنمائی والا سیٹ اپ CSV، Parquet، اور JSONL فائلیں تلاش کرتا ہے۔
- لچک دار ماڈل فراہم کنندگان: TypeSafe AI، Vercel AI Gateway، یا Cloudflare Workers AI کے ذریعے Jev چلائیں۔
- علیحدہ ریفلیکشن ماڈلز: GEPA کے لیے OpenAI، Anthropic، Gemini، یا کسی دوسرے LiteLLM-compatible فراہم کنندہ کو ترتیب دیں۔
- محفوظ رنز: پچھلے اصلاحی سیشن دوبارہ شروع کریں اور محفوظ شدہ AI Functions کا معائنہ کریں۔
- پروڈکشن کیپچر: ایپلیکیشن کی مفید مثالیں جمع کریں اور بعد کے اصلاحی مرحلے میں ان پر لیبل لگائیں۔
موزوں ٹاسک اقسام کو سمجھیں
شروع کرنے سے پہلے، ایسا آؤٹ پٹ فارمیٹ منتخب کریں جو آپ کے مسئلے سے مطابقت رکھتا ہو:
- بائنری:
TrueیاFalseواپس کرتا ہے۔ - ملٹی کلاس: ایک مقررہ مجموعے سے ٹھیک ایک لیبل واپس کرتا ہے۔
- ملٹی لیبل: ایک مقررہ مجموعے سے صفر یا زیادہ لیبل واپس کرتا ہے۔
- اسکور: ترتیب وار معیار سے ایک سطح واپس کرتا ہے۔
jev-align انسٹال کریں
شرائط
آپ کو Python 3.11 یا اس کے بعد کا ورژن درکار ہے۔ آپ کو Jev فراہم کنندہ اور معاون ریفلیکشن ماڈل فراہم کنندہ کے لیے اسناد بھی درکار ہوں گی۔
uv کے ساتھ انسٹال کریں
فوری آغاز کے لیے تجویز کردہ انسٹالیشن uv استعمال کرتی ہے:
uv tool install jev-alignpip کے ساتھ انسٹال کریں
اگر آپ 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 قطاریں استعمال کرتا ہے، یا جب ڈیٹاسیٹ میں اس سے کم قطاریں ہوں تو پورا ڈیٹاسیٹ استعمال کرتا ہے۔ آپ تمام فیلڈز کو یکجا کر سکتے ہیں یا مخصوص کالم منتخب کر سکتے ہیں۔
کلاسز اور اسکور کی سطحیں ترتیب دیں
ملٹی کلاس اور ملٹی لیبل ٹاسکس کے لیے بار بار استعمال ہونے والے --class "NAME=DESCRIPTION" آپشنز فراہم کریں۔ اسکورنگ ٹاسکس کے لیے بار بار استعمال ہونے والے --score-level آپشنز فراہم کریں۔ چونکہ دستیاب فلیگز وقت کے ساتھ تبدیل ہو سکتے ہیں، بلٹ اِن حوالہ دیکھیں:
jeva optimize --helpہر اصلاحی مرحلہ کیسے کام کرتا ہے
- ڈیٹاسیٹ کا جائزہ: jev-align موجودہ فنکشن کو ترتیب دیے گئے ڈیٹا پر چلاتا اور غیر یقینی کی پیمائش کرتا ہے۔
- مثالیں منتخب کریں: یہ مبہم قطاریں منتخب کرتا اور بے ترتیب آڈٹ نمونہ شامل کرتا ہے۔
- لیبلز جمع کریں: آپ منتخب مثالوں پر لیبل لگاتے ہیں اور اختیاری طور پر وجوہات بھی فراہم کر سکتے ہیں۔
- GEPA چلائیں: GEPA بہتر تعریف تجویز کرنے کے لیے جمع شدہ فیڈبیک استعمال کرتا ہے۔
- تجویز کا جائزہ لیں: CLI اسکور، یقین میں تبدیلی، اور مجوزہ تعریف کا فرق دکھاتا ہے۔
- اگلا اقدام منتخب کریں: آپ قبول، مسترد، واپس، یا روک کر بعد میں دوبارہ شروع کر سکتے ہیں۔
جائزے کا یہ مرحلہ اہم ہے: اسکور میں بہتریاں اس وقت تک تجاویز رہتی ہیں جب تک آپ انہیں واضح طور پر قبول نہ کریں۔
اعلیٰ درجے کی آپٹیمائزیشن ترتیبات ایڈجسٹ کریں
رہنمائی والا 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 vercelCloudflare 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 کا reflection model تشکیل دیں
GEPA کا reflection model، Jev model سے الگ ہوتا ہے جو ڈیٹاسیٹ کی قطاروں کا جائزہ لیتا ہے۔ OpenAI، Anthropic، اور Gemini ماڈلز کا خودکار طور پر پتا چل جاتا ہے۔ آپ کوئی بھی LiteLLM provider بھی استعمال کر سکتے ہیں، جن میں Fireworks، مقامی vLLM، اور دیگر OpenAI-compatible endpoints شامل ہیں۔
مثال کے طور پر، ایک hosted vLLM endpoint تشکیل دیں اور اس کا ماڈل واضح طور پر منتخب کریں:
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 Functions کا نظم اور دوبارہ آغاز کریں
اپنے محفوظ کردہ functions کی فہرست اس کمانڈ سے دیکھیں:
jeva functionsکسی مخصوص رن کو براہِ راست دوبارہ شروع کرنے کے لیے اس کی محفوظ کردہ ڈائریکٹری فراہم کریں:
jeva optimize --resume .jev-align/runs/<run-id>دوبارہ آغاز اس وقت مفید ہے جب آپ لیبلنگ جاری رکھنا، کسی محفوظ کردہ function کا دوبارہ جائزہ لینا، یا تعیناتی کے بعد حاصل کی گئی مثالوں پر کارروائی کرنا چاہتے ہوں۔
Python میں AI Function استعمال کریں
AIFunction.load کے ذریعے محفوظ کردہ function لوڈ کریں۔ capture فعال کریں تاکہ function مستقبل کے جائزے کے لیے مفید پروڈکشن مثالیں ریکارڈ کرے:
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.",
)keyword arguments ان fields کے مطابق ہونے چاہییں جن کی محفوظ کردہ function کو توقع ہے۔ اس مثال میں function عنوان اور متن کے حصے کا جائزہ لیتی ہے۔
پروڈکشن ڈیٹا سے سیکھنا جاری رکھیں
capture=True کے ساتھ، آپ کی ایپلیکیشن ایسی مثالیں محفوظ رکھ سکتی ہے جو بعد کی آپٹیمائزیشن کے لیے مفید ہوں۔ جب آپ ان کا جائزہ لینے کے لیے تیار ہوں تو CLI پر واپس جائیں:
jeva functionsمتعلقہ AI Function منتخب کریں یا دوبارہ شروع کریں، حاصل کی گئی مثالوں کو لیبل کریں، اور GEPA کو اگلی definition تجویز کرنے دیں۔ وہی انسانی جائزے کا عمل لاگو ہوتا ہے: تبدیلی قبول کرنے سے پہلے metrics اور diff کا معائنہ کریں۔
اعلیٰ درجے کے ورک فلو کے نکات
- مرکوز columns منتخب کریں: خودکار طور پر ہر field استعمال کرنے کے بجائے صرف وہ fields شامل کریں جو کام کے لیے ثبوت فراہم کرتی ہوں۔
- درست سوال لکھیں: فیصلہ کرنے کی واضح حد binary classification کو مستقل طور پر لیبل کرنا آسان بناتی ہے۔
- مقررہ labels احتیاط سے بیان کریں: multiclass اور multilabel کاموں کے لیے class descriptions استعمال کریں تاکہ ایسے labels میں فرق کیا جا سکے جو بصورتِ دیگر ایک دوسرے سے مل سکتے ہیں۔
- ضرورت کے وقت rationales شامل کریں: اختیاری rationales GEPA کو اس بارے میں مزید سیاق فراہم کر سکتے ہیں کہ کسی مثال کو مخصوص label کیوں ملنا چاہیے۔
- audit sample استعمال کریں: مبہم مثالیں قیمتی ہوتی ہیں، لیکن بے ترتیب مثالیں uncertainty-focused subset سے باہر کے رویے کی جانچ میں مدد دیتی ہیں۔
- صرف score کا جائزہ نہ لیں: iteration قبول کرنے سے پہلے certainty میں تبدیلیوں اور مجوزہ definition diff کا معائنہ کریں۔
- دوبارہ شروع کریں، نئے سرے سے آغاز نہ کریں: محفوظ شدہ runs جمع شدہ labels برقرار رکھتے ہیں اور مسلسل بہتری ممکن بناتے ہیں۔
- provider کے فیصلے الگ رکھیں: جائزے اور رن ٹائم کی ضروریات کے لیے Jev backend منتخب کریں، پھر GEPA کے لیے reflection model الگ سے تشکیل دیں۔
نتیجہ
jev-align Jev AI Functions بنانے اور بہتر کرنے کے لیے انسانی شمولیت پر مبنی عمل فراہم کرتا ہے۔ مقامی dataset سے آغاز کریں، غیر یقینی مثالوں کو label کریں، GEPA کی تجویز کردہ definition تبدیلیوں کا جائزہ لیں، اور نتیجہ محفوظ کریں۔ production capture فعال کر کے اور بعد میں اسی run کو دوبارہ شروع کر کے، آپ حقیقی ایپلیکیشن مثالوں کے ساتھ function کو بہتر بناتے رہ سکتے ہیں، جبکہ ہر قبول شدہ version پر اپنا کنٹرول برقرار رکھتے ہیں۔
