Inspiration
In a world where information flows like a digital river, we often find ourselves drowning in data. Have you ever wondered what insights lie hidden in the documents that surround you? The sheer volume of facts, figures, and narratives can overwhelm even the most seasoned explorer. Is there a way to visualize this vast sea of knowledge with ease? Yes, there is. LuminAI lets you chart your chats, map your mind, and visualize your world through AI.
What it does
LuminAI is a visual storyteller. It takes your questions, whether they are about your documents or general knowledge, and presents the answers in intuitive and engaging charts. For example, LuminAI could visualize any data, from word documents and powerpoint slides to photos and diagrams. Users may give prompts like "Chart the dataset in the provided document" and "Identify the food ingredients in the picture", or even no prompts (using auto prompt instead)! LuminAI excels at filling in the blanks, visualizing data, with any prompts. LuminAI will present the output of each question using the appropriate data visualization methods, such as Geo Map, Word Tree, Pie Chart, and other visual aids. Using voice recognition, you may also prompt via voice!
How we built it
We built LuminAI using a full-stack development approach with React, Next.js, TypeScript, and Bun. The backend leverages CodeLLaMA (hosted on Together API) to generate JSON code to feed to the various visualization libraries (eg. charts, mindmap, etc.), and Google Gemini’s Pro vision model for Image-to-Text processing. Convex is used as the vector database to store the embeddings for retrieval augmented generation (RAG).
Architecture
Our architecture is designed to handle a variety of document formats such as DOCX, PDF, and CSV, using the LangChain library. We use the Xenova/all-MiniLM-L6-v2 sentence transformer model to create embeddings for the documents, which are then stored in the Convex vector database. When a user asks a question, LuminAI uses RAG to pull out relevant snippets from the vector database (Convex). The system then prompts the LLM to provide a concise answer and a JSON code block conforming to the JSON schema for data visualization. This JSON output is then converted into a visually compelling presentation.
Challenges we ran into
One of the main challenges we faced was to ensure that the visual representation generated by LuminAI were not only accurate but also intuitive and engaging. We wanted to make sure that the charts added value to the user's understanding rather than complicating it. Another challenge was handling a variety of document formats and extracting meaningful information from them.
What's next for LuminAI
LuminAI is a powerful tool that can help you discover new insights, learn new things, and have fun with your data and documents. It is also a captivating user experience that makes chatting with AI more engaging and interactive. We hope that LuminAI will inspire you to see the world in a new light and spark your curiosity and creativity.
We plan to expand the range of data visualization types and further improve the AI's understanding of complex queries. We aim to enhance the user experience by offering users the ability to further customize the visual aids to their preferences. Furthermore, we are exploring the possibility of integrating LuminAI with other platforms and services, opening up a world of possibilities for data visualization.
Built With
- codellama
- convex
- google-gemini-vision-pro
- javascript
- langchain
- next.js
- react
- together.ai-api
- typescript
- vercel
Log in or sign up for Devpost to join the conversation.