from sentence_transformers import SentenceTransformer
from qdrant_client import QdrantClient
from qdrant_client.models import Distance, VectorParams, PointStruct

# Modell laden (lokal oder aus Hugging Face, wenn Internet erlaubt)
model = SentenceTransformer("all-MiniLM-L6-v2")

# Qdrant-Client konfigurieren (lokaler Docker-Container)
qdrant = QdrantClient(host="localhost", port=6333)

# Collection erstellen (falls nicht vorhanden)
collection_name = "karate-doku"
if not qdrant.collection_exists(collection_name):
    qdrant.recreate_collection(
        collection_name=collection_name,
        vectors_config=VectorParams(size=384, distance=Distance.COSINE)
    )

# Beispiel-Dokumente
texts = [
    "Mae-geri ist ein gerader Tritt nach vorne.",
    "Der Hikite ist entscheidend für die Stabilisierung der Technik.",
    "Ein Kumite-Drill verbessert die Reaktionsgeschwindigkeit."
]

# Embeddings erzeugen
embeddings = model.encode(texts).tolist()

# Einfügen in Qdrant
qdrant.upsert(
    collection_name=collection_name,
    points=[
        PointStruct(id=i, vector=embedding, payload={"text": texts[i]})
        for i, embedding in enumerate(embeddings)
    ]
)

print("Daten erfolgreich eingefügt.")
