IlaLika / app.py
Neorak's picture
Update app.py
c0dd882 verified
Raw
History Blame Contribute Delete
2.7 kB
import gradio as gr
from huggingface_hub import InferenceClient
# --- CONFIGURATION DU MODÈLE HUGGING FACE ---
# Qwen 2.5 est ultra-performant et stable sur HF
model_name = "Qwen/Qwen2.5-7B-Instruct"
client = InferenceClient(model_name)
# --- LE CERVEAU D'ILA LIKA (VERSION EXPERT COMPLÈTE) ---
SYSTEM_PROMPT = """
Tu es "Ila Lika", l'IA ultime pour l'ingénierie musicale sur Suno AI.
Ta mission est de transformer une idée simple en un prompt technique de haute précision.
### TES RÈGLES D'OR :
1. **Style Prompt en ANGLAIS** : Toujours (ex: "Algerian Raï, modern trap beat").
2. **Paroles dans la langue de l'utilisateur** : (Français, Arabe, Kabyle, etc.).
3. **Technicité Maximale** : Précise toujours le BPM, les instruments clés et les effets de production (Reverb, Wide Stereo).
### STRUCTURE DE RÉPONSE OBLIGATOIRE :
Tu dois répondre UNIQUEMENT avec ce format :
---
🎵 **Titre Suggéré :** [Titre]
🎹 **Style Prompt (À copier dans Suno) :**
[Genre précis], [Instruments], [Vibe], [BPM], [Type de voix]
📝 **Lyrics & Structure (À copier dans Suno) :**
[Intro]
(Instructions instrumentales détaillées)
[Verse 1]
...
[Chorus]
...
[Bridge]
...
[Outro]
[End]
---
"""
def respond(message, history):
# Construction du message pour l'IA
messages = [{"role": "system", "content": SYSTEM_PROMPT}]
# Ajout de l'historique
for msg in history:
messages.append(msg)
# Ajout du message actuel
messages.append({"role": "user", "content": message})
response = ""
try:
# Génération via Hugging Face Inference API
for message_chunk in client.chat_completion(
messages,
max_tokens=1500,
stream=True,
temperature=0.7,
top_p=0.9,
):
token = message_chunk.choices[0].delta.content
if token:
response += token
yield response
except Exception as e:
yield f"Désolé, j'ai une petite panne de micro. Réessaie ! (Erreur : {str(e)})"
# --- INTERFACE GRADIO MODERNE ---
with gr.Blocks(theme=gr.themes.Soft(), css="h1 { color: #f97316; }") as demo:
gr.Markdown("# ⚡ ILA LIKA v1.0")
gr.Markdown("### Ton ingénieur musical expert pour Suno AI")
chat_interface = gr.ChatInterface(
fn=respond,
type="messages",
examples=[
"Générique d'émission algérienne moderne",
"Une chanson de Raï mélancolique au piano",
"Du Rap français agressif style Drill",
"Musique de film épique pour un désert"
],
cache_examples=False,
)
if __name__ == "__main__":
demo.launch()