-
Notifications
You must be signed in to change notification settings - Fork 317
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
502c401
commit d9044a1
Showing
1 changed file
with
37 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
# Langchain Ask PDF (Tutorial) | ||
|
||
>You may find the step-by-step video tutorial to build this application [on Youtube](https://youtu.be/wUAUdEw5oxM). | ||
This is a Python application that allows you to load a PDF and ask questions about it using natural language. The application uses a LLM to generate a response about your PDF. The LLM will not answer questions unrelated to the document. | ||
|
||
## How it works | ||
|
||
The application reads the PDF and splits the text into smaller chunks that can be then fed into a LLM. It uses OpenAI embeddings to create vector representations of the chunks. The application then finds the chunks that are semantically similar to the question that the user asked and feeds those chunks to the LLM to generate a response. | ||
|
||
The application uses Streamlit to create the GUI and Langchain to deal with the LLM. | ||
|
||
|
||
## Installation | ||
|
||
To install the repository, please clone this repository and install the requirements: | ||
|
||
``` | ||
pip install -r requirements.txt | ||
``` | ||
|
||
You will also need to add your OpenAI API key to the `.env` file. | ||
|
||
## Usage | ||
|
||
To use the application, run the `main.py` file with the streamlit CLI (after having installed streamlit): | ||
|
||
``` | ||
streamlit run main.py | ||
``` | ||
|
||
|
||
## Contributing | ||
|
||
This repository is for educational purposes only and is not intended to receive further contributions. It is supposed to be used as support material for the YouTube tutorial that shows how to build the project. | ||
|
||
|