Noyaux supplémentaires#

En plus des noyaux Python, sont disponibles sous Jupyterlab les noyaux suivants:

Noyau R avec des R-Notebook#

Un noyau R est installé sous Juputerlab pour permettre la programmation avec un noyau IRKernel[8].

_images/Jupyter-R.png

Vous trouverez ci-dessous la liste des bibliotèques disponibles.

Un exemple de Notebbok R est donné ci-dessous:

Noyau C++ (cling)#

Un noyau Jupyter C++ est aussi disponible, utilisant l’interpréteur C++ interactif cling[9].

_images/Jupyter-cling.png

Vous trouverez dans les sections suivantes un exemple d’utilisation de ce noyau

Pour l’ustilisation de cuda, les fichiers d’entêtes cuda sont dans /usr/local/cuda/include et les bibliothèques sont dans /usr/local/cuda/lib64. Les outils cuda (nvcc, ..) sont dans /usr/local/cuda/bin

Jupyter AI#

Jupyter AI[6] est une extension de Jupyter qui permet d’utiliser des modèles AI génératives (LLM) dans des notebooks Ipython.

_images/JupyterAI.png

Attention pour utiliser cette extension, il faut avoir accès à un LLM (ChatGPT, Mistral, ..) et à son API. On peut aussi utiliser Ollama[7], qui est installé sur le serveur, et qui permet d’exécuter localement des modèles LLM comme ChatGPT, Mistral, LLama. La liste actuelle des modèles est donnée par la commande ollama list:

ollama list

NAME                ID              SIZE      MODIFIED    
mistral-small:latest                  8039dd90c113    14 GB     17 hours ago    
deepseek-r1:70b                       0c1615a8ca32    42 GB     46 hours ago    
deepseek-r1:70b-llama-distill-fp16    5c3319143a79    141 GB    47 hours ago    
llama3.2:latest                       a80c4f17acd5    2.0 GB    2 weeks ago     
codellama:latest                      8fdf8f752f6e    3.8 GB    2 weeks ago

La configuration sous JupyterAI avec Ollama est un peu délicate, et il est préférable d’écrire directement le fichier de configuration config.json, qui se trouve dans le répertoire de l’utilisateur: ~/.local/share/jupyter/jupyter_ai. Le type fichier config.json pour ollama est de la forme

{
    "model_provider_id": "ollama:codellama",
    "embeddings_provider_id": "ollama:nomic-embed-text",
    "send_with_shift_enter": true,
    "fields": {},
    "api_keys": {},
    "completions_model_provider_id": null,
    "completions_fields": {}
}

Une fois le modèle d’AI configuré, on peut interagir avec le modèle avec le chat JupyterAI à gauche de la fenêtre Jupyterlab.

Les principales commandes sont les suivantes:

  1. /ask pour poser une question

  2. /fix pour expliquer l’erreur dans la cellule sélectionnée

  3. /help pour l’aide

  4. /learn pour faire un apprentissage à partir de fichiers locaux dans un répertoire

On peut faire référence au contenu d’une cellule numéro num avec {In[num]} ou avec la sortie correspondante avec Out[num]} ou l’erreur {Err[num]}.

On peut aussi interagir directement dans le Notebook en utilisant les commandes magiques %%ai et %ai Au début du Notebook, on charge l’extension JupyterAI et on configure le modèle à utiliser

%load_ext jupyter_ai_magics
# p.e pour Mistral
%config AiMagics.default_language_model = "mistralai:mistral-large-latest"
%env MISTRAL_API_KEY=xxxxxxx

On peut ensuite interagir avec le mofèle LLM avec des commandes

%%ai

Vous trouverez dans la section suivante un exemple d’utilisation de JupyterAi dans un notebook IPython avec le LLM mistral.

et dans cette section la même application JupyterAI mais avec ollama. Le résultat pour la génération de code est un peu moins bon qu’avec mistral.

Liens#