الموقع • الوثائق • التحديات والحلول • استخدام الحالات
يعد تضمين Studio إطار عمل مبتكر مفتوح المصدر مصمم لتحويل نموذج التضمين المجمع وقاعدة بيانات المتجهات إلى محرك بحث شامل. من خلال وظائف مدمجة لجمع ClickStream ، والتحسين المستمر لتجارب البحث ، والتكيف التلقائي لنموذج التضمين ، فإنه يوفر حلًا خارج الصندوق لمحرك بحث كامل الدورة.
| دعم المجتمع |
| ينمو تضمين الاستوديو مع حماس فريقنا. نجمك على المستودع يساعدنا على الاستمرار في التطور. انضم إلينا في الوصول إلى هدفنا: |
(*) - ميزات في التطوير
استوديو التضمين قابل للتخصيص بشكل كبير ، بحيث يمكنك إحضاره:
المزيد عن ذلك هنا.
إخلاء المسئولية: تضمين استوديو ليس قاعدة بيانات متجه أخرى ، إنه إطار يتيح لك تحويل قاعدة بيانات المتجه الخاصة بك إلى محرك بحث مع جميع الفروق الدقيقة.
المزيد عن التحديات والحلول هنا
يمكّنك إطار عملنا من ضبط النموذج الخاص بك بشكل مستمر استنادًا إلى تجربة المستخدم ، مما يتيح لك تكوين نتائج بحث لاستعلامات المستخدم بشكل أسرع وأكثر دقة.

