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.")