Sitio web • Documentación • Desafíos y soluciones • Casos de uso
Ingredding Studio es un marco innovador de código abierto diseñado para convertir perfectamente un modelo de incrustación combinado y una base de datos vectorial en un motor de búsqueda integral. Con funcionalidades incorporadas para la colección Clickstream, la mejora continua de las experiencias de búsqueda y la adaptación automática del modelo de incrustación, ofrece una solución lista para usar para un motor de búsqueda de ciclo completo.
| Apoyo comunitario |
| Incrustar el estudio crece con el entusiasmo de nuestro equipo. Su estrella en el repositorio nos ayuda a seguir desarrollando. Únase a nosotros para alcanzar nuestro objetivo: |
(*) - Características en el desarrollo
Incrustar el estudio es altamente personalizable, por lo que puede traer el suyo:
Más sobre eso aquí.
Descargo de responsabilidad: Incrustar Studio no es otra base de datos vectorial, es un marco que le permite transformar su base de datos vectorial en un motor de búsqueda con todos los matices.
Más sobre desafíos y soluciones aquí
Nuestro marco le permite ajustar continuamente su modelo en función de la experiencia del usuario, lo que le permite formar resultados de búsqueda para consultas de usuario más rápido y con mayor precisión.

Ver nuestra documentación oficial.
Para probar incrustaciones de estudio, puede lanzar el proyecto de demostración preconfigurado. Hemos preparado un conjunto de datos almacenado en un cubo público S3, un emulador para los clics del usuario y un script básico para ajustar el modelo. Al adaptarlo a sus requisitos, puede iniciar el ajuste de su modelo.
Asegúrese de que el comando docker compose version funcione en su sistema:
Docker Compose version v2.23.3También puede probar el comando de versión Docker-Compose. Avanzando, utilizaremos el comando más nuevo de la versión Docker Compose, pero el comando de versión Docker-Compose también puede funcionar con éxito en su sistema.
En primer lugar, mencione todos los servicios de estudio de incrustación ejecutando el siguiente comando:
docker compose up -dUna vez que todos los servicios estén activos, puede comenzar a usar Incrushding Studio. Simulemos una sesión de búsqueda de usuarios. Ejecutaremos un script preconstruido que invocará la API de estudio de incrustación y emulará el comportamiento del usuario:
docker compose --profile demo_stage_clickstream up -dDespués de la ejecución del script, puede iniciar el modelo ajustado. Ejecutar el siguiente comando:
docker compose --profile demo_stage_finetuning up -d Esto pondrá en cola una tarea procesada por el trabajador ajustado. Para obtener todas las tareas en la cola de ajuste, envíe una solicitud GET al punto final /api/v1/fine-tuning/task :
curl -X GET http://localhost:5000/api/v1/fine-tuning/taskLa respuesta será algo como:
[
{
"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 "
}
] Una vez que tenga el ID de tarea, puede monitorear directamente el progreso de ajuste fino enviando una solicitud GET al punto final /api/v1/fine-tuning/task/{task_id} :
curl -X GET http://localhost:5000/api/v1/fine-tuning/task/65844c019fa7cf0957d04758El resultado será similar a lo que recibió al consultar todas las tareas. Para una forma más conveniente de rastrear el progreso, puede usar mlflow en http: // localhost: 5001.
También es beneficioso verificar los registros del fine_tuning_worker para asegurarse de que todo funcione correctamente. Para hacer esto, enumere todos los servicios utilizando el comando:
docker logs embedding_studio-fine_tuning_worker-1Si todo se completa con éxito, verá registros similares a:
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 !¡Felicidades! ¡Has mejorado con éxito el modelo!
Para descargar el mejor modelo, puede usar la API de estudio de incrustación:
curl -X GET http://localhost:5000/api/v1/fine-tuning/task/65844c019fa7cf0957d04758Si todo está bien, verá la siguiente salida:
{
"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 " ,
...
} Y el campo best_model_url contiene http accesible model.pth archivo.
Puede descargar *.pth archivo ejecutando el siguiente comando:
wget http://localhost:5001/get-artifact ? path=model%2Fdata%2Fmodel.pth & run_uuid=571304f0c330448aa8cbce831944cfdd¡Damos la bienvenida a las contribuciones a la incrustación de Studio!
Incrustando Studio tiene licencia bajo la licencia Apache, versión 2.0. Vea la licencia para el texto completo de la licencia.