File size: 1,756 Bytes
676b867
0e17e2d
676b867
 
4ee1085
 
 
 
 
 
 
 
 
ed8398a
a9cf382
ed8398a
004f04c
ed8398a
a9cf382
 
 
 
 
ed8398a
a9cf382
ed8398a
a9cf382
 
ed8398a
a9cf382
ed8398a
a9cf382
004f04c
a9cf382
36e3301
004f04c
 
 
a9cf382
004f04c
a9cf382
 
36e3301
004f04c
 
a9cf382
004f04c
a9cf382
004f04c
 
 
 
 
a9cf382
 
ed8398a
a9cf382
ed8398a
a9cf382
 
 
ed8398a
a9cf382
ed8398a
 
 
a9cf382
ed8398a
 
 
004f04c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<div align="center">
  <img alt="app icon" height="196px" src="./assets/app_icon.jpg">
</div>

<div align="center">
<h3> 📚 InkChatGPT - Chat with Documents </h3>
</div>

<div align="center">
   <a href="https://inkchatgpt.streamlit.app/"><img src="https://static.streamlit.io/badges/streamlit_badge_black_white.svg"></a>
</div>

---

`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.

## Features

-   Upload any PDF documents and start asking key information about it
-   Conversational Q&A with LLM (powered by `OpenAI`'s GPT-3.5-turbo model)
-   Use `HuggingFace` embeddings to generate embeddings for the document chunks with `all-MiniLM-L6-v2` model.
-   Clear conversation history
-   Responsive UI with loading indicators and chat interface

## 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. Create a virtual environment and activate it:

```sh
python -m venv env
source env/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:
   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).