Giter VIP home page Giter VIP logo

pensieve's Introduction

Pensieve by Neum AI - Live

Pensieve GIF

What is the Pensieve?

This application is a showcase for Neum AI Chat Memory. The goal is to leverage Retrieval Augmented Generation (RAG) in the context of chat memory. This helps reduce the amount of context provided back to LLM models and only providing the most contextual information. In this application, like in Harry Potter's Pensieve, the user can capture memories in the form of chat history which can then be shared with others for viewing. When viewed, the users can interact through a chat interface with the memory.

Features

  • ๐Ÿง  Chat history indexed for fast retrieval.
  • ๐Ÿ“• Chat history summarization when memory is searched
  • ๐Ÿ“„ Memory augmentation with documents. Documents can be uploaded through the UI. Connection to other sources supported through Neum AI.
  • ๐Ÿ‘ค User and session ID tracking. User + Session IDs unlock access to captured memories
  • ๐Ÿ”— Share memories with other users by providing a user and session ID.

Comming soon

  • ๐Ÿฆพ Augmentation of chat history with categorization
  • ๐Ÿ”Š๐Ÿ–ผ Explorations to augment experience with other mediums including voice and images

Running it locally

The Pensieve is built using Streamlit, Supabase, Neum AI and Weaviate. Neum AI is used as the orchestration layer to help create the indexes for the chat history and documents. The index itself is hosted on Weaviate, but can we swapped out for any other vector storage supported by Neum AI. The documents uploaded through the app are stored in Supabase. You will need to create a bucket that the app can access through the anon key.

To run locally you will need the following API Keys added to a secrets.toml file under the .streamlit folder.

    Supabase_URL = ""
    Supabase_Key = ""
    Supabase_Bucket = ""
    OpenAI_Key = ""
    Weaviate_URL = ""
    Weaviate_Key = ""
    NeumAI_Key = ""

Run:

streamlit run main.py

pensieve's People

Contributors

ddematheu avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.