Skip to content

adagio/RAG_sample

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RAG Sample: Resume & Job Description Matching

This project demonstrates a simple Retrieval-Augmented Generation (RAG) pipeline using LangChain, FAISS, and Groq LLM. It matches a candidate's resume with a job description to answer questions such as suitability for a role.

Features

  • Loads and processes both a resume (PDF) and a job description (TXT)
  • Splits documents into manageable chunks for efficient retrieval
  • Embeds documents using HuggingFace sentence transformers
  • Stores embeddings in a FAISS vector database
  • Uses Groq's Llama3-70B model for question answering over the retrieved context

Project Structure

.
├── app.py
├── .env
├── requirements.in
├── docs/
│   └── franco_resume_en.pdf
├── JD/
│   └── 01_falabella_product_owner.txt
└── README.md

Getting Started

1. Install Dependencies

uv pip install -r requirements.in

2. Set Up Environment Variables

Create a .env file with your API keys (e.g., for Groq).

3. Run the Application

python app.py

How It Works

  • The script loads both the resume and job description.
  • Documents are split into overlapping chunks.
  • Chunks are embedded and indexed in FAISS.
  • A question is asked (e.g., "¿puede Franco Cedillo postular al puesto de Product Owner en Falabella?").
  • The system retrieves relevant chunks and uses the LLM to generate an answer.

Customization

  • Replace docs/franco_resume_en.pdf with your own resume.
  • Replace JD/01_falabella_product_owner.txt with any job description.
  • Modify the query in app.py to ask different questions.

Requirements

See requirements.in for the full list.

License

MIT License


Inspired by modern RAG pipelines for HR and recruitment use cases.

Releases

No releases published

Packages

 
 
 

Contributors

Languages