Resume Filter API Server

Open
AIModels Tech Inc.
New Westminster, British Columbia, Canada
James Northway
He / Him
Chief executive officer
(4)
5
Project
Academic experience
120 hours of work total
Learner
Canada
Intermediate level

Project scope

Categories
Software development Artificial intelligence Databases
Skills
unit testing docker compose docker (software) language model codebase test automation application programming interface (api) containerization human readable sphinx documentation generator
Details

This project aims to develop an advanced Resume Filtering API server that allows users to upload resumes, stores them in a vector database (ChromaDB), and performs semantic searches based on job descriptions or required skills. The system will integrate OpenAI for generating embeddings, summaries, and explanations for the resume matches. It will be built using Flask for the API server and containerized using Docker and Docker Compose. Sphinx will handle documentation, and Pytest will be used for automated testing.

Deliverables

1) Input Files

  • Supported formats: PDF, DOC, DOCX.
  • Function: Extract content from these formats for processing and vectorization.

2) Vector Database: ChromaDB

  • Store vector embeddings of resumes and perform similarity searches.
  • ChromaDB will be used to handle the embedding storage and querying.

3) Embedding and Summarization Service: OpenAI API

  • Embeddings: OpenAI’s language model will generate embeddings from the text content of resumes and job descriptions.
  • https://platform.openai.com/docs/guides/embeddings
  • Summaries: After a resume is matched, OpenAI will also generate summaries for the selected resumes.
  • Explanations: The API will use OpenAI to explain why a particular resume is a good match, generating human-readable explanations for each match.

4) API Server: Flask

  • The API will expose endpoints for uploading resumes and querying the vector database.
  • Endpoints:
  • /v1/resumes/upload: Upload and store resumes.
  • /v1/resumes/filter: Filter resumes based on a given job description or set of qualifications.

5) Documentation: Sphinx (with autodoc module)

  • Auto-generate documentation for API endpoints and project structure using Sphinx.
  • Integrate autodoc to pull documentation directly from the codebase for ease of maintenance.
  • Getting started page, usage page.

6) Testing: Pytest

  • Implement automated tests to validate the functionality of the API and OpenAI integration.
  • Write unit tests for resume upload, filtering logic, and ChromaDB integration.

7) Containerization: Docker / Docker Compose

  • The entire project (Flask API, ChromaDB, OpenAI integration, and other services) will run in isolated containers for local development.
  • Docker Compose will manage the orchestration, ensuring all services work together seamlessly.


Mentorship
Domain expertise and knowledge

Providing specialized, in-depth knowledge and general industry insights for a comprehensive understanding.

Skills, knowledge and expertise

Sharing knowledge in specific technical skills, techniques, methodologies required for the project.

Hands-on support

Direct involvement in project tasks, offering guidance, and demonstrating techniques.

Tools and/or resources

Providing access to necessary tools, software, and resources required for project completion.

Regular meetings

Scheduled check-ins to discuss progress, address challenges, and provide feedback.

About the company

Company
New Westminster, British Columbia, Canada
2 - 10 employees
It & computing, Technology

AIModels Tech Inc. specializes in developing cutting-edge machine learning and artificial intelligence solutions tailored to a wide range of industries. We empower businesses to harness the power of data by providing innovative AI models that drive process optimization, predictive analytics, and intelligent automation. Our expertise spans data collection, model development, and deployment, ensuring scalable and efficient AI applications that deliver actionable insights and measurable results. At AIModels, we are committed to transforming challenges into opportunities through the power of AI.