Implemented new Japanese only text mode with WebUI toggle, utilizing a llama3.1 swallow dataset model. Next up is Japanese TTS.
This commit is contained in:
48
bot/api.py
48
bot/api.py
@@ -226,6 +226,54 @@ def calm_miku_endpoint():
|
||||
|
||||
return {"status": "ok", "message": "Miku has been calmed down"}
|
||||
|
||||
# ========== Language Mode Management ==========
|
||||
@app.get("/language")
|
||||
def get_language_mode():
|
||||
"""Get current language mode (english or japanese)"""
|
||||
return {
|
||||
"language_mode": globals.LANGUAGE_MODE,
|
||||
"available_languages": ["english", "japanese"],
|
||||
"current_model": globals.JAPANESE_TEXT_MODEL if globals.LANGUAGE_MODE == "japanese" else globals.TEXT_MODEL
|
||||
}
|
||||
|
||||
@app.post("/language/toggle")
|
||||
def toggle_language_mode():
|
||||
"""Toggle between English and Japanese modes"""
|
||||
if globals.LANGUAGE_MODE == "english":
|
||||
globals.LANGUAGE_MODE = "japanese"
|
||||
new_mode = "japanese"
|
||||
model_used = globals.JAPANESE_TEXT_MODEL
|
||||
logger.info("Switched to Japanese mode (using Llama 3.1 Swallow)")
|
||||
else:
|
||||
globals.LANGUAGE_MODE = "english"
|
||||
new_mode = "english"
|
||||
model_used = globals.TEXT_MODEL
|
||||
logger.info("Switched to English mode (using default model)")
|
||||
|
||||
return {
|
||||
"status": "ok",
|
||||
"language_mode": new_mode,
|
||||
"model_now_using": model_used,
|
||||
"message": f"Miku is now speaking in {new_mode.upper()}!"
|
||||
}
|
||||
|
||||
@app.post("/language/set")
|
||||
def set_language_mode(language: str = "english"):
|
||||
"""Set language mode to either 'english' or 'japanese'"""
|
||||
if language.lower() not in ["english", "japanese"]:
|
||||
return {"error": f"Invalid language mode '{language}'. Use 'english' or 'japanese'."}, 400
|
||||
|
||||
globals.LANGUAGE_MODE = language.lower()
|
||||
model_used = globals.JAPANESE_TEXT_MODEL if language.lower() == "japanese" else globals.TEXT_MODEL
|
||||
logger.info(f"Language mode set to {language.lower()} (using {model_used})")
|
||||
|
||||
return {
|
||||
"status": "ok",
|
||||
"language_mode": language.lower(),
|
||||
"model_now_using": model_used,
|
||||
"message": f"Miku is now speaking in {language.upper()}!"
|
||||
}
|
||||
|
||||
# ========== Evil Mode Management ==========
|
||||
@app.get("/evil-mode")
|
||||
def get_evil_mode_status():
|
||||
|
||||
Reference in New Issue
Block a user