import sys
import json
import google.generativeai as genai
import os

# --- CONFIGURATION ---
# REMETTEZ VOTRE CLÉ ICI
API_KEY = "AIzaSyCbvWkUueTjWt21gfEFNzWuiFJIUctqSRU" 
# L'URI QUE VOUS AVEZ DÉJÀ (Celle du fichier 'feed.tsv' chez Google)
EXISTING_FILE_URI = "https://generativelanguage.googleapis.com/v1beta/files/i0qrcpm41tns"

# Récupération de l'argument (la question envoyée par Laravel)
if len(sys.argv) < 2:
    print(json.dumps({"error": "Aucune question fournie"}))
    sys.exit()

question_user = sys.argv[1]

try:
    genai.configure(api_key=API_KEY)
    
    # On se connecte juste au fichier distant (0 RAM locale)
    remote_file = genai.get_file("files/i0qrcpm41tns") # ID extrait de l'URI

    system_instruction = """
    Tu es l'assistant de PrixAlgerie.com.
    Outil : Tu as accès au fichier feed distant (produits).
    RÈGLES :
    1. Utilise Python pour lire le fichier (pd.read_csv(..., sep='\\t')).
    2. Nettoie la colonne 'price' (vire ' DZD') avant de filtrer.
    3. Affiche : Titre, Prix, Lien.
    4. Réponds en texte brut sans formatage Markdown complexe.
    """

    model = genai.GenerativeModel(
        model_name="gemini-1.5-flash",
        tools='code_execution',
        system_instruction=system_instruction
    )

    # On lance une session courte
    chat = model.start_chat(history=[{"role": "user", "parts": [remote_file]}])
    
    response = chat.send_message(question_user)
    
    # On renvoie la réponse en JSON pour Laravel
    print(json.dumps({"reponse": response.text}))

except Exception as e:
    # En cas d'erreur, on renvoie du JSON aussi
    print(json.dumps({"error": str(e)}))