- Ein inzwischen gelöschter Beitrag, der zeigte, wie sich mit einem illegal auf Kaggle hochgeladenen Harry-Potter-Datensatz eine SQL-basierte RAG-Anwendung umsetzen lässt
- Azure SQL und Microsoft Fabric SQL DB unterstützen native Vektorsuche, und mit
langchain-sqlserver ist Vector-Store-Management möglich
- Aufbau eines Workflows zum Laden aus Azure Blob Storage, Text-Chunking, Erzeugen von Azure-OpenAI-Embeddings und Speichern der Vektoren in SQL
- Aufbau eines präzisen Q&A-Systems mithilfe von Vektor-Ähnlichkeitssuche und Metadatenfiltern
- Erweiterung auf eine GPT4o-basierte Fan-Fiction-Generierungsfunktion unter Nutzung desselben Vector Stores
- Archive.is-Link
Native Vektorunterstützung in Azure SQL und LangChain-Integration
- Für Azure SQL und Microsoft Fabric SQL DB ist eine öffentliche Preview der nativen Vektorsuchfunktion verfügbar
- Mit dem veröffentlichten Paket
langchain-sqlserver lässt sich SQL Server als LangChain Vector Store verwalten
- Installation und Beispielcode werden über PyPI und das GitHub-Repository bereitgestellt
- Durch die Kombination von Azure SQL DB, LangChain und LLMs lassen sich mit nur wenigen Codezeilen generative KI-Funktionen hinzufügen
Aufbau des Beispieldatensatzes
- Verwendet wurde ein von Kaggle bereitgestellter Textdatensatz der sieben Harry-Potter-Bände
- Enthält sieben
.txt-Dateien
- In der Demo wurde nur Band 1, Harry Potter and the Sorcerer’s Stone, verwendet
- Durch die Nutzung eines allgemein bekannten Datensatzes entsteht ein leicht verständliches Beispiel
Schritte zum Aufbau der Beispielanwendung
1. Installation des Pakets langchain-sqlserver
- Installation des Integrationspakets mit dem Befehl
pip install langchain-sqlserver==0.1.1
- Aktiviert die SQL-basierte Vector-Store-Funktionalität
2. Laden und Chunking der Daten aus Azure Blob Storage
- Die Harry-Potter-Textdatei wird in Azure Blob Storage gespeichert und von dort geladen
- Nutzung der AzureBlobStorage-Integration von LangChain
- Mit
langchain-text-splitter wird langer Text in kleinere Chunks aufgeteilt
- Dient dazu, die Begrenzung der Eingabetokens für Azure-OpenAI-Embeddings zu berücksichtigen
3. Definition von Embeddings und Chat Completion
- Mit Azure OpenAI werden Text-Embeddings für jeden Chunk erzeugt
- Es können auch verschiedene andere von LangChain bereitgestellte Embedding-Modelle verwendet werden
- Über die Konfiguration von Chat Completion wird die Verarbeitung von Fragen und Antworten vorbereitet
4. Initialisierung des Vector Stores und Einfügen von Dokumenten
- Initialisierung des Vector Stores zusammen mit AzureOpenAI-Embeddings
- Mit der Funktion
add_documents werden Dokumente und Embeddings in Azure SQL gespeichert
- Erzeugung und Speicherung von Vektoren sind mit wenig Code möglich
5. Ausführen der Ähnlichkeitssuche
- Mit der Funktion
similarity_search_with_score wird eine Vektor-Ähnlichkeitssuche ausgeführt
- Unterstützung von Metadatenfiltern
- Dadurch lässt sich der Suchbereich anhand bestimmter Metadateneigenschaften einschränken
Use Case 1: Aufbau eines Q&A-Systems
- Umsetzung eines Story-Q&A-Systems auf Basis von SQL Vector Store und LangChain
- Für eine Nutzerfrage werden die 10 relevantesten Dokumente abgerufen und daraus eine Antwort erzeugt
- Erstellung eines Retrievers auf Basis von
vector_store
- Aufbau einer Frage-Antwort-Chain mit
create_stuff_documents_chain
- Definition eines strukturierten Antwortformats mit
ChatPromptTemplate
- Bei Verwendung von
create_retrieval_chain werden die gefundenen Dokumente zusätzlich unter dem Schlüssel "context" zurückgegeben
- Unterstützt die Anzeige der verwendeten Quellen für die Antwortgenerierung
Use Case 2: Generierung von Harry-Potter-Fan-Fiction
- Umsetzung einer neuen KI-Funktion zur Fan-Fiction-Generierung auf Basis des Vector Stores
- Bei Eingabe eines Nutzerprompts werden relevante Absätze abgerufen
- Suche nach Kontextähnlichkeit auf Grundlage der im SQL-Vector-Store gespeicherten Embeddings
- Die gefundenen Absätze werden zu einem einzelnen String zusammengefasst und als Kontext für die Modelleingabe vorbereitet
- An das Modell GPT4o werden Kontext und Nutzerprompt gemeinsam übergeben
- So wird eine neue Geschichte erzeugt, die bestehende Kontextelemente aufgreift
- Zusammen mit dem generierten Ergebnis werden auch Informationen zu den referenzierten Vektorquellen angezeigt
Integriertes Nutzungsszenario
- Durch die Kombination von Q&A-System und Fan-Fiction-Generierung entsteht ein interaktives Leseerlebnis
- Für das Verständnis des Buchinhalts kann das Q&A-System genutzt werden
- Auch die Erweiterung bestimmter Szenen oder die Erzeugung alternativer Enden ist möglich
Codebeispiele und Ressourcen
- GitHub-Repository mit dem Notebook LangChain-SQL-RAG verfügbar
- Über das Feedback-Portal für Azure SQL und SQL Server können Verbesserungswünsche für die Funktionen eingereicht werden
1 Kommentare
Hacker-News-Kommentare
Dieser Vorfall bei Microsoft scheint weniger ein Urheberrechtsproblem zu sein als vielmehr ein grundlegender Zusammenbruch von Prozessen
Wenn nicht einmal Dokumente geprüft werden, fragt man sich, wie wahrscheinlich es dann ist, dass neuer Code ordentlich reviewed wird
Ich würde das Management gern fragen — für welche der drei Säulen Sicherheit, Qualität und AI-Innovation man sich entscheiden will
(Scott Hanselman, ich mag dich, aber beantworte das bitte nicht selbst, sondern gib es unbedingt an die Führungsebene weiter)
Damals konnte man Beiträge ohne Genehmigungsprozess persönlich veröffentlichen, und genau deshalb war der Blog ein natürlicherer und aufrichtigerer Ort
Dieser Vorfall wirkt eher wie das Ergebnis eines Fehlurteils einer einzelnen Person, und dass der Beitrag entfernt wurde, erscheint selbstverständlich
Wichtiger ist aber, ob das Team dieser Person Urheberrechtsverletzungen für AI-Training rechtfertigt
Das werden sich wohl nicht nur die internen Juristen, sondern auch Externe genauer ansehen
Für Code gibt es wegen möglicher schwerwiegender Probleme durch Bugs formalisierte Review-Prozesse,
aber bei Dokumentation gilt nicht dieselbe Strenge, weil sie das Verhalten der Software nicht direkt beeinflusst
Daraus, dass ein Dokument nicht geprüft wurde, folgt nicht, dass auch Code nicht geprüft wird
In großen Organisationen werden je nach Abteilung unterschiedliche Prüfungsniveaus angewendet, und bei Code ist die Kontrolle viel strenger als bei Dokumentation
Das war fast eine 1:1-Kopie einer Stack-Overflow-Antwort, und als ich das bei der Suche nach einer Fehlermeldung fand,
war ich nicht einmal wütend, sondern einfach nur enttäuscht
Microsofts Blogbeitrag verlinkte auf die Harry-Potter-Datensatzseite von Kaggle
Dort wird CC0, also Public Domain, behauptet, obwohl offensichtlich urheberrechtliche Probleme naheliegen
Noch erstaunlicher ist, dass der Beitrag seit November 2024 online war und bis jetzt nicht entfernt wurde
Als ich sie über die Funktion „Report Dataset“ melden wollte, wurde ich auf Googles Seite für Urheberrechtsmeldungen weitergeleitet
Dort wurde ich aber mit dem Hinweis abgewiesen, man könne nur melden, wenn man Rechteinhaber oder Bevollmächtigter sei
Das ist eine völlige Komödie. Dieser Datensatz ist ganz offensichtlich Diebesgut
Wahrscheinlicher ist, dass die Verantwortung bei der Person liegt, die ihn mit falscher Lizenz hochgeladen hat
Aber beim Namen „Harry Potter“ weiß eigentlich jeder, dass das nicht Public Domain ist,
daher wird Microsoft sich der Verantwortung nach gesundem Menschenverstand kaum vollständig entziehen können
Microsoft hat die betreffende Seite schließlich entfernt
Aber eine auf archive.is gespeicherte Kopie existiert noch
Er trug den Titel „RAG-App in 5 Minuten bauen“ und nutzte Azure und GPT für das Beispiel
Es ist enttäuschend, dass die Seite immer noch verwendet wird
Das AI-generierte Thumbnail des Blogs (Bildlink)
zeigte einen jungen Harry und einen Freund vor einem Microsoft-Logo. Wirklich erstaunlich
Vermutlich hätte bei einem breiteren Bild sogar die Verbindung zwischen den Waggons gefehlt
Ich mag Microsoft nicht, aber diesen Vorfall als „Piraterie-Anleitung“ zu bezeichnen, ist überzogen
Es war nur ein Beispiel für Forschungszwecke, keine Produktintegration
Auch die Überreaktionen rund um Copyright-Monopole und Fair Use sind fast peinlich
Selbst für Forschungszwecke könnte das Unternehmen problemlos eine angemessene Vergütung für die verwendeten Texte zahlen
Die meisten kommerziellen LLM-Anbieter machen sehr ähnliche Dinge
Ein Unternehmen hat damit auf einem offiziellen Blog Handlungen angeleitet, die für normale Menschen illegal wären
Anthropic hat sich in einem Urheberrechtsfall bereits auf 1,5 Milliarden Dollar geeinigt
Ich mag das aktuelle Copyright-System auch nicht, aber für Unternehmen und Privatpersonen unterschiedliche Maßstäbe sind nicht akzeptabel
Das war keine Piraterie-Anleitung, sondern einfach ein Beitrag darüber, wie man einen Datensatz in SQL einbindet
Die Verantwortung läge eher bei Kaggle oder beim Uploader Shubham Maindola
Die Quellenbeschreibung des Datensatzes — „Harry-Potter-E-Books in txt umgewandelt“ — ist allerdings ziemlich gruselig
Und trotzdem hat der Kaggle-Score 10,0, was erstaunlich ist
Der Beitrag wurde 2024 veröffentlicht, und Kaggle hostet die Daten weiterhin
Man fragt sich, warum von Rowlings Seite noch nichts unternommen wurde
Mit etwa 10.000 Downloads auf Kaggle hat der Datensatz womöglich nicht genug Aufmerksamkeit bekommen
Aber das überschreitet eindeutig eine Grenze
Früher gab es schon einmal einen AI-bezogenen Plagiatsfall bei Microsoft,
und damals wurde ebenfalls kritisiert, dass es intern praktisch keinen Prüfprozess gebe
Zugehöriger Thread: „Microsoft morged my diagram“
Mit dem Aufkommen kommerzieller Modelle hat sich die Lage nun vollständig verändert
Es gab auch schon offen verfügbare Datensätze wie Books3 mit Hunderttausenden urheberrechtlich geschützten Büchern
Die Seite wurde bereits gelöscht, aber eine Kopie im Webarchiv ist noch vorhanden
Es ist beunruhigend, dass ethisch fragwürdige Leute die Technologien der Zukunft bauen
Wenn Menschen, die so strenge Einstellungsverfahren durchlaufen haben, solche Urteile fällen,
fragt man sich, wie riskant wirklich wichtige Entscheidungen erst sein müssen
Aber das ist keine Entschuldigung
Es wirkt inzwischen wie eine Welt, in der geistiges Eigentum bedeutungslos geworden ist
Deshalb kam scherzhaft der Vorschlag, ob nicht jemand in ein „Roman-Startup investieren wolle, bei dem AI einfach Harry Potter unverändert ausgibt“
Bislang ist Humor ohnehin das Einzige, worin AI konstant gut ist
Die Ähnlichkeit zu bestehenden Produkten sei „rein zufällig“
Wenn normale Leute es tun, verlieren sie weiterhin alles und landen im Gefängnis
Wenn man sich Microsofts aktuelles Auftreten ansieht, ist dieser Vorfall überhaupt nicht überraschend
Beim Microsoft des Jahres 2026 wirkt es fast so, als würden Urheberrecht und geistiges Eigentum schlicht nicht mehr gelten