import requests
import json

def test_embedding_server():
    url = "http://localhost:8002/v1/embeddings"
    
    phrase = "Ceci est un test."
    
    payload = {
        "input": phrase
    }
    
    headers = {
        "Content-Type": "application/json"
    }
    
    print("Envoi de la phrase au serveur Snowflake Arctic local...")
    
    try:
        response = requests.post(url, json=payload, headers=headers)
        
        response.raise_for_status()
        
        resultat = response.json()
        
        vecteur = resultat["data"][0]["embedding"]
        tokens_utilises = resultat["usage"]["total_tokens"]
        
        print("\n[SUCCÈS] Le serveur d'embedding répond parfaitement !")
        print(f"Texte analysé : '{phrase}'")
        print(f"Nombre de tokens consommés : {tokens_utilises}")
        print(f"Dimension du vecteur : {len(vecteur)} (Attendu : 768)")
        print(f"Début du vecteur (5 premiers chiffres) : {vecteur[:5]}")
        
    except requests.exceptions.ConnectionError:
        print("\n[ERREUR] Impossible de joindre le serveur d'embedding.")
        print("Vérifie que ton Docker Compose est bien démarré avec 'docker compose up'.")
    except Exception as e:
        print(f"\n[ERREUR] Une erreur inattendue est survenue : {e}")

if __name__ == "__main__":
    test_embedding_server()