Site Web • Documentation • Défis et solutions • Cas d'utilisation
Incorcedding Studio est un cadre innovant open source conçu pour convertir de manière transparente un modèle d'incorporation combiné et une base de données vectorielle en un moteur de recherche complet. Avec des fonctionnalités intégrées pour la collection Clickstream, une amélioration continue des expériences de recherche et une adaptation automatique du modèle d'intégration, il offre une solution prête à la boîte pour un moteur de recherche à cycle complet.
| Soutien communautaire |
| Le studio d'incorporation grandit avec l'enthousiasme de notre équipe. Votre étoile sur le référentiel nous aide à continuer à se développer. Rejoignez-nous pour atteindre notre objectif: |
(*) - Caractéristiques du développement
Le studio d'incorporation est hautement personnalisable, vous pouvez donc apporter le vôtre:
En savoir plus ici.
Avertissement: Embedding Studio n'est pas une autre base de données vectorielle, c'est un cadre qui vous permet de transformer votre base de données vectorielle en un moteur de recherche avec toutes les nuances.
En savoir plus sur les défis et les solutions ici
Notre framework vous permet de réprimer continuellement votre modèle en fonction de l'expérience utilisateur, vous permettant de former des résultats de recherche pour les requêtes utilisateur plus rapidement et plus précisément.

Consultez notre documentation officielle.
Pour essayer Embedding Studio, vous pouvez lancer le projet de démonstration préconfiguré. Nous avons préparé un ensemble de données stocké dans un seau S3 public, un émulateur pour les clics d'utilisateur et un script de base pour affiner le modèle. En l'adaptant à vos exigences, vous pouvez lancer un réglage fin pour votre modèle.
Assurez-vous que la commande docker compose version fonctionne sur votre système:
Docker Compose version v2.23.3Vous pouvez également essayer la commande Docker-Compose Version. À l'avenir, nous utiliserons la nouvelle commande Docker Compose Version, mais la commande Docker-Compose Version peut également fonctionner avec succès sur votre système.
Tout d'abord, élevez tous les services de studio d'intégration en exécutant la commande suivante:
docker compose up -dUne fois que tous les services sont en place, vous pouvez commencer à utiliser Embedding Studio. Simulons une session de recherche d'utilisateurs. Nous allons exécuter un script pré-construit qui invoquera l'API d'intégration du studio et imitera le comportement de l'utilisateur:
docker compose --profile demo_stage_clickstream up -dAprès l'exécution du script, vous pouvez initier le modèle de réglage fin. Exécutez la commande suivante:
docker compose --profile demo_stage_finetuning up -d Cela fera la file d'attente d'une tâche traitée par le travailleur final. Pour récupérer toutes les tâches dans la file d'attente de finition, envoyez une demande GET au point de terminaison /api/v1/fine-tuning/task :
curl -X GET http://localhost:5000/api/v1/fine-tuning/taskLa réponse sera quelque chose comme:
[
{
"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 "
}
] Une fois que vous avez l'ID de tâche, vous pouvez suivre directement la progression du réglage fin en envoyant une demande GET au point de terminaison /api/v1/fine-tuning/task/{task_id} :
curl -X GET http://localhost:5000/api/v1/fine-tuning/task/65844c019fa7cf0957d04758Le résultat sera similaire à ce que vous avez reçu lors de l'interrogation de toutes les tâches. Pour un moyen plus pratique de suivre les progrès, vous pouvez utiliser mlflow sur http: // localhost: 5001.
Il est également avantageux de vérifier les journaux du fine_tuning_worker pour s'assurer que tout fonctionne correctement. Pour ce faire, énumérez tous les services à l'aide de la commande:
docker logs embedding_studio-fine_tuning_worker-1Si tout se termine avec succès, vous verrez des journaux similaires à:
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 !Félicitations! Vous avez réussi à améliorer le modèle!
Pour télécharger le meilleur modèle, vous pouvez utiliser API Embedding Studio:
curl -X GET http://localhost:5000/api/v1/fine-tuning/task/65844c019fa7cf0957d04758Si tout va bien, vous verrez la sortie suivante:
{
"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 " ,
...
} Et le champ best_model_url contient un fichier HTTP accessible model.pth .
Vous pouvez télécharger le fichier * .pth en exécutant la commande suivante:
wget http://localhost:5001/get-artifact ? path=model%2Fdata%2Fmodel.pth & run_uuid=571304f0c330448aa8cbce831944cfddNous saluons les contributions à Embedding Studio!
Le studio d'incorporation est concédé sous licence Apache, version 2.0. Voir la licence pour le texte complet de licence.