Added exemple AI call (Using Mistral)

This commit is contained in:
nmascrie 2025-03-05 16:19:56 +01:00
parent 8d569dc5e8
commit d2a77ec664
3 changed files with 39 additions and 7 deletions

1
.gitignore vendored
View File

@ -1,3 +1,4 @@
ArduinoCube/arduino_secrets.h
secret
secret
ArduinoCube/arduino_secrets.h

View File

@ -1,5 +1 @@
#define SSID "42LeHavre_guest"
#define PASS ""
#define SERV_ADDR "10.11.3.3"
#define SERV_PORT 8080
#define AI_KEY "Non"
#define AI_KEY "???"

View File

@ -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
break
print(f"Testing AI")
answ = generate_response("t'as vote pour qui aux precedentes legislatives?")