عرض وثائقنا الرسمية.
لتجربة استوديو تضمين ، يمكنك إطلاق مشروع العرض التوضيحي المسبق مسبقًا. لقد أعددنا مجموعة بيانات مخزنة في دلو S3 العام ، ومحاكي للنقرات المستخدم ، ونصًا أساسيًا لضبط النموذج. من خلال تكييفه مع متطلباتك ، يمكنك بدء ضبط النموذج الخاص بك.
تأكد من أن لديك أمر docker compose version الذي يعمل على نظامك:
Docker Compose version v2.23.3يمكنك أيضًا تجربة أمر إصدار Docker-Cormse. المضي قدمًا ، سنستخدم أمر إصدار Docker الأحدث ، ولكن قد يعمل أمر إصدار Docker-Cormse أيضًا بنجاح على نظامك.
أولاً ، طرح جميع خدمات استوديو التضمين من خلال تنفيذ الأمر التالي:
docker compose up -dبمجرد انتهاء جميع الخدمات ، يمكنك البدء في استخدام استوديو التضمين. دعنا نحاكي جلسة بحث المستخدم. سنقوم بتشغيل برنامج نصي مسبقًا من شأنه أن يستدعي واجهة برمجة تطبيقات استوديو التضمين ومحاكاة سلوك المستخدم:
docker compose --profile demo_stage_clickstream up -dبعد تنفيذ البرنامج النصي ، يمكنك بدء صقل النموذج. تنفيذ الأمر التالي:
docker compose --profile demo_stage_finetuning up -d سيؤدي ذلك إلى طابور مهمة معالجتها من قبل العامل المصرفي. لإحضار جميع المهام في قائمة انتظار الصقل ، أرسل طلبًا إلى نقطة النهاية /api/v1/fine-tuning/task :
curl -X GET http://localhost:5000/api/v1/fine-tuning/taskالجواب سيكون شيئًا مثل:
[
{
"fine_tuning_method" : " Default Fine Tuning Method " ,
"status" : " processing " ,
"created_at" : " 2023-12-21T14:30:25.823000 " ,
"updated_at" : " 2023-12-21T14:32:16.673000 " ,
"batch_id" : " 65844a671089823652b83d43 " ,
"id" : " 65844c019fa7cf0957d04758 "
}
] بمجرد حصولك على معرف المهمة ، يمكنك مراقبة التقدم الدقيق مباشرة عن طريق إرسال طلب الحصول على نقطة إلى نقطة النهاية /api/v1/fine-tuning/task/{task_id} :
curl -X GET http://localhost:5000/api/v1/fine-tuning/task/65844c019fa7cf0957d04758ستكون النتيجة مشابهة لما تلقيته عند الاستعلام عن جميع المهام. للحصول على طريقة أكثر ملاءمة لتتبع التقدم ، يمكنك استخدام MLFlow في http: // localhost: 5001.
من المفيد أيضًا التحقق من سجلات fine_tuning_worker لضمان عمل كل شيء بشكل صحيح. للقيام بذلك ، أدرج جميع الخدمات باستخدام الأمر:
docker logs embedding_studio-fine_tuning_worker-1إذا أكمل كل شيء بنجاح ، فسترى سجلات مشابهة لـ:
Epoch 2: 100% | ██████████ | 13/13 [01: 17< 00:00, 0.17it/s, v_num = 8]
[2023-12-21 14:59:05,931] [PID 7] [Thread-6] [pytorch_lightning.utilities.rank_zero] [INFO] ` Trainer.fit ` stopped: ` max_epochs=3 ` reached.
Epoch 2: 100% | ██████████ | 13/13 [01: 17< 00:00, 0.17it/s, v_num = 8]
[2023-12-21 14:59:05,975] [PID 7] [Thread-6] [embedding_studio.workers.fine_tuning.finetune_embedding_one_param] [INFO] Save model (best only, current quality: 8.426392069685529e-05)
[2023-12-21 14:59:05,975] [PID 7] [Thread-6] [embedding_studio.workers.fine_tuning.experiments.experiments_tracker] [INFO] Save model for 2 / 9a9509bf1ed7407fb61f8d623035278e
[2023-12-21 14:59:06,009] [PID 7] [Thread-6] [embedding_studio.workers.fine_tuning.experiments.experiments_tracker] [WARNING] No finished experiments found with model uploaded, except initial
[2023-12-21 14:59:16,432] [PID 7] [Thread-6] [embedding_studio.workers.fine_tuning.experiments.experiments_tracker] [INFO] Upload is finished
[2023-12-21 14:59:16,433] [PID 7] [Thread-6] [embedding_studio.workers.fine_tuning.finetune_embedding_one_param] [INFO] Saving is finished
[2023-12-21 14:59:16,433] [PID 7] [Thread-6] [embedding_studio.workers.fine_tuning.experiments.experiments_tracker] [INFO] Finish current run 2 / 9a9509bf1ed7407fb61f8d623035278e
[2023-12-21 14:59:16,445] [PID 7] [Thread-6] [embedding_studio.workers.fine_tuning.experiments.experiments_tracker] [INFO] Current run is finished
[2023-12-21 14:59:16,656] [PID 7] [Thread-6] [embedding_studio.workers.fine_tuning.experiments.experiments_tracker] [INFO] Finish current iteration 2
[2023-12-21 14:59:16,673] [PID 7] [Thread-6] [embedding_studio.workers.fine_tuning.experiments.experiments_tracker] [INFO] Current iteration is finished
[2023-12-21 14:59:16,673] [PID 7] [Thread-6] [embedding_studio.workers.fine_tuning.worker] [INFO] Fine tuning of the embedding model was completed successfully !مبروك! لقد قمت بتحسين النموذج بنجاح!
لتنزيل أفضل طراز يمكنك استخدام API للتضمين:
curl -X GET http://localhost:5000/api/v1/fine-tuning/task/65844c019fa7cf0957d04758إذا كان كل شيء على ما يرام ، فسترى الإخراج التالي:
{
"fine_tuning_method" : " Default Fine Tuning Method " ,
"status" : " done " ,
"best_model_url" : " http://localhost:5001/get-artifact?path=model%2Fdata%2Fmodel.pth&run_uuid=571304f0c330448aa8cbce831944cfdd " ,
...
} ويحتوي حقل best_model_url على ملف HTTP model.pth .
يمكنك تنزيل ملف *.pth من خلال تنفيذ الأمر التالي:
wget http://localhost:5001/get-artifact ? path=model%2Fdata%2Fmodel.pth & run_uuid=571304f0c330448aa8cbce831944cfddنرحب بالمساهمات في تضمين الاستوديو!
تم ترخيص استوديو التضمين بموجب ترخيص Apache ، الإصدار 2.0. انظر ترخيص نص الترخيص الكامل.