Skip to content

A Streamlit-based application that lets users upload files and chat with them using a Retrieval-Augmented Generation (RAG) pipeline. Upload a file, ask questions, and get intelligent responses powered by embeddings and conversational AI.

License

Notifications You must be signed in to change notification settings

Harsh-2909/askyourdocs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AskYourDocs

AskYourDocs is a Streamlit-based application that allows users to upload a file and interact with it through a chat-like interface. The app uses Retrieval-Augmented Generation (RAG) to generate embeddings from the uploaded file and provides responses to user queries based on the content of the file.

Features

  • File Upload: Upload text-based files (e.g., .txt, .pdf, .docx).
  • Chat Interface: Interact with the uploaded file using a conversational interface.
  • RAG Integration: Leverages OpenAI's embeddings and GPT models to generate contextually relevant responses.
  • Session Management: Maintains chat history during the session.

Prerequisites

Before running the app, ensure you have the following installed:

  • Python 3.8 or higher
  • Streamlit

Installation

  1. Clone the repository:

    git clone https://github.com/Harsh-2909/askyourdocs.git
    cd askyourdocs
  2. Install the required dependencies:

    pip install -r requirements.txt

Usage

  1. Run the Streamlit app:

    streamlit run askmydocs.py
  2. Open your browser and navigate to the URL provided in the terminal (usually http://localhost:8501).

  3. Upload a file using the sidebar. Supported file types include .txt, .pdf, and .md.

  4. Once the file is uploaded, you can start chatting with it. Enter your query in the chat input box and click "Submit" to get a response.

  5. The chat history will be displayed in the main interface, allowing you to continue the conversation.

Example

  1. Upload a text file containing information about a topic (e.g., a research paper or a book chapter).
  2. Ask questions like:
    • "What is the main idea of this document?"
    • "Can you summarize the key points?"
    • "Explain the concept of X mentioned in the document."
  3. The app will generate responses based on the content of the uploaded file.

Customization

  • File Types: Extend the app to support additional file types by integrating appropriate document loaders from LangChain.
  • UI Enhancements: Customize the Streamlit UI to improve the user experience.
  • Advanced Models: Replace the default OpenAI GPT model with other language models or fine-tune the RAG pipeline for specific use cases.

Contributing

Contributions are welcome! If you'd like to contribute to this project, please follow these steps:

  1. Fork the repository.
  2. Create a new branch for your feature or bug fix.
  3. Commit your changes and push to the branch.
  4. Submit a pull request.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Acknowledgments

  • Streamlit for the interactive web app framework.
  • LangChain for the RAG pipeline and document processing.
  • OpenAI for the embeddings and GPT models.

Enjoy interacting with your files using AskYourDocs! 🚀

About

A Streamlit-based application that lets users upload files and chat with them using a Retrieval-Augmented Generation (RAG) pipeline. Upload a file, ask questions, and get intelligent responses powered by embeddings and conversational AI.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages