Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/vinhnx/InkChatGPT
📕 Simple document Retrieval-augmented generation (RAG) LLM app
https://github.com/vinhnx/InkChatGPT
ai chromadb gpt langchain llm openai rag streamlit vector-database
Last synced: about 1 month ago
JSON representation
📕 Simple document Retrieval-augmented generation (RAG) LLM app
- Host: GitHub
- URL: https://github.com/vinhnx/InkChatGPT
- Owner: vinhnx
- License: mit
- Created: 2024-03-30T05:04:08.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2024-04-14T13:32:30.000Z (5 months ago)
- Last Synced: 2024-04-14T13:58:19.980Z (5 months ago)
- Topics: ai, chromadb, gpt, langchain, llm, openai, rag, streamlit, vector-database
- Language: Python
- Homepage: https://inkchatgpt.streamlit.app
- Size: 864 KB
- Stars: 6
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-langchain-zh - InkChatGPT
- awesome-langchain - InkChatGPT - augmented generation (RAG) Chat app ![GitHub Repo stars](https://img.shields.io/github/stars/vinhnx/InkChatGPT?style=social) (Open Source Projects / Other / Chatbots)
README
---
title: InkChatGPT
emoji: 📚
sdk: streamlit
sdk_version: 1.33.0 # The latest supported version
app_file: app.py
pinned: true
---
![]()
📚 InkChatGPT - Chat with Documents# InkChatGPT
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![GitHub User's stars](https://img.shields.io/github/stars/vinhnx)](https://github.com/vinhnx)
[![HackerNews User Karma](https://img.shields.io/hackernews/user-karma/vinhnx)](https://news.ycombinator.com/user?id=vinhnx)
[![X (formerly Twitter) Follow](https://img.shields.io/twitter/follow/vinhnx)](https://x.com/vinhnx)`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:
```sh
git clone https://github.com/vinhnx/InkChatGPT.git
cd InkChatGPT
```2. Setup Virtual Environment
We recommend setting up a virtual environment to isolate Python dependencies, ensuring project-specific packages without conflicting with system-wide installations.```sh
python3 -m venv venv
source venv/bin/activate
```3. Install the required dependencies:
```sh
pip install -r requirements.txt
```## Usage
1. Set the `OPENAI_API_KEY` environment variable with your OpenAI API key:
```sh
export OPENAI_API_KEY=YOUR_API_KEY
```2. Run the Streamlit app:
```sh
streamlit run app.py
```3. 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](LICENSE).