InterSystems IRIS میں ازگر کا گیٹ وے

یہ مضمون پائتھون گیٹ وے کے بارے میں ہے، جو انٹر سسٹمز IRIS ڈیٹا پلیٹ فارم کے لیے ایک اوپن سورس کمیونٹی پروجیکٹ ہے۔ یہ پروجیکٹ آپ کو Python (بہت سے ڈیٹا سائنسدانوں کے لیے بنیادی ماحول) میں بنائے گئے کسی بھی مشین لرننگ الگورتھم کو ترتیب دینے کی اجازت دیتا ہے، InterSystems IRIS پلیٹ فارم پر تیزی سے موافقت پذیر، روبوٹک تجزیاتی AI/ML حل بنانے کے لیے متعدد ریڈی میڈ لائبریریوں کا استعمال کریں۔ اس آرٹیکل میں، میں یہ بتاؤں گا کہ کس طرح InterSystems IRIS Python میں پروسیس کو آرکیسٹریٹ کر سکتا ہے، دو طرفہ ڈیٹا کو موثر طریقے سے بات چیت کر سکتا ہے، اور ذہین کاروباری عمل تخلیق کر سکتا ہے۔

منصوبہ

  1. تعارف
  2. اوزار.
  3. تنصیب
  4. API.
  5. انٹرآپریبلٹی
  6. Jupyter نوٹ بک۔
  7. نتیجہ.
  8. لنکس۔
  9. ایم ایل ٹول کٹ۔

تعارف

Python ایک اعلیٰ سطحی، عام مقصد کی پروگرامنگ زبان ہے جس کا مقصد ڈویلپر کی پیداواری صلاحیت اور کوڈ پڑھنے کی اہلیت کو بہتر بنانا ہے۔ مضامین کی اس سیریز میں، میں InterSystems IRIS پلیٹ فارم پر Python کے استعمال کے امکانات پر بات کروں گا، اس مضمون کا بنیادی فوکس مشین لرننگ ماڈل بنانے اور چلانے کے لیے ایک زبان کے طور پر ازگر کا استعمال ہے۔

مشین لرننگ (ML) مصنوعی ذہانت کے طریقوں کی ایک کلاس ہے، جس کی خصوصیت کسی مسئلے کا براہ راست حل نہیں ہے، بلکہ اسی طرح کے بہت سے مسائل کو حل کرنے کے عمل میں سیکھنا ہے۔

مشین لرننگ الگورتھم اور ماڈلز زیادہ عام ہوتے جا رہے ہیں۔ اس کی بہت سی وجوہات ہیں، لیکن یہ سب قابل رسائی، سادگی اور عملی نتائج کے حصول پر منحصر ہے۔ کیا کلسٹرنگ یا نیورل نیٹ ورک ماڈلنگ ایک نئی ٹیکنالوجی ہے؟

بالکل نہیں، لیکن آج کل ایک ماڈل کو چلانے کے لیے لاکھوں لائنوں کے کوڈ لکھنے کی ضرورت نہیں ہے، اور ماڈل بنانے اور استعمال کرنے کی لاگت کم سے کم ہوتی جا رہی ہے۔

ٹولز تیار ہو رہے ہیں - جب کہ ہمارے پاس مکمل طور پر GUI-سینٹرک AI/ML ٹولز نہیں ہیں، ہم نے انفارمیشن سسٹمز کی بہت سی دوسری کلاسوں کے ساتھ جو پیشرفت دیکھی ہے، جیسا کہ BI (کوڈ لکھنے سے لے کر فریم ورک اور GUI-مرکزی ترتیب دینے والے حل تک)، یہ ہے۔ AI/ML بنانے کے ٹولز میں بھی مشاہدہ کیا گیا۔ ہم پہلے ہی کوڈ لکھنے کے مرحلے سے گزر چکے ہیں اور آج ہم ماڈل بنانے اور تربیت دینے کے لیے فریم ورک استعمال کرتے ہیں۔

دیگر اصلاحات، جیسے کہ پہلے سے تربیت یافتہ ماڈل کو تقسیم کرنے کی صلاحیت جہاں آخری صارف کو صرف اپنے مخصوص ڈیٹا پر ماڈل کی تربیت مکمل کرنی ہوتی ہے، مشین لرننگ کے ساتھ شروع کرنا بھی آسان بناتی ہے۔ یہ پیشرفت پیشہ ور افراد اور عام طور پر کمپنیوں کے لیے مشین لرننگ کو بہت آسان بناتی ہے۔

دوسری طرف، ہم زیادہ سے زیادہ ڈیٹا اکٹھا کر رہے ہیں۔ InterSystems IRIS جیسے متحد ڈیٹا پلیٹ فارم کے ساتھ، یہ تمام معلومات فوری طور پر تیار کی جا سکتی ہیں اور مشین لرننگ ماڈلز کے ان پٹ کے طور پر استعمال کی جا سکتی ہیں۔

کلاؤڈ پر منتقل ہونے کے ساتھ، AI/ML پروجیکٹوں کو شروع کرنا پہلے سے کہیں زیادہ آسان ہوتا جا رہا ہے۔ ہم صرف وہی وسائل استعمال کر سکتے ہیں جن کی ہمیں ضرورت ہے۔ مزید برآں، کلاؤڈ پلیٹ فارمز کی طرف سے پیش کردہ ہم آہنگی کی بدولت، ہم خرچ ہونے والے وقت کو بچا سکتے ہیں۔

لیکن نتائج کا کیا ہوگا؟ یہ وہ جگہ ہے جہاں چیزیں زیادہ پیچیدہ ہوجاتی ہیں۔ ماڈل بنانے کے لیے بہت سے ٹولز ہیں، جن پر میں آگے بات کروں گا۔ ایک اچھا ماڈل بنانا آسان نہیں ہے، لیکن اس کے بعد کیا ہوگا؟ بزنس ماڈل کے استعمال سے منافع کمانا بھی ایک غیر معمولی کام ہے۔ مسئلے کی جڑ تجزیاتی اور لین دین کے کام کے بوجھ اور ڈیٹا ماڈلز کی علیحدگی ہے۔ جب ہم کسی ماڈل کو تربیت دیتے ہیں، تو ہم اسے عام طور پر تاریخی ڈیٹا پر کرتے ہیں۔ لیکن تعمیر شدہ ماڈل کی جگہ ٹرانزیکشنل ڈیٹا پروسیسنگ میں ہے۔ اگر ہم اسے دن میں ایک بار چلاتے ہیں تو دھوکہ دہی کے لین دین کا پتہ لگانے کا بہترین ماڈل کیا فائدہ مند ہے؟ دھوکہ دہی کرنے والے کافی عرصے سے رقم لے کر چلے گئے ہیں۔ ہمیں ماڈل کو تاریخی ڈیٹا پر تربیت دینے کی ضرورت ہے، لیکن ہمیں اسے نئے آنے والے ڈیٹا پر حقیقی وقت میں لاگو کرنے کی بھی ضرورت ہے تاکہ ہمارے کاروباری عمل ماڈل کی طرف سے کی گئی پیشین گوئیوں پر عمل کر سکیں۔

