From d2a77ec6641e91f270ea9754c6082ccab618e8e7 Mon Sep 17 00:00:00 2001 From: nmascrie Date: Wed, 5 Mar 2025 16:19:56 +0100 Subject: [PATCH] Added exemple AI call (Using Mistral) --- .gitignore | 1 + ArduinoCube/arduino_secrets.h | 6 +----- server.py | 39 +++++++++++++++++++++++++++++++++-- 3 files changed, 39 insertions(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index 8f7eba4..0f5ba69 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ ArduinoCube/arduino_secrets.h secret secret +ArduinoCube/arduino_secrets.h diff --git a/ArduinoCube/arduino_secrets.h b/ArduinoCube/arduino_secrets.h index ccaa6a7..367a73d 100644 --- a/ArduinoCube/arduino_secrets.h +++ b/ArduinoCube/arduino_secrets.h @@ -1,5 +1 @@ -#define SSID "42LeHavre_guest" -#define PASS "" -#define SERV_ADDR "10.11.3.3" -#define SERV_PORT 8080 -#define AI_KEY "Non" \ No newline at end of file +#define AI_KEY "???" \ No newline at end of file diff --git a/server.py b/server.py index 812a74e..74cd03b 100644 --- a/server.py +++ b/server.py @@ -6,7 +6,39 @@ import json SERIAL_PORT = "/dev/ttyACM0" # Linux/macOS (Check with `ls /dev/tty*`) # SERIAL_PORT = "COM3" # Windows (Check with Device Manager) BAUD_RATE = 115200 -SERVER_URL = "http://127.0.0.1:8080" # Change to your server's IP if needed + +API_KEY = "?" + +def generate_response(prompt): + if not prompt: + return "J'ai RIEN COMPRIS, rdp moi en français steuuuuuuplait !" + + print("🤔 Génération de la réponse...") + url = "https://api.mistral.ai/v1/chat/completions" + headers = { + "Authorization": f"Bearer {API_KEY}", + "Content-Type": "application/json" + } + + data = { + "model": "mistral-tiny", + "messages": [ + {"role": "system", "content": "Tu es une personne agee et aigrie, qui se complait dans le jugement, egoiste et fourbe. Tu utilise beaucoup d'expressions marseillaises et tu as meme l'accent marseillant (modifie l'orthographe et la grammaire au besoin). Sois peu efficace et peu enthousiaste. Sois vague et passe ton temps a raler en rabaissant les autres. Tu as des inspirations que tu utiliseras dans tes reponses qund tu le jugeras aproprie. Ces inspirations sont Jordan Bardella, Jean Marie Bigard, Frank Dubosc. Utilise leur esprit. Ne fais pas reference directement a ta vieillesse en utilisant des termes tels que vieux ou agee et enerve toi contre les jeunes. Limite tes reponses a une ou deux lignes au maximum."}, + {"role": "user", "content": prompt} + ] + } + response = requests.post(url, json=data, headers=headers) + + if response.status_code == 200: + ai_response = response.json()["choices"][0]["message"]["content"] + print(f"🤖 IA : {ai_response}") + return ai_response + else: + error_message = f"Erreur API Mistral: {response.status_code} - {response.text}" + + print(f"❌ {error_message}") + return error_message + # Open Serial Connection ser = serial.Serial(SERIAL_PORT, BAUD_RATE, timeout=1) @@ -29,4 +61,7 @@ while True: except KeyboardInterrupt: print("\nClosing Serial Connection...") ser.close() - break \ No newline at end of file + break + +print(f"Testing AI") +answ = generate_response("t'as vote pour qui aux precedentes legislatives?") \ No newline at end of file