This is a submission for the Open Source AI Challenge with pgai and Ollama
What I Built
I built an AI-powered job skills recommendation application that leverages PostgreSQL and open-source vector extensions to recommend interview questions based on a job description. The application extracts key skills from job descriptions, embeds them as vectors, and stores them in PostgreSQL, allowing for efficient similarity searches. It also provides feedback on user-submitted answers to help applicants improve their responses based on specific feedback criteria.
This project combines text analysis, vector similarity searches, and AI feedback generation, creating a tool that aids job seekers in better preparing for interviews with relevant questions and real-time feedback.
Demo
The code app is under this link:
AI Interview Prep Helper with PostgreSQL, Ollama and Open-Source Vector Extensions π
Project Overview
This project demonstrates a lightweight AI application that leverages open-source tools, using PostgreSQL as the vector database with AI extensions. By embedding job descriptions and questions into vector format, this application can identify relevant questions based on job requirements, offer tailored question recommendations, and provide AI-generated feedback on responses.
The key tools used in this project include:
- PostgreSQL with pgvector for storing and querying vector embeddings.
- pgAI for processing and retrieving feedback on user answers.
- Ollama as an AI tool for embedding and generating text responses.
Project Components
The application has three primary parts:
- Job Description Parsing and Question Recommendation: Given a job description, the application extracts key skills and identifies relevant questions from the database.
- AI-Driven Answer Feedback: Upon submitting an answer to a question, the application leverages AI feedback based on correctness, efficiency, codeβ¦
Please follow the instructions to run this locally.
Screenshots:
- Job Description Input
- Recommended Questions
- Feedback on Answer
- Additional endpoints to store questions
- and get recommended
Tools Used
pgvector
pgvector stores the embeddings for job descriptions and questions, allowing us to query and compare them using similarity searches.
It supports storing high-dimensional vectors and facilitates similarity-based searches within PostgreSQL, enabling the core recommendation functionality of this application.pgAI
pgAI integrates AI-powered feedback directly within PostgreSQL.
By embedding the feedback process into PostgreSQL queries, pgAI allows our application to evaluate and provide insights on user-submitted answers, scoring them on aspects like correctness, efficiency, and clarity.Ollama
Ollama is used to generate embeddings and feedback responses.
It processes user queries, generates embeddings for job descriptions and questions, and helps in extracting relevant skills and evaluating answers with custom feedback prompts.
Final Thoughts
This project demonstrates the power of combining PostgreSQL with its AI extensions to build a vector-based recommendation and feedback system without needing an additional vector database. Integrating pgvector, pgvectorscale, and pgAI made it possible to create an efficient, fully open-source AI application with minimal setup.
Prize Categories:
Open-source Models from Ollama
Thanks you! β€οΈ
Thanks for considering this project, and I hope you enjoy exploring its functionality as much as I enjoyed building it! π
Top comments (0)