ML Toolkit ٹولز کا ایک سیٹ ہے جس کا مقصد صرف یہ کرنا ہے: ماڈلز اور لین دین کے ماحول کو متحد کریں تاکہ بلٹ ماڈلز کو آپ کے کاروباری عمل میں آسانی سے استعمال کیا جا سکے۔ Python Gateway ML Toolkit کا حصہ ہے اور Python زبان کے ساتھ انضمام فراہم کرتا ہے (جیسے کہ R Gateway، ML Toolkit کا حصہ ہونے کے ناطے R زبان کے ساتھ انضمام فراہم کرتا ہے)۔

ٹول کٹ

اس سے پہلے کہ ہم جاری رکھیں، میں Python کے چند ٹولز اور لائبریریوں کی وضاحت کرنا چاہوں گا جو ہم بعد میں استعمال کریں گے۔

ٹیکنالوجی

  • Python ایک تشریح شدہ، اعلیٰ سطحی، عام مقصد کی پروگرامنگ زبان ہے۔ زبان کا سب سے بڑا فائدہ اس کی ریاضی، ML اور AI لائبریریوں کی بڑی لائبریری ہے۔ آبجیکٹ اسکرپٹ کی طرح، یہ ایک آبجیکٹ پر مبنی زبان ہے، لیکن ہر چیز کی تعریف جامد کی بجائے متحرک طور پر کی جاتی ہے۔ نیز ہر چیز ایک چیز ہے۔ بعد کے مضامین زبان سے گزرتے ہوئے واقفیت کو سمجھتے ہیں۔ اگر آپ سیکھنا شروع کرنا چاہتے ہیں، تو میں آپ کے ساتھ شروع کرنے کی تجویز کرتا ہوں۔ دستاویزات.
  • ہماری بعد کی مشقوں کے لیے سیٹ کریں۔ ازگر 3.6.7 64 بٹ.
  • IDE: میں استعمال کرتا ہوں۔ PyCharm، لیکن عام طور پر وہ много. اگر آپ Atelier استعمال کرتے ہیں، تو Python کے ڈویلپرز کے لیے Eclipse پلگ ان موجود ہے۔ اگر آپ VS کوڈ استعمال کر رہے ہیں، تو Python کے لیے ایک توسیع ہے۔
  • نوٹ بک: IDE کے بجائے، آپ آن لائن نوٹ بک میں اپنی اسکرپٹ لکھ اور شیئر کر سکتے ہیں۔ ان میں سب سے زیادہ مقبول ہے۔ مشتری.

لائبریریاں

یہاں مشین لرننگ لائبریریوں کی ایک (غیر مکمل) فہرست ہے:

  • نپٹی - عین حساب کے لیے ایک بنیادی پیکج۔
  • پانڈاس - اعلی کارکردگی والے ڈیٹا ڈھانچے اور ڈیٹا تجزیہ کے اوزار۔
  • میٹپلوٹلیب - گراف کی تخلیق.
  • سمندری طوفان - میٹپلوٹلیب پر مبنی ڈیٹا ویژولائزیشن۔
  • سکلیرن - مشین سیکھنے کے طریقے۔
  • XGBoost - گریڈینٹ بوسٹنگ طریقہ کار کے فریم ورک کے اندر مشین لرننگ الگورتھم۔
  • جینسم - این ایل پی۔
  • کیراس - عصبی نیٹ ورکس۔
  • ٹینسر فلو - مشین لرننگ ماڈل بنانے کا ایک پلیٹ فارم۔
  • پی ٹورچ مشین لرننگ ماڈل بنانے کا ایک پلیٹ فارم ہے، جو Python پر مرکوز ہے۔
  • نیوکا - مختلف ماڈلز سے پی ایم ایم ایل۔

AI/ML ٹیکنالوجیز کاروبار کو زیادہ موثر اور موافق بناتی ہیں۔ مزید برآں، آج ان ٹیکنالوجیز کو تیار کرنا اور لاگو کرنا آسان ہوتا جا رہا ہے۔ AI/ML ٹیکنالوجیز کے بارے میں سیکھنا شروع کریں اور یہ کہ وہ آپ کی تنظیم کی ترقی میں کس طرح مدد کر سکتی ہیں۔

تنصیب

Python Gateway کو انسٹال کرنے اور استعمال کرنے کے کئی طریقے ہیں:

  • OS
    • ونڈوز
    • لینکس
    • میک
  • میں Docker
    • DockerHub سے ایک تصویر استعمال کریں۔
    • اپنی شکل خود بنائیں

انسٹالیشن کے طریقے سے قطع نظر، آپ کو سورس کوڈ کی ضرورت ہوگی۔ کوڈ ڈاؤن لوڈ کرنے کی واحد جگہ ہے۔ صفحہ جاری کرتا ہے۔. اس میں آزمائشی مستحکم ریلیزز ہیں، بس تازہ ترین لے لیں۔ اس وقت یہ 0.8 ہے، لیکن وقت کے ساتھ ساتھ نئے بھی ہوں گے۔ ریپوزٹری کو کلون/ڈاؤن لوڈ نہ کریں، تازہ ترین ریلیز ڈاؤن لوڈ کریں۔

OS

