For AI agents: the complete documentation index is available at https://docs.ovhcloud.com/fr/llms.txt, the full documentation bundle is available at https://docs.ovhcloud.com/fr/llms-full.txt, and this page is available as Markdown at https://docs.ovhcloud.com/fr/guides/public-cloud/ai-machine-learning/ai-cli-sharing-notebooks.md.

CLI - Lancer et partager un AI Notebook avec un token

Voir en Markdown

Découvrez comment partager un AI Notebooks avec un token

Objectif

Ce guide montre comment partager des notebooks avec d'autres personnes via la CLI ovhai.

Prérequis

Partager un notebook avec des personnes de votre projet Public Cloud

Lorsque vous y accédez depuis votre navigateur, vous devrez vous connecter avec vos identifiants. Toute personne se trouvant dans le même projet Public Cloud que vous aura également accès à ce notebook avec ses propres identifiants. La seule chose à faire est de lui transmettre l'URL renvoyée par la commande ovhai notebook get <notebook-id>.

Tout d'abord, créons un notebook :

$ ovhai notebook run --gpu 1 pytorch vscode
---
id: d8d809f2-717b-4b60-9881-07e6987a144d
createdAt: "2021-05-27T14:01:09.867501592Z"
updatedAt: "2021-05-27T14:01:09.867501592Z"
user: user-uY7UNgjpKBPY
spec:
  name: ""
  labels: {}
  resources:
    gpu: 1
    gpuModel: Tesla-V100S
    cpu: 13
  volumes: []
  unsecureHttp: false
  env:
    frameworkId: pytorch
    frameworkVersion: 1.8.1
    editorId: vscode
status:
  lastTransitionDate: ~
  infos: ~
  state: STARTING
  duration: 0
  url: ~
  monitoringUrl: ~
  lastStartedAt: ~
  lastStoppedAt: ~
  dataSync: []

Attendez quelques secondes que le notebook atteigne l'état RUNNING.

$ ovhai notebook get d8d809f2-717b-4b60-9881-07e6987a144d
Name:       
ID:         d8d809f2-717b-4b60-9881-07e6987a144d
Created At: 27-05-21 14:01
Updated At: 27-05-21 14:01
User:       user-uY7UNgjpKBPY
Spec:       
  Resources: 
    GPU:       1
    GPU Model: Tesla-V100S
    CPU:       13
  Volumes: 
  Labels:  
  Unsecure: false
  Env:     
    Framework ID:    pytorch
    Framework Version: 1.8.1
    Editor ID:       vscode
Status:     
  State:           RUNNING
  Infos:           
  Transitioned At: 
  Duration:        53s
  Url:             https://d8d809f2-717b-4b60-9881-07e6987a144d.notebook.gra.ai.cloud.ovh.net
  Monitoring Url:  https://monitoring.gra.ai.cloud.ovh.net/d/gpu?var-notebook=d8d809f2-717b-4b60-9881-07e6987a144d&from=1622124009877
  Transitioned At: 27-05-21 14:01

Ici, l'URL est https://d8d809f2-717b-4b60-9881-07e6987a144d.notebook.gra.ai.cloud.ovh.net. Elle sera différente pour chaque notebook que vous créerez. Toute personne de votre projet Public Cloud peut désormais accéder à cette URL depuis son navigateur avec ses propres identifiants.

Partager un notebook avec des personnes en dehors de votre projet Public Cloud

Pour permettre à des personnes en dehors de votre projet Public Cloud d'accéder à votre notebook, nous devons générer pour elles des identifiants qui ne leur donneront accès qu'aux notebooks que nous souhaitons. Ces identifiants sont appelés des App tokens et sont représentés par une longue chaîne de caractères.

La première étape consiste à générer un token qui donnera accès aux notebooks portant un label spécifié :

$ ovhai token create my-token --role read --label-selector subject=image-recognition                                                                                                                                                                                  14:16:28
Info:     
  ID:             0aa3c557-10c9-4331-b168-cd4e45abebdc
  Name:           my-token
  Label selector: subject=image-recognition
  Version:        1
  Created at:     2021-05-27 14:03:06.178808548 UTC
  Updated at:     2021-05-27 14:03:06.178808548 UTC

