DEV Community

Karim
Karim

Posted on • Originally published at deep75.Medium on

IA: ChatGPT comme terrain de jeu ou de test pour Kubernetes …


https://openai.com/blog/chatgpt

ChatGPT est un prototype d’agent conversationnel lancé en novembre 2022 par OpenAI, une société co-créée par Elon Musk et Sam Altman en 2015 et valorisée à 29 milliards de dollars américains en 2023.

Il s’agit d’un agent conversationnel à intelligence artificielle ou « chatbot », autrement dit un assistant virtuel qui utilise les nouvelles technologies pour dialoguer avec ses utilisateurs. Disponible dans de multiples langues comme le français, son robot conversationnel est capable de répondre à des questions-tests dans un langage très proche de celui d’un humain …

J’ouvre une session sur le webchat de ChatGPT ici :

https://chat.openai.com/chat

Introducing ChatGPT

avec ce modèle payant et un modèle d’accès gratuit en fonction de la charge et des disponibilités de la plateforme …

Introducing ChatGPT Plus

D’ailleurs voici comment il se présente lui même :

Il se base donc sur un modèle linguistique de troisième génération nommé GPT-3 et qu’il présente de cette manière :

GPT-3 (pour “Generative Pre-trained Transformer 3”) est un modèle de langage de traitement automatique du langage naturel (NLP) développé par OpenAI. C’est l’un des plus grands et des plus avancés modèles de langage jamais créés, avec plus de 175 milliards de paramètres.

GPT-3 est entraîné sur une énorme quantité de données textuelles afin de prédire les mots suivants dans une séquence de texte donnée. Cela lui permet de générer automatiquement des réponses à des questions, de produire du texte cohérent et bien structuré, de compléter des phrases, de traduire des langues et d’effectuer d’autres tâches de traitement du langage naturel.

Le modèle est capable de comprendre et de générer un langage naturel qui peut sembler étonnamment humain et est capable de résoudre de nombreux problèmes de traitement du langage naturel avec une grande précision. GPT-3 a de nombreuses applications potentielles dans le domaine de l’intelligence artificielle et est utilisé dans une variété de domaines, tels que l’automatisation des processus de travail, la création de chatbots, la traduction automatique, l’analyse de sentiments et la recherche d’informations en ligne.

GPT-3 - Wikipédia


Architecture du modèle GPT

Rapide test pour démontrer qu’il peut se révéler un terrain de test pour Kubernetes. Pöur cela je me base sur ces deux excellents articles :

Building A Virtual Machine inside ChatGPT

How I turned ChatGPT into Kubernetes and Helm Playground in 5 Minutes

Moi : Hello GPT. I want you to act as a Mac terminal. I will type some commands and you’ll reply with what the terminal should show. Please show the result using the Mac terminal. When I tell you something, I will do so by putting text inside curly brackets {like this}. Please don’t write an explanation just the command result is sufficient. My first command is ps aux.

Il a bien lancé le terminal avec éxecution de la commande transmise. Ensuite installation d’un cluster Kubernetes local via k0s et ce script :

k0s | Kubernetes distribution for bare-metal, on-prem, edge, IoT

{curl -sSLf https://get.k0s.sh | sh
k0s install controller --single
k0s start
k0s status
k0s kubectl get nodes -o wide}
Enter fullscreen mode Exit fullscreen mode

Puis installation de helm3 avec ChatGPT :

{curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash}
Enter fullscreen mode Exit fullscreen mode

Installing Helm

Suivi de Nginx en tant que contrôleur d’entrée dans ce cluster Kubernetes via Helm :

Installation with Helm

{helm repo add nginx-stable https://helm.nginx.com/stable
helm repo update
helm install my-release nginx-stable/nginx-ingress}
Enter fullscreen mode Exit fullscreen mode

Je vérifie avec ChatGPT que le contrôleur d’entrée avec Nginx est bien présent :

{k0s kubectl get pods -n default -l app.kubernetes.io/name=nginx-ingress-controller}
Enter fullscreen mode Exit fullscreen mode

Plus globalement :

{k0s kubectl get po,svc,ing -A}
Enter fullscreen mode Exit fullscreen mode

Déploiement à ce stade du sempiternel démonstrateur FC avec ChatGPT dans ce cluster k0s :

{cat <<EOF | k0S kubectl apply -f -
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: fcdemo3
  labels:
    app: fcdemo3
spec:
  replicas: 4
  selector:
    matchLabels:
      app: fcdemo3
  template:
    metadata:
      labels:
        app: fcdemo3
    spec:
      containers:
      - name: fcdemo3
        image: mcas/franceconnect-demo2:latest
        ports:
        - containerPort: 3000
---
apiVersion: v1
kind: Service
metadata:
  name: fcdemo-service
spec:
  type: ClusterIP
  selector:
    app: fcdemo3
  ports:
  - protocol: TCP
    port: 80
    targetPort: 3000
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: fcdemo-ingress
spec:
  defaultBackend:
    service:
      name: fcdemo-service
      port:
        number: 80
EOF
kubectl get po,svc,ing}
Enter fullscreen mode Exit fullscreen mode

ChatGPT peut enregister dans ce terrain de jeu que le démonstrateur FC répond localement :

{curl http://10.111.209.157:80}
Enter fullscreen mode Exit fullscreen mode

Je pousse le vice avec l’installation via Brew de Ngrok :

{brew install ngrok/ngrok/ngrok
ngrok http 10.111.209.157:80}
Enter fullscreen mode Exit fullscreen mode

et ChatGPT va simuler cette réponse “externe” avec Ngrok censé exposer le démonstrateur FC sur Internet :

{curl -k https://e7f2e68e.ngrok.io}
Enter fullscreen mode Exit fullscreen mode

cela reste une simulation car si je rentre cette URL, je n’obtiendrais pas de réponse (et heureusement par sécurité) 😄 …

J’aurais pu me contenter de l’installation d’un moteur Docker via Brew encore une fois …

Docker for Mac: Homebrew Step-by-Step Tutorial | Cprime

{brew cask install docker
docker --version}
Enter fullscreen mode Exit fullscreen mode

et l’exécution directe du conteneur Docker pour le démonstrateur FC :

{docker run -d -p 8080:3000 mcas/franceconnect-demo2:latest}
Enter fullscreen mode Exit fullscreen mode

Et le démonstrateur répond selon la simulation de ChatGPY via le port définit dans cette commande …

Pourtant au final, ChatGPT tenait à rappeler cette chose importante :

Et comme toujours, on le croit sur parole 😁😉 …

À suivre !

Top comments (0)