Site • Documentação • Desafios e soluções • Casos de uso
A incorporação de estúdio é uma estrutura inovadora de código aberto, projetado para converter perfeitamente um modelo de incorporação combinado e um banco de dados vetorial em um mecanismo de pesquisa abrangente. Com funcionalidades internas para a coleta de cliques, melhoria contínua das experiências de pesquisa e adaptação automática do modelo de incorporação, oferece uma solução pronta para uso para um mecanismo de pesquisa de ciclo completo.
| Apoio da comunidade |
| A incorporação do estúdio cresce com o entusiasmo de nossa equipe. Sua estrela no repositório nos ajuda a continuar desenvolvendo. Junte -se a nós para atingir nosso objetivo: |
(*) - Recursos no desenvolvimento
A incorporação do estúdio é altamente personalizável, para que você possa trazer o seu próprio:
Mais sobre isso aqui.
Isenção de responsabilidade: A incorporação do estúdio não é mais um banco de dados vetorial, é uma estrutura que permite transformar seu banco de dados vetorial em um mecanismo de pesquisa com todas as nuances.
Mais sobre desafios e soluções aqui
Nossa estrutura permite que você ajuste continuamente seu modelo com base na experiência do usuário, permitindo que você forme os resultados da pesquisa para consultas de usuário mais rapidamente e com mais precisão.

Veja nossa documentação oficial.
Para experimentar o incorporação do estúdio, você pode iniciar o projeto de demonstração pré-configurado. Preparamos um conjunto de dados armazenado em um balde público S3, um emulador para cliques de usuários e um script básico para ajustar o modelo. Ao adaptá-lo aos seus requisitos, você pode iniciar o ajuste fino para o seu modelo.
Certifique -se de ter o comando docker compose version funcionando em seu sistema:
Docker Compose version v2.23.3Você também pode experimentar o comando Docker-Compompose Version. Avançando, usaremos o comando mais recente do Docker Compose Version, mas o comando Docker-Compose Version também pode funcionar com sucesso no seu sistema.
Em primeiro lugar, crie todos os serviços de incorporação de estúdio, executando o seguinte comando:
docker compose up -dDepois que todos os serviços acabarem, você pode começar a usar o Incordending Studio. Vamos simular uma sessão de pesquisa de usuários. Vamos executar um script pré-construído que invocaremos a API de incorporação do estúdio e imitará o comportamento do usuário:
docker compose --profile demo_stage_clickstream up -dApós a execução do script, você pode iniciar o ajuste fino do modelo. Execute o seguinte comando:
docker compose --profile demo_stage_finetuning up -d Isso fará fila uma tarefa processada pelo trabalhador de ajuste fino. Para buscar todas as tarefas na fila de ajuste fino, envie uma solicitação GET para o endpoint /api/v1/fine-tuning/task :
curl -X GET http://localhost:5000/api/v1/fine-tuning/taskA resposta 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 "
}
] Depois de ter o ID da tarefa, você pode monitorar diretamente o progresso do ajuste fino enviando uma solicitação GET para o endpoint /api/v1/fine-tuning/task/{task_id} :
curl -X GET http://localhost:5000/api/v1/fine-tuning/task/65844c019fa7cf0957d04758O resultado será semelhante ao que você recebeu ao consultar todas as tarefas. Para uma maneira mais conveniente de rastrear o progresso, você pode usar o MLFlow em http: // localhost: 5001.
Também é benéfico verificar os logs do fine_tuning_worker para garantir que tudo esteja funcionando corretamente. Para fazer isso, liste todos os serviços usando o comando:
docker logs embedding_studio-fine_tuning_worker-1Se tudo concluir com êxito, você verá logs semelhantes 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 !Parabéns! Você melhorou com sucesso o modelo!
Para baixar o melhor modelo, você pode usar a API de estúdio de incorporação:
curl -X GET http://localhost:5000/api/v1/fine-tuning/task/65844c019fa7cf0957d04758Se estiver tudo bem, você verá a seguinte saída:
{
"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 " ,
...
} E o campo best_model_url contém arquivo model.pth acessível.
Você pode baixar o arquivo *.th, executando o seguinte comando:
wget http://localhost:5001/get-artifact ? path=model%2Fdata%2Fmodel.pth & run_uuid=571304f0c330448aa8cbce831944cfddCongratulamo -nos com contribuições para a incorporação do estúdio!
A incorporação do Studio é licenciada sob a licença Apache, versão 2.0. Consulte a licença para o texto completo da licença.