Token:    eyJhbGciOiJFZERTQSJ9.eyJwcm9qZWN0IjoiZDBhMzRkZDQtNzZmOC00MzhkLWJlMjQtOWJlZDg4MmIyY2RlIiwianRpIjoiMGFhM2M1NTctMTBjOS00MzMxLWIxNjgtY2Q0ZTQ1YWJlYmRjLTEiLCJpc3MiOiJ0cmFpbmluZy5haS5jbG91ZC5vdmgubmV0Iiwic3ViIjoiYmJmZTU4ZjMtODNhNS00NzBiLWFiZDUtMGY3ZTg4ZjAxYjc2In0.HuQfPBfpSOvxABtXAsSc-1RPCEZjQQFSpKZftjRy2lOcayd1xjfmR6LaRklt-68ffkQbHPcPxLQQI8WIlgyADg

Nous venons de créer un token nommé my-token, qui permettra d'accéder à tout notebook portant le label subject=image-recognition. L'option --role read signifie que les personnes utilisant ce token pourront uniquement accéder à l'adresse depuis leur navigateur, mais ne pourront pas arrêter ou supprimer le notebook. Si vous souhaitez permettre à d'autres personnes de le faire, utilisez plutôt --role operator.

Dans cet exemple, le token est :

eyJhbGciOiJFZERTQSJ9.eyJwcm9qZWN0IjoiZDBhMzRkZDQtNzZmOC00MzhkLWJlMjQtOWJlZDg4MmIyY2RlIiwianRpIjoiMGFhM2M1NTctMTBjOS00MzMxLWIxNjgtY2Q0ZTQ1YWJlYmRjLTEiLCJpc3MiOiJ0cmFpbmluZy5haS5jbG91ZC5vdmgubmV0Iiwic3ViIjoiYmJmZTU4ZjMtODNhNS00NzBiLWFiZDUtMGY3ZTg4ZjAxYjc2In0.HuQfPBfpSOvxABtXAsSc-1RPCEZjQQFSpKZftjRy2lOcayd1xjfmR6LaRklt-68ffkQbHPcPxLQQI8WIlgyADg

Ce token est unique et sera différent pour vous. Vous devriez le sauvegarder de votre côté, car il n'existe aucun moyen de le récupérer par la suite.

Créons un notebook avec le bon label et voyons comment y accéder à l'aide du token que nous venons de créer :

$ ovhai notebook run --gpu 1 --label subject=image-recognition pytorch vscode
---
id: 3cd20aa3-3f5d-49be-b027-ccaf6dd06f01
createdAt: "2021-05-27T14:03:40.505794776Z"
updatedAt: "2021-05-27T14:03:40.505794776Z"
user: user-uY7UNgjpKBPY
spec:
  name: ""
  labels:
    subject: image-recognition
  resources:
    gpu: 1
    gpuModel: Tesla-V100S
    cpu: 13
  volumes: []
  unsecureHttp: false
  env:
    frameworkId: pytorch
    frameworkVersion: 1.8.1
    editorId: vscode
status:
  lastTransitionDate: ~
  infos: ~
  state: STARTING
  duration: 0
  url: ~
  monitoringUrl: ~
  lastStartedAt: ~
  lastStoppedAt: ~
  dataSync: []

Attendez quelques secondes que le notebook atteigne l'état RUNNING.

$ ovhai notebook get 3cd20aa3-3f5d-49be-b027-ccaf6dd06f01

Name:
ID: 3cd20aa3-3f5d-49be-b027-ccaf6dd06f01 Created At: 27-05-21 14:03 Updated At: 27-05-21 14:03 User: user-uY7UNgjpKBPY Spec:
Resources: GPU: 1 GPU Model: Tesla-V100S CPU: 13 Volumes: Labels:
subject: image-recognition Unsecure: false Env:
Framework ID: pytorch Framework Version: 1.8.1 Editor ID: vscode Status:
State: RUNNING Infos:
Transitioned At: Duration: 34s Url: https://3cd20aa3-3f5d-49be-b027-ccaf6dd06f01.notebook.gra.ai.cloud.ovh.net Monitoring Url: https://monitoring.gra.ai.cloud.ovh.net/d/gpu?var-notebook=3cd20aa3-3f5d-49be-b027-ccaf6dd06f01&from=1622124160516 Transitioned At: 27-05-21 14:03

