Skip to content

vinhnx/InkChatGPT

Repository files navigation

title emoji sdk sdk_version app_file pinned
InkChatGPT
📚
streamlit
1.33.0
app.py
true

icon

📚 InkChatGPT - Chat with Documents

🤗 Hugging Face

Twitter   •   GitHub

InkChatGPT

License: MIT

GitHub User's stars HackerNews User Karma X (formerly Twitter) Follow

InkChatGPT is a Streamlit application that allows users to upload PDF documents and engage in a conversational Q&A with a language model (LLM) based on the content of those documents.

--

New front end via Chainlit https://github.com/vinhnx/InkChatGPT/tree/try_chainlit

--

Features

  • Upload any documents and start asking key information about it, currently supports: PDF, TXT, DOCX, EPUB
  • Limit 200MB per file
  • Conversational Q&A with LLM (powered by OpenAI's gpt-3.5-turbo model)
  • HuggingFace embeddings to generate embeddings for the document chunks with all-MiniLM-L6-v2 model.
  • VectorDB for document vector retrieval storage

Prerequisites

  • Python 3.7 or later
  • OpenAI API key (set as an environment variable: OPENAI_API_KEY)

Installation

  1. Clone the repository:
git clone https://github.com/vinhnx/InkChatGPT.git
cd InkChatGPT
  1. Setup Virtual Environment We recommend setting up a virtual environment to isolate Python dependencies, ensuring project-specific packages without conflicting with system-wide installations.
python3 -m venv venv
source venv/bin/activate
  1. Install the required dependencies:
pip install -r requirements.txt

Usage

  1. Set the OPENAI_API_KEY environment variable with your OpenAI API key:
export OPENAI_API_KEY=YOUR_API_KEY
  1. Run the Streamlit app:
streamlit run app.py
  1. Upload PDF documents and start chatting with the LLM!

Contributing

Contributions are welcome! Please open an issue or submit a pull request if you have any improvements or bug fixes.

License

This project is licensed under the MIT License.