Add hands-free PWA mode and systemd service
This commit is contained in:
13
app.py
13
app.py
@@ -25,6 +25,7 @@ CHAT_MODEL = "llama-3.3-70b-versatile"
|
||||
STT_MODEL = "whisper-large-v3-turbo"
|
||||
TTS_MODEL = "canopylabs/orpheus-v1-english"
|
||||
TTS_VOICE = "troy"
|
||||
TTS_PROVIDER = os.getenv("TTS_PROVIDER", "browser").lower()
|
||||
|
||||
app = Flask(__name__, static_folder=str(STATIC_DIR), static_url_path="")
|
||||
app.secret_key = os.getenv("APP_SECRET", "dev-secret-change-me")
|
||||
@@ -42,6 +43,7 @@ Quand tu as toutes les informations pour envoyer un email, reponds uniquement av
|
||||
{"action": "envoyer_email", "destinataire": "...", "sujet": "...", "corps": "..."}
|
||||
|
||||
Pour tout le reste, reponds en francais naturel, avec des phrases courtes.
|
||||
N'utilise pas d'anglais sauf si l'utilisateur le demande explicitement.
|
||||
En mode voiture, sois bref : une ou deux phrases maximum."""
|
||||
|
||||
|
||||
@@ -170,7 +172,7 @@ def traiter_message(session_id, texte, avec_audio=False):
|
||||
email_sent = True
|
||||
|
||||
audio_url = None
|
||||
if avec_audio:
|
||||
if avec_audio and TTS_PROVIDER == "groq":
|
||||
audio_url = generer_audio(reponse)
|
||||
|
||||
return {
|
||||
@@ -211,13 +213,14 @@ def chat():
|
||||
def voice():
|
||||
fichier = request.files.get("audio")
|
||||
session_id = request.form.get("sessionId") or "default"
|
||||
avec_audio = request.form.get("withAudio", "false").lower() == "true"
|
||||
|
||||
if not fichier:
|
||||
return jsonify({"error": "Audio manquant"}), 400
|
||||
|
||||
try:
|
||||
texte = transcrire_audio(fichier).strip()
|
||||
resultat = traiter_message(session_id, texte, avec_audio=True)
|
||||
resultat = traiter_message(session_id, texte, avec_audio=avec_audio)
|
||||
resultat["transcript"] = texte
|
||||
return jsonify(resultat)
|
||||
except Exception as e:
|
||||
@@ -234,4 +237,8 @@ def reset():
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
app.run(host="0.0.0.0", port=int(os.getenv("PORT", "8080")), debug=True)
|
||||
app.run(
|
||||
host="0.0.0.0",
|
||||
port=int(os.getenv("PORT", "8080")),
|
||||
debug=os.getenv("FLASK_DEBUG", "0") == "1",
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user