Festivalprojekte mit RAG durchsuchen

Baut eine kleine semantische Suche, die Fragen nur mit passenden öffentlichen Festivalprojekten beantwortet.

Ideenhilfe

Beginnt mit einer Frage, die eine Stichwortsuche nur schwer beantwortet: Welche Festivalprojekte beschäftigen sich mit dem Verhältnis von KI und menschlicher Identität?

  1. Übernehmt nur öffentlich freigegebene Projekte.
  2. Zerlegt ihre deutschen und englischen Texte in durchsuchbare Abschnitte.
  3. Findet per Embedding die fünf ähnlichsten Projekte zur Frage.
  4. Gebt nur diese Treffer an ein Sprachmodell und verlangt Quellenangaben.

Zeigt zuerst die gefundenen Titel und Ähnlichkeitswerte. So bleibt sichtbar, ob ein Fehler aus der Suche oder aus der formulierten Antwort stammt. Eine kleine JSON-Datei und Kosinus-Ähnlichkeit reichen für diesen Datensatz aus; eine Vektordatenbank ist für den ersten Prototyp nicht nötig.

Ideen und Prompts

Für einen sicheren, überschaubaren Start:

Lies zuerst die Hinweise zum Ars-Electronica-Datensatz und untersuche das vorhandene Projekt. Plane eine kleine RAG-Kommandozeilenanwendung für Festivalprojekte. Verwende nur Datensätze mit public_for_hackathon === true, verknüpfe Orte über canonical_id und übernimm Links nur bei link_allowed === true. Ändere noch keinen Code.

Für Datenaufbereitung und Suche:

Erzeuge getrennte deutsche und englische Textabschnitte aus den öffentlichen Projekten. Baue daraus mit OpenRouter-Embeddings einen lokalen JSON-Index und implementiere eine Kosinus-Suche. Zeige Titel und Ähnlichkeitswert an, behalte pro Projekt nur den besten Treffer und teste Ranking, Sichtbarkeit und Link-Regeln ohne echte API-Aufrufe.

Für die Antwort mit Quellen:

Gib nur die gefundenen öffentlichen Projekte an das Sprachmodell. Weise es an, ausschließlich diese Quellen zu verwenden, sie als [1], [2] zu zitieren und fehlende Informationen offen zu benennen. Gib danach die tatsächlich verwendeten Quelldatensätze aus und ergänze einen Test für den Fall, dass die Treffer eine Frage nicht beantworten.

Vollständiger Code

Ladet den vollständigen Beispielcode über die Schaltfläche oberhalb herunter. Ihr benötigt Node.js 22 oder neuer, einen aktuellen Festivalexport und einen OpenRouter-Schlüssel. Nach dem Entpacken:

npm install
cp .env.example .env
npm run prepare-data -- /pfad/zum/notion_export.json data/documents.json
npm run build-index
npm run search -- "art about machine consciousness"
npm run ask -- "Which projects explore AI and human identity?"

Tragt OPENROUTER_API_KEY in .env ein. Das Erzeugen des Index verbraucht API-Guthaben; Suche und Antworten benötigen ebenfalls Netzwerkzugriff. Prüft die Treffer und Quellen vor einer Demo. Embedding- Ähnlichkeit ist kein Faktenbeweis und auch eine eingeschränkte RAG-Antwort kann halluzinieren.