Coder Social home page Coder Social logo

qna-faiss-rag's Introduction

Document Querying using RAG, FAISS and LangChain

Overview

This project utilizes OpenAI's/HF's language models, Langchain, and Faiss for semantic search to create a custom summarization app. The app is designed to answer questions from any PDF document through a combination of semantic search and retrieval augmented generation (RAG).

Dependencies

Ensure you have the necessary dependencies installed by running:

pip install -r requirements.txt

The key dependencies include:

  • OpenAI: Python wrapper for OpenAI API
  • PyPDF2: Library for reading PDF files
  • Langchain: A library for natural language processing tasks
  • Streamlit: A web app framework for creating interactive data applications

Getting Started

  1. Clone the repository:
git clone https://github.com/mishragauravgm/qna-faiss-rag
cd qna-faiss-rag
  1. Set up your environment variables by creating a .env file with your OpenAI API key:
OPENAI_API_KEY=your-api-key
HF_KEY=your-hf-key
  1. Run the application:
streamlit run app.py

Usage

  1. Enter a user prompt and the path to a PDF file in the provided input fields.
  2. Click the "Generate Answer" button to obtain the answer to your question.

Project Structure

The main components of the project include:

  • app.py: The Streamlit web application.
  • langchain: A library for natural language processing tasks.
  • requirements.txt: List of Python dependencies for the project.

Additional Information

  • RAG (Retrieval Augmented Generation): Utilizes Faiss for semantic search and the Hugging Face model repository for language models.
  • Faiss: A library for efficient similarity search and clustering of dense vectors.

qna-faiss-rag's People

Contributors

mishragauravgm avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.