Imagine having a conversation with a loved one who's no longer with you or an inspirational figure you admire. Our project allows you to do just that through digital conversations with their cloned voice, providing comfort, support and inspiration.
This innovative technology helps you cope with loss and improve your mental well-being by processing grief, reflecting on cherished memories and gaining inspiration and guidance. Our platform offers a unique way to connect with those who matter most, enhancing your mental health and resilience.
By preserving memories and stories, our project also ensures legacies live on for future generations. Experience the power of digital conversations and find solace in the voices that matter.
E-Graveyard is an innovative platform that allows users to interact with digital representations of deceased loved ones or inspirational figures. Here's what our project offers:
-
Users can create or choose AI personalities based on real people who have passed away or other figures they admire.
-
Users provide information about the person, including biographical details, personal anecdotes, and characteristic traits.
-
Users can upload a picture of the person to create a visual anchor for the AI personality.
-
Utilizing a Retrieval-Augmented Generation (RAG) architecture with a PostgreSQL vector database, the AI can engage in meaningful conversations based on the provided information.
-
The AI's responses are not only text-based but also delivered using the cloned voice, creating a more personal and emotional connection.
Our project combines cutting-edge technologies like Retrieval-Augmented Generation, PostgreSQL Vector Database and voice cloning from Eleven Labs API. We used React, Django and PostgreSQL for the frontend and backend, ensuring efficient similarity searches and contextually relevant responses and used auth0 of the authentication flow for both frontend and backend.
Throughout the development process, we encountered several challenges:
-
Network Configuration: Hosting the backend and frontend on different networks posed connectivity issues, which we resolved using ngrok for tunneling.
-
Document Splitting: Langchain's Document Splitter struggled with our input format, so we developed a custom splitting function and it worked perfectly.
-
Embedding Retrieval: We had to ensure correct retrieval of embeddings and associated documents which required implementing a custom vector database using pgvector with postgres database.
-
Chat Agent Recursion: Our custom chat agent initially fell into recursive loops due to embedding retrieval errors, which needed careful resolution. We started from the basic “hello world” function and slowly made it advanced and made it to reply based on the user’s content.
-
Auth0 Integration: We successfully implemented Auth0 for secure and efficient authentication, significantly boosting our productivity.
-
Voice Cloning Quality: We fine-tuned voice cloning parameters to achieve high-quality, realistic voice outputs.
-
Responsive UI: We developed a user interface with intuitive loading states and efficient response caching for a smooth user experience.
-
Custom Vector Database: By using pgvector, we created a custom vector storage solution integrated with our existing PostgreSQL database, allowing for greater flexibility and faster responses.
-
RAG Implementation: We successfully implemented a Retrieval-Augmented Generation system, enhancing the AI's ability to provide accurate and contextually relevant responses.
This project provided numerous learning opportunities:
-
Collaboration Tools: We gained experience with LiveShare for real-time code collaboration.
-
Network Troubleshooting: We improved our skills in diagnosing and resolving network-related issues in distributed applications.
-
Form Validation: We implemented robust form validation using Zod and learned to create effective validation schemas.
-
Vector Databases: We expanded our knowledge of vector databases, specifically pgvector, and their applications in AI-powered systems.
-
RAG Architecture: We deepened our understanding of Retrieval-Augmented Generation and its implementation in real-world applications.
-
Voice Cloning Technology: We gained insights into the capabilities and implementation of voice cloning ElevenLabs API.
-
AI Interaction Design: We learned to create more natural and context-aware AI interactions.
We have exciting plans for the future of E-Graveyard:
-
Tribute System: Implement a feature allowing visitors to leave tributes on personality pages, incorporating this data into the AI's knowledge base.
-
Interactive 3D Models: Integrate Replicate's Flux model to generate interactive 3D models of personalities for a more immersive experience.
-
Speech-to-Text Interface: Develop a speech recognition system to allow users to interact with personalities using voice commands.
-
Phone Call Functionality: Create a system that enables users to "call" and converse with AI personalities over the phone.
-
Expanded Personality Database: Continually add new historical figures and allow for community contributions to grow our library of interactive personalities.
-
Ethical Guidelines: Develop and implement strict ethical guidelines for creating and interacting with digital representations of deceased individuals.
-
Mobile App: Create a dedicated mobile application for easier access and improved user experience on smartphones and tablets.
-
Group Interactions: Enable multiple users to interact with a personality simultaneously, fostering shared experiences and discussions.
By continuing to innovate and expand E-Graveyard, we aim to create a platform that not only preserves memories but also provides comfort, inspiration, and support for users around the world.