เว็บไซต์•เอกสารประกอบ•ความท้าทายและโซลูชัน•ใช้กรณี
Embedding Studio เป็นเฟรมเวิร์กโอเพนซอร์ซนวัตกรรมที่ออกแบบมาเพื่อแปลงรูปแบบการฝังแบบรวมและฐานข้อมูลเวกเตอร์ให้เป็นเครื่องมือค้นหาที่ครอบคลุม ด้วยฟังก์ชั่นในตัวสำหรับคอลเลกชัน Clickstream การปรับปรุงประสบการณ์การค้นหาอย่างต่อเนื่องและการปรับตัวอัตโนมัติของรูปแบบการฝังมันจึงเป็นโซลูชันนอกกรอบสำหรับเครื่องมือค้นหาเต็มวงจร
| การสนับสนุนชุมชน |
| การฝังสตูดิโอเติบโตด้วยความกระตือรือร้นของทีมของเรา ดาวของคุณในพื้นที่เก็บข้อมูล ช่วยให้เราพัฒนาต่อไป เข้าร่วมกับเราในการบรรลุเป้าหมายของเรา: |
(*) - คุณสมบัติในการพัฒนา
Embedding Studio สามารถปรับแต่งได้สูงดังนั้นคุณสามารถนำมาเอง:
เพิ่มเติมเกี่ยวกับที่นี่
ข้อจำกัดความรับผิดชอบ: Embedding Studio ไม่ใช่ฐานข้อมูลเวกเตอร์อื่น แต่เป็นเฟรมเวิร์กที่ช่วยให้คุณเปลี่ยนฐานข้อมูลเวกเตอร์ของคุณเป็นเครื่องมือค้นหาที่มีความแตกต่างทั้งหมด
ข้อมูลเพิ่มเติมเกี่ยวกับความท้าทายและการแก้ปัญหาที่นี่
เฟรมเวิร์กของเราช่วยให้คุณปรับแต่งโมเดลของคุณได้อย่างต่อเนื่องตามประสบการณ์ของผู้ใช้ช่วยให้คุณสามารถสร้างผลการค้นหาสำหรับการสืบค้นผู้ใช้ได้เร็วขึ้นและแม่นยำยิ่งขึ้น

ดูเอกสารอย่างเป็นทางการของเรา
หากต้องการลองใช้ Embedding Studio คุณสามารถเปิดตัวโครงการสาธิตที่กำหนดค่าล่วงหน้าได้ เราได้จัดทำชุดข้อมูลที่เก็บไว้ในถังสาธารณะ S3 ตัวจำลองสำหรับการคลิกผู้ใช้และสคริปต์พื้นฐานสำหรับการปรับแต่งโมเดล ด้วยการปรับให้เข้ากับความต้องการของคุณคุณสามารถเริ่มการปรับแต่งสำหรับรุ่นของคุณ
ตรวจสอบให้แน่ใจว่าคุณมีคำสั่ง docker compose version ในระบบของคุณ:
Docker Compose version v2.23.3คุณยังสามารถลองใช้คำสั่งเวอร์ชัน Docker-compose ก้าวไปข้างหน้าเราจะใช้คำสั่งเวอร์ชัน Docker Compose รุ่นใหม่ แต่คำสั่งเวอร์ชันที่ใช้งาน Docker อาจทำงานได้สำเร็จในระบบของคุณ
ประการแรกนำบริการสตูดิโอฝังทั้งหมดขึ้นมาโดยดำเนินการคำสั่งต่อไปนี้:
docker compose up -dเมื่อบริการทั้งหมดขึ้นคุณสามารถเริ่มใช้ Embedding Studio มาจำลองเซสชันการค้นหาผู้ใช้กันเถอะ เราจะเรียกใช้สคริปต์ที่สร้างไว้ล่วงหน้าซึ่งจะเรียกใช้ Embedding Studio API และเลียนแบบพฤติกรรมผู้ใช้:
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 "
}
] เมื่อคุณมี ID งานแล้วคุณสามารถตรวจสอบความคืบหน้าการปรับแต่งได้โดยตรงโดยส่งคำขอ GET ไปยังจุดสิ้นสุด /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 !ยินดีด้วย! คุณได้ปรับปรุงโมเดลให้สำเร็จแล้ว!
ในการดาวน์โหลดรุ่นที่ดีที่สุดคุณสามารถใช้ Embedding Studio 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 มีไฟล์ model.pth ที่เข้าถึงได้ HTTP
คุณสามารถดาวน์โหลดไฟล์ *.pth โดยดำเนินการคำสั่งต่อไปนี้:
wget http://localhost:5001/get-artifact ? path=model%2Fdata%2Fmodel.pth & run_uuid=571304f0c330448aa8cbce831944cfddเรายินดีต้อนรับการมีส่วนร่วมในการฝังสตูดิโอ!
Embedding Studio ได้รับใบอนุญาตภายใต้ใบอนุญาต Apache เวอร์ชัน 2.0 ดูใบอนุญาตสำหรับข้อความใบอนุญาตเต็มรูปแบบ