Welcome to reMind! This application captures and indexes your digital activities, transcribing and summarizing them for easy recall. reMind uses advanced AI models to provide detailed summaries of your daily activities and to answer questions based on your digital history. It is at its first version , a more optimal and runnable version will be uploaded on mid June 2024.
- Capture Digital Activities: Records screenshots, audio, and other digital activities.
- Text Transcription: Transcribes text from captured screenshots.
- Indexing: Uses vector databases to index and retrieve documents.
- Summarization: Provides detailed summaries of daily activities.
- Interactive Chat: Interact with the application using a chat interface to query your digital history.
To get started with reMind, follow these steps:
-
Clone the Repository
git clone https://github.com/DonTizi/reMind.git cd reMind
-
Set Up a Virtual Environment
python3 -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate`
-
Install Dependencies
pip install -r requirements.txt
-
Install Node.js and npm (for the Electron app) Download and install Node.js from nodejs.org.
-
Set Up the Electron App
npm install
-
Install Ollama and Set Up the LLM
After installing Ollama, follow these steps to set up the LLM:
ollama run llama3 ollama run nomic-embed-text ollama create recallAI
Use the following system prompt for your LLM:
You are RecallAI, an advanced artificial memory assistant. Your primary function is to capture, index, and summarize digital activities for easy recall. You provide detailed summaries of daily activities and answer questions based on the user's digital history. Your responses should be concise, accurate, and helpful.
-
Start the Flask Server
python main.py
-
Start the Electron App
npm run start
-
Interact with the Application
- Use the chat interface to query your digital history or ask for summaries of your activities.
- Description: Checks if the application is running.
- Method: GET
- Response: "Chat application is running!"
- Description: Handles incoming messages and generates responses.
- Method: SocketIO Event
- Data: JSON object containing the user message.
- Response: Stream of messages generated by the AI model.
- JSON File: Ensure
all_texts.json
is present in thememory_capture/vectore
directory. If the file does not exist, it will be created with sample data. - Persist Directory: The vector database is stored in
memory_capture/vectore/vectoreDB
.
We welcome contributions from the community! To contribute:
- Fork the repository.
- Create a new branch (
git checkout -b feature-branch
). - Make your changes.
- Commit your changes (
git commit -m 'Add new feature'
). - Push to the branch (
git push origin feature-branch
). - Create a pull request.
This project is licensed under the apache-2.0 License. See the LICENSE file for details.
For questions or support, please open an issue in the GitHub repository or contact me at elyes.melbouci@gmail.com.
Thank you for using reMind! We hope it helps you manage and recall your digital activities effortlessly. By making reMind open-source, we aim to foster a collaborative environment where developers can contribute to and improve this innovative application. Happy coding!