Website • Dokumentation • Herausforderungen und Lösungen • Anwendungsfälle
Das Einbettungsstudio ist ein innovatives Open-Source-Framework, mit dem ein kombiniertes Einbettungsmodell und eine Vektor-Datenbank nahtlos in eine umfassende Suchmaschine umgewandelt werden können. Mit integrierten Funktionen für die ClickStream-Sammlung, die kontinuierliche Verbesserung der Sucherlebnisse und die automatische Anpassung des Einbettungsmodells bieten sie eine außergewöhnliche Lösung für eine Suchmaschine in voller Zyklus.
| Unterstützung der Gemeinschaft |
| Das Einbettungsstudio wächst mit der Begeisterung unseres Teams. Ihr Stern im Repository hilft uns, sich weiter zu entwickeln. Erreichen Sie mit uns unser Ziel: |
(*) - Merkmale in der Entwicklung
Das Einbettungsstudio ist sehr anpassbar, sodass Sie Ihre eigenen mitbringen können:
Mehr dazu hier.
Haftungsausschluss: Das Einbetten von Studio ist keine weitere Vektor -Datenbank, sondern ein Framework, mit dem Sie Ihre Vektordatenbank mit allen Nuancen in eine Suchmaschine umwandeln können.
Mehr über Herausforderungen und Lösungen hier
Unser Framework ermöglicht es Ihnen, Ihr Modell basierend auf Benutzererfahrungen kontinuierlich zu optimieren, sodass Sie Suchergebnisse für Benutzeranfragen schneller und genauer aufnehmen können.

Sehen Sie sich unsere offizielle Dokumentation an.
Um ein Einbettungsstudio auszuprobieren, können Sie das vorkonfigurierte Demonstrationsprojekt starten. Wir haben einen Datensatz vorbereitet, der in einem öffentlichen S3-Bucket, einem Emulator für Benutzerklicks und ein grundlegendes Skript zur Feinabstimmung des Modells gespeichert ist. Durch die Anpassung an Ihre Anforderungen können Sie eine Feinabstimmung für Ihr Modell einleiten.
Stellen Sie sicher, dass der Befehl docker compose version in Ihrem System funktioniert:
Docker Compose version v2.23.3Sie können auch den Befehl Docker-Compose-Version ausprobieren. In Zukunft werden wir den Befehl neuer Docker Compose-Version verwenden, aber der Befehl docker-compose-Version funktioniert möglicherweise auch erfolgreich auf Ihrem System.
Geben Sie zunächst alle Einbettungsstudio -Dienste an, indem Sie den folgenden Befehl ausführen:
docker compose up -dSobald alle Dienste abgelaufen sind, können Sie beginnen, Studio einzubetten. Lassen Sie uns eine Benutzersuche simulieren. Wir werden ein vorgefertigtes Skript ausführen, das die Einbettungs-Studio-API aufruft und das Benutzerverhalten emuliert:
docker compose --profile demo_stage_clickstream up -dNach der Skriptausführung können Sie die Feinabstimmung der Modell initiieren. Führen Sie den folgenden Befehl aus:
docker compose --profile demo_stage_finetuning up -d Dies wird eine vom Feinabstimmung bearbeitete Aufgabe anstellen. Senden Sie eine Get-Anfrage an den Endpoint /api/v1/fine-tuning/task :
curl -X GET http://localhost:5000/api/v1/fine-tuning/taskDie Antwort wird so etwas wie:
[
{
"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 "
}
] Sobald Sie die Aufgaben-ID haben, können Sie den Fortschritt der Feinabstimmung direkt überwachen, indem Sie eine GET-Anforderung an den Endpunkt /api/v1/fine-tuning/task/{task_id} senden:
curl -X GET http://localhost:5000/api/v1/fine-tuning/task/65844c019fa7cf0957d04758Das Ergebnis ähnelt dem, was Sie bei der Abfrage aller Aufgaben erhalten haben. Für eine bequemere Möglichkeit, den Fortschritt zu verfolgen, können Sie MLFlow unter http: // localhost: 5001 verwenden.
Es ist auch vorteilhaft, die Protokolle des fine_tuning_worker zu überprüfen, um sicherzustellen, dass alles richtig funktioniert. Listen Sie dazu alle Dienste mit dem Befehl auf:
docker logs embedding_studio-fine_tuning_worker-1Wenn alles erfolgreich abgeschlossen ist, werden Sie Protokolle ähneln wie:
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 !Glückwunsch! Sie haben das Modell erfolgreich verbessert!
Um das beste Modell herunterzuladen, können Sie die Einbettungsstudios -API verwenden:
curl -X GET http://localhost:5000/api/v1/fine-tuning/task/65844c019fa7cf0957d04758Wenn alles in Ordnung ist, sehen Sie die folgende Ausgabe:
{
"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 " ,
...
} Und best_model_url field enthält http aufgreifer model.pth -Datei.
Sie können die Datei *.PH -Datei herunterladen, indem Sie den folgenden Befehl ausführen:
wget http://localhost:5001/get-artifact ? path=model%2Fdata%2Fmodel.pth & run_uuid=571304f0c330448aa8cbce831944cfddWir begrüßen Beiträge zum Einbettungsstudio!
Das Einbettungsstudio ist unter der Apache -Lizenz, Version 2.0, lizenziert. Siehe Lizenz für den vollständigen Lizenztext.