Bildungsgutschein schon parat? Beschleunige deine Bewerbung: Jetzt melden

Jetzt melden
DE|EN

Dish RAG / Food RAG

DishRAG ist ein Full-Stack-RAG-Chatbot (Retrieval-Augmented Generation) zum Erkunden von Kochrezepten. Nutzerinnen und Nutzer chatten in natürlicher Sprache, der Assistent holt passende Rezepte aus einem Postgres/pgvector-Speicher, beantwortet Fragen dazu und kann per Tool Calling in ihrem Namen suchen, nachschlagen und Favoriten verwalten.

Über den Chat hinaus führt die App einen vollständigen Gesprächsverlauf pro Person, mit Umbenennen, Anheften und Löschen von Unterhaltungen sowie Titeln, die automatisch aus der ersten Nachricht erzeugt werden. Eine eigene Rezeptansicht bietet eine seitenweise, sortierbare und durchsuchbare Liste mit Autovervollständigung sowie eine persönliche Favoritensammlung.

Die Authentifizierung unterstützt lokale Anmeldung per E-Mail und Passwort mit JWT sowie OAuth2 über Google und GitHub. Statt auf ein gemeinsames OpenAI-Budget zu setzen, bringt jede Person ihren eigenen OpenAI-API-Schlüssel mit, der verschlüsselt gespeichert wird; das Backend baut daraus einen nutzerspezifischen Chat- und Embedding-Client, sodass keine gemeinsame LLM-Abrechnung entsteht.

Das Backend basiert auf Java 25, Spring Boot 4 und Spring AI für OpenAI-Chat und Embeddings, gestützt auf PostgreSQL mit pgvector für die semantische Suche. Das Frontend ist eine React-19-Anwendung mit TypeScript, gebaut mit Vite und ergänzt um TanStack Query, Zustand und Tailwind CSS. Ausgeliefert wird alles als ein einziges Docker-Image: Ein mehrstufiger Build bündelt das Frontend als statische Ressourcen in das Backend-Jar, deployt über eine CI/CD-Pipeline mit GitHub Actions.

Case Study

Ziel von DishRAG ist es, die Rezeptsuche natürlicher, intelligenter und persönlicher zu machen. Statt sich allein auf klassische Stichwortsuche zu verlassen, lassen sich Fragen in Alltagssprache stellen und passende Rezepte über KI-gestützte semantische Suche finden. Das Projekt will zugleich eine vollständige RAG-Architektur demonstrieren, die Vektorsuche, LLM-Tool-Calling, Gesprächsgedächtnis und nutzerspezifische Personalisierung verbindet. Durch das Verwalten von Favoriten, das Durchstöbern von Rezepten und den gespeicherten Gesprächsverlauf bietet DishRAG ein rundes Nutzererlebnis. Ein weiteres zentrales Ziel: Nutzerinnen und Nutzern die Kontrolle über KI-Kosten und Datenschutz zu geben, indem sie ihre eigenen, verschlüsselt hinterlegten OpenAI-API-Schlüssel verwenden.

The Team

  • Ilham MuhammadPortfolio

    Wir sind Fullstack-Engineers mit über drei Jahren Erfahrung im Bau von Webanwendungen und in der Arbeit mit unterschiedlichen Technologien. Wir haben Freude daran, Ideen in funktionierende Produkte zu verwandeln, Probleme zu lösen und dabei Neues zu lernen. Vom Frontend bis zum Backend bringen wir uns gern in den gesamten Prozess ein und machen Dinge einfach, nützlich und angenehm in der Anwendung.

    SocialsLinkedIn
  • Muhammad Faisal Ibnu PradyPortfolio

    Wir sind Fullstack-Engineers mit über drei Jahren Erfahrung im Bau von Webanwendungen und in der Arbeit mit unterschiedlichen Technologien. Wir haben Freude daran, Ideen in funktionierende Produkte zu verwandeln, Probleme zu lösen und dabei Neues zu lernen. Vom Frontend bis zum Backend bringen wir uns gern in den gesamten Prozess ein und machen Dinge einfach, nützlich und angenehm in der Anwendung.

    SocialsLinkedIn

Nächstes Projekt