اگر آپ آپریٹنگ سسٹم پر Python Gateway انسٹال کر رہے ہیں، تو پہلے (آپریٹنگ سسٹم سے قطع نظر) آپ کو Python انسٹال کرنا ہوگا۔ اس کے لیے:

  1. Python 3.6.7 64 بٹ انسٹال کریں۔. پہلے سے طے شدہ ڈائرکٹری میں ازگر کو انسٹال کرنے کی سفارش کی جاتی ہے۔
  2. ماڈیول انسٹال کریں۔ dill: pip install dill.
  3. آبجیکٹ اسکرپٹ کوڈ ڈاؤن لوڈ کریں (یعنی do $system.OBJ.ImportDir("C:InterSystemsReposPythoniscpy", "*.cls", "c",,1)مصنوعات کے ساتھ کسی بھی علاقے میں۔ اگر آپ چاہتے ہیں کہ کوئی موجودہ علاقہ مصنوعات کو سپورٹ کرے تو چلائیں: write ##class(%EnsembleMgr).EnableNamespace($Namespace, 1).
  4. جگہ۔ کال آؤٹ DLL/SO/DYLIB فولڈر میں bin آپ کی InterSystems IRIS مثال۔ لائبریری فائل کو واپس کیے گئے راستے میں دستیاب ہونا ضروری ہے۔ write ##class(isc.py.Callout).GetLib().

ونڈوز

  1. یقینی بنائیں کہ ماحول متغیر ہے۔ PYTHONHOME Python 3.6.7 کی طرف اشارہ کرتا ہے۔
  2. یقینی بنائیں کہ سسٹم کا ماحول متغیر ہے۔ PATH ایک متغیر پر مشتمل ہے۔ PYTHONHOME (یا جس ڈائریکٹری کی طرف اشارہ کرتا ہے)۔

لینکس (Debian/Ubuntu)

  1. چیک کریں کہ ماحولیاتی متغیر ہے۔ PATH مشتمل /usr/lib и /usr/lib/x86_64-linux-gnu. فائل کا استعمال کریں۔ /etc/environment ماحولیاتی متغیرات کو ترتیب دینے کے لئے۔
  2. غلطیوں کی صورت میں undefined symbol: _Py_TrueStruct ترتیب مقرر کریں PythonLib. میں بھی ریڈی ایک ٹربل شوٹنگ سیکشن ہے۔

میک

  1. فی الحال صرف Python 3.6.7 سپورٹ ہے۔ ازگر ..org. متغیر کو چیک کریں۔ PATH.

اگر آپ نے ماحولیاتی متغیرات کو تبدیل کیا ہے، تو اپنے InterSystems پروڈکٹ کو دوبارہ شروع کریں۔

میں Docker

کنٹینرز کے استعمال کے کئی فوائد ہیں:

  • پورٹیبلٹی
  • اثر انداز
  • تنہائی
  • ہلکا پن
  • تغیر پذیری

یہ چیک کریں۔ مضامین کی سیریز InterSystems مصنوعات کے ساتھ Docker استعمال کرنے کے بارے میں مزید معلومات کے لیے۔

تمام ازگر گیٹ وے تعمیرات فی الحال کنٹینر پر مبنی ہیں۔ 2019.4.

تیار تصویر

رن: docker run -d -p 52773:52773 --name irispy intersystemscommunity/irispy-community:latestInterSystems IRIS Community Edition کے ساتھ Python Gateway ڈاؤن لوڈ اور چلانے کے لیے۔ بس۔

اپنی شکل خود بنائیں

ڈاکر امیج بنانے کے لیے، ریپوزٹری کی روٹ میں چلائیں: docker build --force-rm --tag intersystemscommunity/irispy:latest ..
پہلے سے طے شدہ طور پر، تصویر کی بنیاد پر تصویر بنائی جاتی ہے۔ store/intersystems/iris-community:2019.4.0.383.0تاہم آپ اسے متغیر ترتیب دے کر تبدیل کر سکتے ہیں۔ IMAGE.
InterSystems IRIS سے بنانے کے لیے، چلائیں: `docker build --build-arg IMAGE=store/intersystems/iris:2019.4.0.383.0 --force-rm --tag intersystemscommunity/irispy:latest "۔

اس کے بعد آپ ڈاکر امیج چلا سکتے ہیں:

docker run -d 
  -p 52773:52773 
  -v /<HOST-DIR-WITH-iris.key>/:/mount 
  --name irispy 
  intersystemscommunity/irispy:latest 
  --key /mount/iris.key

اگر آپ InterSystems IRIS Community Edition پر مبنی تصویر استعمال کر رہے ہیں، تو آپ کلید کو چھوڑ سکتے ہیں۔

تبصرے

  • ٹیسٹ کا عمل isc.py.test.Process ایک عارضی ڈائریکٹری میں تصاویر کی ایک بڑی تعداد کو محفوظ کرتا ہے۔ آپ اس راستے کو ماونٹڈ ڈائرکٹری میں تبدیل کرنا چاہتے ہیں۔ ایسا کرنے کے لیے، ترتیب میں ترمیم کریں۔ WorkingDir نصب شدہ ڈائریکٹری کی وضاحت کرنا۔
  • ٹرمینل رن تک رسائی حاصل کرنے کے لیے: docker exec -it irispy sh.
  • لاگ ان کے ذریعے سسٹم مینجمنٹ پورٹل تک رسائی حاصل کریں۔ SuperUser/SYS.
  • کنٹینر کو روکنے کے لیے، چلائیں: docker stop irispy && docker rm --force irispy.

تنصیب کی تصدیق

ایک بار جب آپ Python Gateway انسٹال کر لیتے ہیں، تو یہ چیک کرنے کے قابل ہے کہ یہ کام کر رہا ہے۔ اس کوڈ کو InterSystems IRIS ٹرمینل میں انجام دیں:

set sc = ##class(isc.py.Callout).Setup() 
set sc = ##class(isc.py.Main).SimpleString("x='HELLO'", "x", , .var).
write var

نتیجہ یہ ہونا چاہئے: HELLO - ازگر کی متغیر قدر x. اگر واپسی کی کیفیت sc ایک غلطی ہے یا var خالی، چیک ریڈمی - ٹربل شوٹنگ سیکشن.

API

Python Gateway انسٹال ہے اور آپ نے تصدیق کی ہے کہ یہ کام کرتا ہے۔ اس کا استعمال شروع کرنے کا وقت ہے!
ازگر کا مرکزی انٹرفیس ہے۔ isc.py.Main. یہ طریقوں کے درج ذیل گروپس پیش کرتا ہے (تمام واپسی %Status):

  • کوڈ پر عمل درآمد
  • ڈیٹا کی منتقلی۔
  • معاون

کوڈ پر عمل درآمد

یہ طریقے آپ کو صوابدیدی Python کوڈ پر عمل کرنے کی اجازت دیتے ہیں۔

SimpleString

SimpleString - یہ اہم طریقہ ہے. یہ 4 اختیاری دلائل لیتا ہے:

  • code - عملدرآمد کے لیے کوڈ کی لائن۔ لائن فیڈ کریکٹر: $c(10).
  • returnVariable - واپس آنے والے متغیر کا نام۔
  • serialization - سیریلائز کرنے کا طریقہ returnVariable. 0 — سٹرنگ (پہلے سے طے شدہ)، 1 — دوبارہ
  • result - ByRef متغیر کا حوالہ جس میں قدر لکھی گئی ہے۔ returnVariable.

اوپر ہم نے کیا:

set sc = ##class(isc.py.Main).SimpleString("x='HELLO'", "x", , .var).

اس مثال میں، ہم ایک Python متغیر کو تفویض کرتے ہیں۔ x قیمت Hello اور ازگر کے متغیر کی قدر واپس کرنا چاہتے ہیں۔ x آبجیکٹ اسکرپٹ متغیر تک var.

ایگزیکٹ کوڈ

ExecuteCode ایک محفوظ اور کم پابندی والا متبادل ہے۔ SimpleString.
InterSystems IRIS پلیٹ فارم میں لائنیں 3 حروف تک محدود ہیں، اور اگر آپ کوڈ کے لمبے ٹکڑے پر عمل درآمد کرنا چاہتے ہیں، تو آپ کو تھریڈز استعمال کرنے کی ضرورت ہے۔
دو دلائل قابل قبول ہیں:

  • code - ازگر کوڈ کی ایک لائن یا سلسلہ جس پر عمل درآمد کیا جانا ہے۔
  • variable - (اختیاری) عملدرآمد کا نتیجہ تفویض کرتا ہے۔ code یہ Python متغیر.

استعمال کرنے کی مثال:

set sc = ##class(isc.py.Main).ExecuteCode("2*3", "y").

اس مثال میں، ہم 2 کو 3 سے ضرب دیتے ہیں اور نتیجہ کو Python متغیر میں لکھتے ہیں۔ y.

ڈیٹا کی منتقلی۔

Python کو اور اس سے ڈیٹا منتقل کریں۔

Python -> InterSystems IRIS

InterSystems IRIS میں Python متغیر کی قدر حاصل کرنے کے 4 طریقے ہیں، آپ کو درکار سیریلائزیشن پر منحصر ہے:

  • String سادہ ڈیٹا کی اقسام اور ڈیبگنگ کے لیے۔
  • Repr سادہ اشیاء کو ذخیرہ کرنے اور ڈیبگ کرنے کے لیے۔
  • JSON InterSystems IRIS سائیڈ پر ڈیٹا میں آسانی سے ہیرا پھیری کے لیے۔
  • Pickle اشیاء کو بچانے کے لیے۔

یہ طریقے آپ کو پائتھون سے سٹرنگ یا اسٹریمز کے طور پر متغیرات کو بازیافت کرنے کی اجازت دیتے ہیں۔

  • GetVariable(variable, serialization, .stream, useString) --.حاصل کرنا serialization متغیر variable в stream. اگر useString 1 ہے اور سیریلائزیشن کو ایک سٹرنگ پر رکھا جاتا ہے، پھر ایک سٹرنگ لوٹائی جاتی ہے نہ کہ سٹریم۔
  • GetVariableJson(variable, .stream, useString) - متغیر کی JSON سیریلائزیشن حاصل کریں۔
  • GetVariablePickle(variable, .stream, useString, useDill) - ایک متغیر کا اچار (یا ڈل) سیریلائزیشن حاصل کریں۔

آئیے اپنے متغیر کو حاصل کرنے کی کوشش کریں۔ y.

set sc = ##class(isc.py.Main).GetVariable("y", , .val, 1)
write val
>6

انٹر سسٹمز IRIS -> ازگر

InterSystems IRIS سے Python میں ڈیٹا لوڈ ہو رہا ہے۔

  • ExecuteQuery(query, variable, type, namespace) - ایک ڈیٹاسیٹ بناتا ہے (پانڈا dataframe یا list) sql استفسار سے اور اسے Python متغیر پر سیٹ کرتا ہے۔ variable. پلاسٹک بیگ isc.py علاقے میں دستیاب ہونا ضروری ہے namespace - درخواست وہیں پر عمل میں لائی جائے گی۔
  • ExecuteGlobal(global, variable, type, start, end, mask, labels, namespace) - عالمی ڈیٹا لوڈ کرتا ہے۔ global سبسکرپٹ سے start پر end ایک قسم کے متغیر کے طور پر ازگر میں type: list، یا پانڈا۔ dataframe. اختیاری دلائل کی تفصیل mask اور labels کلاس دستاویزات اور ذخیرہ میں دستیاب ہے۔ ڈیٹا ٹرانسفر دستاویزات.
  • ExecuteClass(class, variable, type, start, end, properties, namespace) - کلاس ڈیٹا لوڈ کرتا ہے۔ class آئی ڈی سے start پر end ایک قسم کے متغیر کے طور پر ازگر میں type: list، یا پانڈا۔ dataframe. properties — کلاس پراپرٹیز کی ایک فہرست (کوما سے الگ) جسے ڈیٹا سیٹ میں لوڈ کرنے کی ضرورت ہے۔ ماسک سپورٹ کیا گیا۔ * и ?. پہلے سے طے شدہ - * (تمام خصوصیات)۔ جائیداد %%CLASSNAME نظر انداز کیا
  • ExecuteTable(table, variable, type, start, end, properties, namespace) - ٹیبل ڈیٹا لوڈ کرتا ہے۔ table آئی ڈی سے start پر end ازگر میں

ExecuteQuery - عالمگیر (کوئی بھی درست SQL استفسار ازگر کو بھیج دیا جائے گا)۔ البتہ، ExecuteGlobal اور اس کے ریپرز ExecuteClass и ExecuteTable متعدد پابندیوں کے ساتھ کام کریں۔ وہ بہت تیز ہیں (ODBC ڈرائیور سے 3-5 گنا تیز اور 20 گنا تیز ExecuteQuery)۔ مزید معلومات پر ڈیٹا ٹرانسفر دستاویزات.
یہ تمام طریقے کسی بھی علاقے سے ڈیٹا کی منتقلی کی حمایت کرتے ہیں۔ پلاسٹک بیگ isc.py ہدف کے علاقے میں دستیاب ہونا ضروری ہے.

ExecuteQuery

ExecuteQuery(request, variable, type, namespace) - کسی بھی درست SQL استفسار کے نتائج کو ازگر میں منتقل کرنا۔ یہ سب سے سست ڈیٹا کی منتقلی کا طریقہ ہے۔ اگر استعمال کریں۔ ExecuteGlobal اور اس کے ریپر دستیاب نہیں ہیں۔

دلائل:

  • query - sql استفسار۔
  • variable - Python متغیر کا نام جس میں ڈیٹا لکھا جاتا ہے۔
  • type - list یا پانڈا۔ dataframe.
  • namespace - وہ علاقہ جس میں درخواست پر عمل کیا جائے گا۔

ایگزیکٹ گلوبل

ExecuteGlobal(global, variable, type, start, end, mask, labelels, namespace) - ازگر میں عالمی گزرنا۔

دلائل:

  • global - عالمی نام کے بغیر ^
  • variable - Python متغیر کا نام جس میں ڈیٹا لکھا جاتا ہے۔
  • type - list یا پانڈا۔ dataframe.
  • start - عالمی کا پہلا سبسکرپٹ۔ لازمی طور پر %Integer.
  • end - عالمی کا آخری سبسکرپٹ۔ لازمی طور پر %Integer.
  • mask - عالمی قدر کا ماسک۔ ماسک گلوبل میں فیلڈز کی تعداد سے چھوٹا ہو سکتا ہے (اس صورت میں آخر میں فیلڈز کو چھوڑ دیا جائے گا)۔ ماسک کو فارمیٹ کرنے کا طریقہ:
    • + قدر کو اسی طرح منتقل کریں۔
    • - قدر چھوڑیں.
    • b - بولین قسم (0 - False، باقی سب - True).
    • d — تاریخ ($horolog سے، 1970 سے ونڈوز پر، 1900 سے لینکس پر)۔
    • t — وقت ($ horolog، آدھی رات کے بعد سیکنڈ)۔
    • m — ٹائم اسٹیمپ (فارمیٹ سٹرنگ YEAR-MONTH-DAY HOUR:MINUTE:SECOND)۔
  • labels کالم کے ناموں کی فہرست۔ پہلا عنصر سبسکرپٹ کا نام ہے۔
  • namespace - وہ علاقہ جس میں درخواست پر عمل کیا جائے گا۔

ExecuteClass

لپیٹنا ExecuteGlobal. کلاس کی تعریف کی بنیاد پر، کال تیار کرتا ہے۔ ExecuteGlobal اور اسے بلاتا ہے.

ExecuteClass(class, variable, type, start, end, properties, namespace) - ازگر میں کلاس ڈیٹا پاس کرنا۔

دلائل:

  • class - کلاس کا نام
  • variable - Python متغیر کا نام جس میں ڈیٹا لکھا جاتا ہے۔
  • type - list یا پانڈا۔ dataframe.
  • start - ابتدائی ID۔
  • end - آخری شناخت
  • properties — کلاس پراپرٹیز کی ایک فہرست (کوما سے الگ) جسے ڈیٹا سیٹ میں لوڈ کرنے کی ضرورت ہے۔ ماسک سپورٹ کیا گیا۔ * и ?. پہلے سے طے شدہ - * (تمام خصوصیات)۔ جائیداد %%CLASSNAME نظر انداز کیا
  • namespace - وہ علاقہ جس میں درخواست پر عمل کیا جائے گا۔

تمام پراپرٹیز کو اسی طرح منظور کیا جاتا ہے سوائے ٹائپ پراپرٹیز کے %Date, %Time, %Boolean и %TimeStamp - وہ متعلقہ ازگر کی کلاسوں میں تبدیل ہو جاتے ہیں۔

ایکزیکیوٹ ٹیبل

لپیٹنا ExecuteClass. ٹیبل کے نام کا ترجمہ کلاس کے نام اور کالز میں کرتا ہے۔ ExecuteClass. دستخط:

ExecuteTable(table, variable, type, start, end, properties, namespace) - ٹیبل ڈیٹا کو ازگر کو منتقل کرنا۔

دلائل:

  • table - ٹیبل کا نام
    باقی تمام دلائل اسی طرح گزر چکے ہیں۔ ExecuteClass.

نوٹ

  • ExecuteGlobal, ExecuteClass и ExecuteTable یکساں تیزی سے کام کریں۔
  • ExecuteGlobal سے 20 گنا تیز ExecuteQuery بڑے ڈیٹا سیٹس پر (منتقلی کا وقت>0.01 سیکنڈ)۔
  • ExecuteGlobal, ExecuteClass и ExecuteTable اس ڈھانچے کے ساتھ عالمی سطح پر کام کریں: ^global(key) = $lb(prop1, prop2, ..., propN) جہاں key --.ایک عدد n.
  • کے لیے ExecuteGlobal, ExecuteClass и ExecuteTable اقدار کی حمایت کی حد %Date رینج سے مطابقت رکھتا ہے۔ mktime اور OS پر منحصر ہے (کھڑکیاں: 1970-01-01 ، لینکس 1900 01 01، میک)۔ استعمال کریں۔ %TimeStampاس رینج سے باہر ڈیٹا منتقل کرنے کے لیے یا پانڈاس ڈیٹا فریم کا استعمال کریں کیونکہ یہ صرف فہرست کی حد ہے۔
  • کے لیے ExecuteGlobal, ExecuteClass и ExecuteTable ڈیٹا سورس (عالمی، کلاس یا ٹیبل) اور متغیر کے علاوہ تمام آرگیومنٹ اختیاری ہیں۔

مثالیں

ٹیسٹ کلاس isc.py.test.Person ڈیٹا کی منتقلی کے تمام اختیارات کو ظاہر کرنے والے طریقہ پر مشتمل ہے:

set global = "isc.py.test.PersonD"
set class = "isc.py.test.Person"
set table = "isc_py_test.Person"
set query = "SELECT * FROM isc_py_test.Person"

// Общие аргументы
set variable = "df"
set type = "dataframe"
set start = 1
set end = $g(^isc.py.test.PersonD, start)

// Способ 0: ExecuteGlobal без аргументов
set sc = ##class(isc.py.Main).ExecuteGlobal(global, variable _ 0, type)

// Способ 1: ExecuteGlobal с аргументами    
// При передаче глобала названия полей задаются вручную
// globalKey - название сабсткрипта 
set labels = $lb("globalKey", "Name", "DOB", "TS", "RandomTime", "AgeYears", "AgeDecimal", "AgeDouble", "Bool")

// mask содержит на 1 элемент меньше чем labels потому что "globalKey" - название сабскипта
// Пропускаем %%CLASSNAME
set mask = "-+dmt+++b"

set sc = ##class(isc.py.Main).ExecuteGlobal(global, variable _ 1, type, start, end, mask, labels)

// Способ 2: ExecuteClass
set sc = ##class(isc.py.Main).ExecuteClass(class, variable _ 2, type, start, end)

// Способ 3: ExecuteTable
set sc = ##class(isc.py.Main).ExecuteTable(table, variable _ 3, type, start, end)

// Способ 4: ExecuteTable
set sc = ##class(isc.py.Main).ExecuteQuery(query, variable _ 4, type)

طریقہ کو کال کریں۔ do ##class(isc.py.test.Person).Test() یہ دیکھنے کے لیے کہ ڈیٹا کی منتقلی کے تمام طریقے کیسے کام کرتے ہیں۔

مددگار کے طریقے

  • GetVariableInfo(variable, serialization, .defined, .type, .length) - متغیر کے بارے میں معلومات حاصل کریں: چاہے اس کی تعریف کی گئی ہو، اس کی کلاس اور سیریلائزیشن کی لمبائی۔
  • GetVariableDefined(variable, .defined) - چاہے متغیر کی تعریف کی گئی ہو۔
  • GetVariableType(variable, .type) - متغیر کی کلاس حاصل کریں۔
  • GetStatus() - ازگر کی طرف آخری استثنا حاصل کریں اور ہٹا دیں۔
  • GetModuleInfo(module, .imported, .alias) - ماڈیول متغیر اور درآمد کی حیثیت حاصل کریں۔
  • GetFunctionInfo(function, .defined, .type, .docs, .signature, .arguments) - فنکشن کے بارے میں معلومات حاصل کریں۔

انٹرآپریبلٹی

آپ نے ٹرمینل سے Python Gateway کو کال کرنے کا طریقہ سیکھ لیا ہے، اب آئیے اسے پروڈکشن میں استعمال کرنا شروع کریں۔ اس موڈ میں ازگر کے ساتھ تعامل کی بنیاد ہے۔ isc.py.ens.Operation. یہ ہمیں اجازت دیتا ہے:

  • Python میں کوڈ پر عمل کریں۔
  • ازگر کے سیاق و سباق کو محفوظ/بحال کریں۔
  • Python سے ڈیٹا لوڈ اور وصول کریں۔

بنیادی طور پر، ایک ازگر کا آپریشن ایک ریپر اوور ہے۔ isc.py.Main. آپریشن isc.py.ens.Operation InterSystems IRIS مصنوعات سے Python کے عمل کے ساتھ تعامل کرنے کی صلاحیت فراہم کرتا ہے۔ پانچ سوالات کی حمایت کی جاتی ہے:

  • isc.py.msg.ExecutionRequest Python کوڈ پر عمل کرنے کے لیے۔ واپسی isc.py.msg.ExecutionResponse عملدرآمد کے نتیجے اور درخواست کردہ متغیرات کی قدروں کے ساتھ۔
  • isc.py.msg.StreamExecutionRequest Python کوڈ پر عمل کرنے کے لیے۔ واپسی isc.py.msg.StreamExecutionResponse عمل درآمد کا نتیجہ اور درخواست کردہ متغیرات کی اقدار۔ اینالاگ isc.py.msg.ExecutionRequest، لیکن تاروں کی بجائے اسٹریمز کو قبول اور واپس کرتا ہے۔
  • isc.py.msg.QueryRequest ایس کیو ایل استفسار پر عمل کرنے کے نتیجے کو منتقل کرنے کے لیے۔ واپسی Ens.Response.
  • isc.py.msg.GlobalRequest/isc.py.msg.ClassRequest/isc.py.msg.TableRequest عالمی/کلاس/ٹیبل ڈیٹا پاس کرنے کے لیے۔ واپسی Ens.Response.
  • isc.py.msg.SaveRequest ازگر کے سیاق و سباق کو بچانے کے لیے۔ واپسی Ens.StringResponse سیاق و سباق کی شناخت کے ساتھ۔
  • isc.py.msg.RestoreRequest ازگر کے سیاق و سباق کو بحال کرنے کے لیے۔

    اس کے علاوہ، isc.py.ens.Operation دو ترتیبات ہیں:

    • Initializer - ایک ایسی کلاس کا انتخاب کرنا جو انٹرفیس کو نافذ کرے۔ isc.py.init.Abstract. اسے فنکشنز، ماڈیولز، کلاسز وغیرہ لوڈ کرنے کے لیے استعمال کیا جا سکتا ہے۔ جب عمل شروع ہوتا ہے تو اسے ایک بار انجام دیا جاتا ہے۔
    • PythonLib - (صرف لینکس) اگر آپ کو لوڈ کرتے وقت غلطیاں نظر آئیں، تو اس کی قدر مقرر کریں۔ libpython3.6m.so یا یہاں تک کہ ازگر کی لائبریری کے پورے راستے میں۔

کاروباری عمل کی تخلیق

دو کلاسیں دستیاب ہیں جو کاروباری عمل کی ترقی میں سہولت فراہم کرتی ہیں:

  • isc.py.ens.ProcessUtils آپ کو متغیر متبادل کے ساتھ سرگرمیوں سے تشریحات نکالنے کی اجازت دیتا ہے۔
  • isc.py.util.BPEmulator Python کے ساتھ کاروباری عمل کی جانچ کرنا آسان بناتا ہے۔ یہ موجودہ عمل میں کاروباری عمل (ازگر کے حصے) کو انجام دے سکتا ہے۔

متغیر متبادل

تمام کاروباری عمل وراثت میں ملے isc.py.ens.ProcessUtils، طریقہ استعمال کر سکتے ہیں۔ GetAnnotation(name) اس کے نام سے سرگرمی کی تشریح کی قدر حاصل کرنے کے لیے۔ سرگرمی تشریح میں متغیرات شامل ہو سکتے ہیں جن کا حساب Python کو بھیجے جانے سے پہلے InterSystems IRIS سائیڈ پر کیا جائے گا۔ یہاں متغیر متبادل کے لئے نحو ہے:

  • ${class:method:arg1:...:argN} - طریقہ کال
  • #{expr} - آبجیکٹ اسکرپٹ زبان میں کوڈ پر عمل کریں۔

ٹیسٹ کاروباری عمل میں ایک مثال دستیاب ہے۔ isc.py.test.Processمثال کے طور پر، سرگرمی میں Correlation Matrix: Graph: f.savefig(r'#{process.WorkDirectory}SHOWCASE${%PopulateUtils:Integer:1:100}.png'). اس مثال میں:

  • #{process.WorkDirectory} آبجیکٹ کی ورک ڈائرکٹری پراپرٹی کو لوٹاتا ہے۔ process، جو کلاس کی ایک مثال ہے۔ isc.py.test.Process وہ موجودہ کاروباری عمل.
  • ${%PopulateUtils:Integer:1:100} ایک طریقہ کہتا ہے۔ Integer کلاس %PopulateUtils, گزرنے والے دلائل 1 и 100, رینج میں ایک بے ترتیب عدد کو واپس کرنا 1...100.

کاروباری عمل کی جانچ کریں۔

ٹیسٹ پروڈکٹس اور ٹیسٹ کے کاروباری عمل از ڈیفالٹ Python Gateway کے حصے کے طور پر دستیاب ہیں۔ ان کو استعمال کرنے کے لیے:

  1. OS ٹرمینل میں، چلائیں: pip install pandas matplotlib seaborn.
  2. InterSystems IRIS ٹرمینل میں، چلائیں: do ##class(isc.py.test.CannibalizationData).Import() ٹیسٹ ڈیٹا بھرنے کے لیے۔
  3. مصنوعات لانچ کریں۔ isc.py.test.Production.
  4. درخواست کی قسم بھیجیں۔ Ens.Request в isc.py.test.Process.

آئیے دیکھتے ہیں کہ یہ سب ایک ساتھ کیسے کام کرتا ہے۔ کھولیں۔ isc.py.test.Process بی پی ایل ایڈیٹر میں:

InterSystems IRIS میں ازگر کا گیٹ وے

کوڈ پر عمل درآمد

سب سے اہم چیلنج ازگر کوڈ پر عمل درآمد ہے:

InterSystems IRIS میں ازگر کا گیٹ وے

استفسار استعمال کیا گیا۔ isc.py.msg.ExecutionRequest، یہاں اس کی خصوصیات ہیں:

  • Code - ازگر کوڈ۔
  • SeparateLines - چاہے عمل درآمد کے لیے کوڈ کو لائنوں میں تقسیم کیا جائے۔ $c(10) (n) تاروں کو الگ کرنے کے لیے استعمال کیا جاتا ہے۔ براہ کرم نوٹ کریں کہ پورے پیغام کو ایک ساتھ پروسیس کرنے کی سفارش نہیں کی جاتی ہے، اس فنکشن کا مقصد صرف پروسیس کرنا ہے۔ def اور اسی طرح کے ملٹی لائن اظہار۔ طے شدہ 0.
  • Variables - متغیرات کی کوما سے الگ کردہ فہرست جو جواب میں شامل کی جائے گی۔
  • Serialization - ان متغیرات کو سیریلائز کرنے کا طریقہ جو ہم واپس کرنا چاہتے ہیں۔ اختیارات: Str, Repr, JSON, Pickle и Dill، پہلے سے طے شدہ Str.

ہمارے معاملے میں، ہم صرف جائیداد کا تعین کرتے ہیں۔ Code، لہذا دیگر تمام خصوصیات پہلے سے طے شدہ اقدار کا استعمال کرتی ہیں۔ ہم نے اسے کال کرکے سیٹ کیا۔ process.GetAnnotation("Import pandas")، جو رن ٹائم پر متغیر متبادل کے انجام دینے کے بعد ایک تشریح لوٹاتا ہے۔ سب کے بعد، کوڈ import pandas as pd Python کو بھیج دیا جائے گا۔ GetAnnotation ملٹی لائن Python اسکرپٹس حاصل کرنے کے لیے مفید ہو سکتا ہے، لیکن کوڈ حاصل کرنے کے اس طریقہ پر کوئی پابندی نہیں ہے۔ آپ پراپرٹی سیٹ کر سکتے ہیں۔ Code آپ کے لیے کسی بھی طرح سے آسان۔

متغیرات حاصل کرنا

کا استعمال کرتے ہوئے ایک اور دلچسپ چیلنج isc.py.msg.ExecutionRequest - Correlation Matrix: Tabular:

InterSystems IRIS میں ازگر کا گیٹ وے

یہ Python کی طرف سے Correlation Matrix کا حساب لگاتا ہے اور متغیر کو نکالتا ہے۔ corrmat درخواست کی خصوصیات کو ترتیب دے کر JSON فارمیٹ میں InterSystems IRIS پر واپس جائیں:

  • Variables: "corrmat"
  • Serialization: "JSON"

ہم بصری ٹریس میں نتائج دیکھ سکتے ہیں:

InterSystems IRIS میں ازگر کا گیٹ وے

اور اگر ہمیں بی پی میں اس قدر کی ضرورت ہو تو ہم اسے اس طرح حاصل کر سکتے ہیں: callresponse.Variables.GetAt("corrmat").

ڈیٹا کی منتقلی۔

اگلا، آئیے انٹر سسٹمز IRIS سے Python میں ڈیٹا کی منتقلی کے بارے میں بات کرتے ہیں؛ ڈیٹا کی منتقلی کی تمام درخواستیں انٹرفیس کو نافذ کرتی ہیں۔ isc.py.msg.DataRequestجو درج ذیل خصوصیات فراہم کرتا ہے:

  • Variable - ایک ازگر متغیر جس میں ڈیٹا لکھا جاتا ہے۔
  • Type - متغیر کی قسم: dataframe (پانڈا ڈیٹا فریم) یا list.
  • Namespace - وہ علاقہ جہاں سے ہم ڈیٹا وصول کرتے ہیں۔ پلاسٹک بیگ isc.py اس علاقے میں دستیاب ہونا چاہئے. یہ پروڈکٹ سپورٹ کے بغیر ایک علاقہ ہو سکتا ہے۔

اس انٹرفیس کی بنیاد پر، درخواستوں کی 4 کلاسیں لاگو کی جاتی ہیں:

  • isc.py.msg.QueryRequest - جائیداد مقرر کریں Query ایس کیو ایل استفسار بھیجنے کے لیے۔
  • isc.py.msg.ClassRequest - جائیداد مقرر کریں Class کلاس ڈیٹا پاس کرنے کے لیے۔
  • isc.py.msg.TableRequest - سیٹ پراپرٹی Table ٹیبل ڈیٹا کی منتقلی کے لیے۔
  • isc.py.msg.GlobalRequest - سیٹ پراپرٹی Global عالمی ڈیٹا کی منتقلی کے لیے۔

ٹیسٹ کے عمل میں، سرگرمی کو دیکھیں RAWجہاں isc.py.msg.QueryRequest عمل میں دکھایا گیا ہے.

InterSystems IRIS میں ازگر کا گیٹ وے

ازگر کے سیاق و سباق کو محفوظ کرنا/بحال کرنا

آخر میں، ہم Python کے سیاق و سباق کو InterSystems IRIS میں محفوظ کر سکتے ہیں، ایسا کرنے کے لیے ہم بھیجیں گے isc.py.msg.SaveRequest دلائل کے ساتھ:

  • Mask - صرف متغیرات کو محفوظ کیا جاتا ہے جو ماسک سے میل کھاتے ہیں۔ حمایت یافتہ * и ?. ایک مثال: "Data*, Figure?". طے شدہ *.
  • MaxLength — ذخیرہ شدہ متغیر کی زیادہ سے زیادہ لمبائی۔ اگر کسی متغیر کی سیریلائزیشن لمبی ہے تو اسے نظر انداز کر دیا جائے گا۔ کسی بھی لمبائی کے متغیرات حاصل کرنے کے لیے 0 پر سیٹ کریں۔ طے شدہ $$$MaxStringLength.
  • Name - سیاق و سباق کا نام (اختیاری)۔
  • Description - سیاق و سباق کی تفصیل (اختیاری)۔

واپسی Ens.StringResponse с Id سیاق و سباق کو محفوظ کیا ٹیسٹ کے عمل میں، سرگرمی کو دیکھیں Save Context.

متعلقہ درخواست isc.py.msg.RestoreRequest InterSystems IRIS سے سیاق و سباق کو ازگر میں لوڈ کرتا ہے:

  • ContextId - سیاق و سباق کا شناخت کنندہ۔
  • Clear - بحال کرنے سے پہلے سیاق و سباق کو صاف کریں۔

Jupyter نوٹ بک

Jupyter نوٹ بک ایک اوپن سورس ویب ایپلیکیشن ہے جو آپ کو کوڈ، ویژولائزیشنز اور ٹیکسٹ پر مشتمل نوٹ بک بنانے اور شائع کرنے کی اجازت دیتی ہے۔ Python Gateway آپ کو BPL کے عمل کو Jupyter Notebook کی شکل میں دیکھنے اور اس میں ترمیم کرنے کی اجازت دیتا ہے۔ براہ کرم نوٹ کریں کہ عام Python 3 ایگزیکیٹر فی الحال استعمال ہوتا ہے۔

یہ ایکسٹینشن فرض کرتی ہے کہ تشریحات میں Python کوڈ ہوتا ہے اور سرگرمی کے ناموں کو پچھلے عنوانات کے طور پر استعمال کیا جاتا ہے۔ اب Jupyter Notebook میں PythonGateway کے کاروباری عمل کو تیار کرنا ممکن ہے۔ یہاں کیا ممکن ہے:

  • نئے کاروباری عمل بنائیں
  • کاروباری عمل کو حذف کریں۔
  • نئی سرگرمیاں بنائیں
  • سرگرمیاں تبدیل کریں۔
  • سرگرمیاں حذف کریں۔

یہاں ڈیمو ویڈیو. اور چند اسکرین شاٹس:

پروسیس ایکسپلورر

InterSystems IRIS میں ازگر کا گیٹ وے

پروسیس ایڈیٹر

InterSystems IRIS میں ازگر کا گیٹ وے

تنصیب

  1. آپ کو InterSystems IRIS 2019.2+ کی ضرورت ہوگی۔
  2. PythonGateway v0.8+ انسٹال کریں (صرف درکار ہے۔ isc.py.util.Jupyter, isc.py.util.JupyterCheckpoints и isc.py.ens.ProcessUtils).
  3. ذخیرے سے آبجیکٹ اسکرپٹ کوڈ کو اپ ڈیٹ کریں۔
  4. چلائیں do ##class(isc.py.util.Jupyter).Install() اور اشارے پر عمل کریں۔

ریکارڈز.

نتائج

MLToolkit ٹولز کا ایک سیٹ ہے جس کا مقصد ماڈلز اور لین دین کے ماحول کو یکجا کرنا ہے تاکہ بلٹ ماڈلز کو آسانی سے آپ کے کاروباری عمل میں استعمال کیا جا سکے۔ Python Gateway MLToolkit کا حصہ ہے اور Python زبان کے ساتھ انضمام فراہم کرتا ہے، جس سے آپ Python میں بنائے گئے کسی بھی مشین لرننگ الگورتھم کو آرکیسٹریٹ کرنے کی اجازت دیتے ہیں (بہت سے ڈیٹا سائنسدانوں کے لیے بنیادی ماحول)، متعدد ریڈی میڈ لائبریریوں کا استعمال تیزی سے موافقت پذیر، روبوٹک تجزیاتی AI/ InterSystems پلیٹ فارم IRIS پر ML حل۔

حوالہ جات

ایم ایل ٹول کٹ

MLToolkit صارف گروپ ایک نجی GitHub ذخیرہ ہے جو InterSystems کارپوریٹ GitHub تنظیم کے حصے کے طور پر بنایا گیا ہے۔ اس کا مقصد بیرونی صارفین کے لیے ہے جو Python Gateway سمیت MLToolkit اجزاء انسٹال کرتے ہیں، سیکھتے ہیں یا پہلے سے استعمال کر رہے ہیں۔ اس گروپ کے پاس مارکیٹنگ، مینوفیکچرنگ، میڈیسن اور بہت سی دوسری صنعتوں کے شعبوں میں (ماخذ کوڈ اور ٹیسٹ ڈیٹا کے ساتھ) لاگو کیے گئے کیسز ہیں۔ ایم ایل ٹول کٹ یوزر گروپ میں شامل ہونے کے لیے، براہ کرم درج ذیل پتے پر ایک مختصر ای میل بھیجیں: [ای میل محفوظ] اور اپنے خط میں درج ذیل معلومات شامل کریں:

  • GitHub صارف نام
  • تنظیم (آپ کام کرتے ہیں یا مطالعہ کرتے ہیں)
  • پوزیشن (آپ کی تنظیم میں آپ کی اصل پوزیشن، یا تو "طالب علم" یا "آزاد")۔
  • ملک

ان لوگوں کے لیے جنہوں نے آرٹیکل پڑھا ہے اور آرٹیفیشل انٹیلی جنس اور مشین لرننگ انجن تیار کرنے یا ہوسٹ کرنے کے پلیٹ فارم کے طور پر InterSystems IRIS کی صلاحیتوں میں دلچسپی رکھتے ہیں، ہم آپ کو ان ممکنہ منظرناموں پر بات کرنے کے لیے مدعو کرتے ہیں جو آپ کے انٹرپرائز کے لیے دلچسپی کے حامل ہوں۔ ہمیں آپ کی کمپنی کی ضروریات کا تجزیہ کرنے اور مشترکہ طور پر ایک ایکشن پلان طے کرنے میں خوشی ہوگی۔ ہماری AI/ML ماہر ٹیم کے ای میل ایڈریس سے رابطہ کریں - [ای میل محفوظ].

ماخذ: www.habr.com

نیا تبصرہ شامل کریں