Inspiration

The inspiration behind Fiction Lens stems from the desire to provide a comprehensive tool for both fiction readers and writers to analyze stories in a more interactive and visually engaging manner. Fiction Lens aims to offer users a deeper understanding of the elements that constitute a narrative, such as dialogue, plot, character development, and story arc.

What it does

Fiction Lens is a chat interface tool designed to analyze works of fiction using a combination of metadata generated by GPT processing and passages of text stored in a vector database. The tool allows users to ask questions about various aspects of the story, including dialogue, plot progression, and character interactions. Additionally, Fiction Lens provides visualizations such as story arcs, which are clickable to bring up specific sections of the book, enhancing the user's understanding and engagement with the narrative.

How we built it

Data Extraction & Annotation: Extracted text, annotated with paragraph numbers.

LLamaindex Integration: Utilized LLamaindex to manage and process annotated data efficiently.

Astra DB Setup: Configured Astra DB to store annotated text data.

Querying Data: Implemented querying mechanisms for efficient data retrieval.

Backend & Frontend Integration: Developed backend querying service and integrated with frontend chat interface.

Documentation & Deployment: Documented implementation details and deployed Fiction Lens.

Accomplishments that we're proud of

LLamaindex Integration: Successfully integrated LLamaindex for efficient management and processing of large volumes of annotated textual data. LLamaindex facilitated optimized data storage and retrieval, enhancing the overall performance of Fiction Lens.

Astra DB Implementation: Effectively configured and utilized Astra DB as the database solution for storing annotated text data. Astra DB's scalability and reliability ensured seamless data management and availability for Fiction Lens users.

Next.js Streaming Chat Integration: Leveraged Next.js to implement a streaming chat interface for Fiction Lens, enabling real-time interaction with users. By querying Astra DB in real-time, Next.js facilitated dynamic content updates.

What we learned

LLamaindex Configuration: Configuring LLamaindex to effectively manage and process annotated textual data posed a challenge due to the need for optimization to handle large volumes of data efficiently. Overcoming this challenge required a thorough understanding and fine-tuning of LLamaindex's capabilities.

Astra DB Querying: Integrating Astra DB querying into Next.js for real-time chat streaming presented challenges in terms of optimizing query performance. Balancing efficient data retrieval with real-time updates required careful design and implementation.

Next.js Real-Time Updates: Implementing real-time updates in the chat interface using Next.js required overcoming technical hurdles, handling message streaming, and ensuring seamless synchronization with Astra DB queries.

Built With

Share this project:

Updates