Talk-With-Your-Files is an open source GUI (Graphical User Interface) application powered by LLMs (Large Language Models). It allows you to ask questions about your PDF, DOCX, CSV, or TXT files and get relevant answers.
It is not dependent on any specific framework, as long as the underlying logics are provided it will work as it is. Current frameworks in use: Langchain - Handle LLM integration & processing texts. Streamlit - Prepare the GUI
- Clone the repository:
git clone https://github.com/Safakan/TalkWithYourFiles-LLM-GUI.git
or by using the GitHub Desktop app. - Install the required dependencies:
pip install -r requirements.txt
(ideally in a virtual environment) - Create a .env file in the directory specifying your OpenAI API key as showned in the .env.example file.
- Open the TalkWithYourFiles subdirectory:
cd TalkWithYourFiles
- Run the application:
streamlit run streamlit_interface.py
- Wait for the application to run on your browser.
- Upload your files and enter your question in the provided fields.
- Wait for the response to be generated & check out your terminal to see the cost.
- Check individual modules for further documentation.
- LLM model to be used can be changed easily by modifying the qa_chain.py file.
- New files to be supported can be integrated into the app by modifying the file_handlers.py
- To use another GUI framework, create your application based on your needs, and import the run function from the flow_coordinator.py
- To use another methods to integrate LLMs, modify the qa_chain.py and make sure to implement the QAChainRunner class with the same methods.
Contributions are welcome! If you find any issues or have suggestions for improvements, please create a new issue or submit a pull request. Some points to improve/add in in the future:
- Database integration
- Allowing other type of file extensions.
- Allowing multimodality by processing non-text inputs into text data.
This project is licensed under the MIT License.