Kate Eyler

RAG Chatbot

A chatbot trained on my personal data using Retrieval-Augmented Generation (RAG)

RAG Chatbot Interface

Project Overview

I continuously set out to push the limits of what I can accomplish technically. One way I decided to test my strengths (and learn as much as I could along the way) was by building my own RAG chatbot to engage with dating app matches.

Before we get to the good stuff, I want to add a disclaimer that this bot was only created for experimentation purposes, and was always used under my own human supervision. My goals with this project were to get an understanding of RAG processes, including indexing and training, as well as to create something with my own real data.

The system combines the power of LLMs with an additional retrieval mechanism that can access and reference specific information from my personal dataset, making conversations more accurate and personalized while both saving me time and having fun!

System Architecture

The system is built using a modern, scalable architecture that includes:

  • Data Sources: Personal text messages (15,000+ messages) and real-time Tinder conversations
  • Web Automation: Playwright for browser automation and session management
  • Backend Services: Node.js/Express server with authentication and automation services
  • AI & ML: Claude-3-5-Sonnet API, Voyage AI embeddings, and Pinecone vector database
  • Frontend: React web app and dedicated RAG chatbot interface
  • Storage: SQLite database for conversation data and local processing

Key Features

Contextual Understanding

The chatbot maintains conversation context and can reference previous interactions to provide more coherent and relevant responses.

Personalized Responses

Leverages personal data and preferences to tailor responses specifically to my background, interests, and communication style.

Real-time Processing

Fast response times with intelligent caching and optimization for smooth conversational flow.

Privacy-First Design

Built with privacy in mind, ensuring that personal data is handled securely and conversations remain confidential.

Future Enhancements

This project serves as a foundation for more advanced AI applications. Future iterations could include:

  • Multi-modal capabilities (text, voice, image processing)
  • Integration with Match's profile information
  • Scoring likelihood of a good match