Le champ Url correspond à l'adresse à coller dans votre navigateur pour accéder au notebook. Si vous êtes déjà connecté avec votre navigateur, il affichera alors le notebook. Sinon, vous obtiendrez une page comme celle-ci :

Page de connexion OVHcloud affichant une erreur unauthorized au-dessus des champs User Name et Password avec un lien Login with token

Vous pouvez essayer dans une fenêtre de navigation privée pour obtenir la page de connexion et tester le token. Cliquer sur Login with token amène à cette page :

Page de connexion OVHcloud en mode token affichant une erreur unauthorized au-dessus du champ Token avec un lien Login with user/password

Collez le token que nous avons créé précédemment dans le champ de texte et cliquez sur Connect. Vous devriez maintenant voir votre notebook.

Vous pouvez désormais donner ce token à toute personne avec qui vous souhaitez partager le notebook.

Partager votre notebook publiquement

Partager votre notebook publiquement signifie que n'importe qui pourra accéder au notebook s'il dispose de l'URL. Ces personnes ne pourront pas arrêter ou supprimer le notebook, mais pourront le modifier, exécuter du code et accéder à vos volumes montés.

Vous aurez besoin de l'option --unsecure-http lors de la création de votre notebook pour le rendre accessible publiquement :

$ ovhai notebook run --gpu 1 --unsecure-http pytorch vscode                                                                                                                                                                                                           14:47:49
---
id: 8e3ac445-0b47-4eea-9269-19a36b7213c7
createdAt: "2021-05-27T14:06:47.356124682Z"
updatedAt: "2021-05-27T14:06:47.356124682Z"
user: user-uY7UNgjpKBPY
spec:
  name: ""
  labels: {}
  resources:
    gpu: 1
    gpuModel: Tesla-V100S
    cpu: 13
  volumes: []
  unsecureHttp: true
  env:
    frameworkId: pytorch
    frameworkVersion: 1.8.1
    editorId: vscode
status:
  lastTransitionDate: ~
  infos: ~
  state: STARTING
  duration: 0
  url: ~
  monitoringUrl: ~
  lastStartedAt: ~
  lastStoppedAt: ~
  dataSync: []

Attendez quelques secondes que le notebook atteigne l'état RUNNING.

$ ovhai notebook get 8e3ac445-0b47-4eea-9269-19a36b7213c7

Name:       
ID:         8e3ac445-0b47-4eea-9269-19a36b7213c7
Created At: 27-05-21 14:06
Updated At: 27-05-21 14:06
User:       user-uY7UNgjpKBPY
Spec:       
  Resources: 
    GPU:       1
    GPU Model: Tesla-V100S
    CPU:       13
  Volumes: 
  Labels:  
  Unsecure: true
  Env:     
    Framework ID:    pytorch
    Framework Version: 1.8.1
    Editor ID:       vscode
Status:     
  State:           RUNNING
  Infos:           
  Transitioned At: 
  Duration:        20s
  Url:             https://8e3ac445-0b47-4eea-9269-19a36b7213c7.notebook.gra.ai.cloud.ovh.net
  Monitoring Url:  https://monitoring.gra.ai.cloud.ovh.net/d/gpu?var-notebook=8e3ac445-0b47-4eea-9269-19a36b7213c7&from=1622124347366
  Transitioned At: 27-05-21 14:06

N'importe qui peut désormais accéder au notebook en collant l'URL affichée dans la sortie de ovhai notebook get dans son navigateur. Dans cet exemple, l'Url est https://8e3ac445-0b47-4eea-9269-19a36b7213c7.notebook.gra.ai.cloud.ovh.net.

Pour une formation ou une assistance technique sur la mise en œuvre de nos solutions, contactez votre commercial ou consultez la page Professional Services pour obtenir un devis et faire analyser votre projet par nos experts.

Votre avis nous intéresse !

N’hésitez pas à nous faire part de vos questions, retours et suggestions pour améliorer le service :

Cette page vous a-t-elle aidé ?