Giter Club home page Giter Club logo

hire-me's Introduction

Welcome to hire-me: an AI powered virtual interview

In this web-app I use an LLM to answer questions about my personal and professional background. The answers provide links to my resume, projects, and hobbies. If you like this app feel free to use my code to make one for yourself.

Screen Shot 2023-05-15 at 9 26 17 PM

LIVE DEMO

Design

Frontend

Flask templates extended from base.html with bootstrap calls for styling and animation

Backend

Python Flask for rendering html from templates, and managing forms, and a simple python dictionary to store/review prior QA pairs. These are stored in flask session objects so that each user will see only their own prior questions.

AI question and answering

Open AI api and Lang Chain are used for answering questions only using information from provided sources. (I followed This article to figure out how to do this)

Getting started

Code Setup

  1. Python 3.9 (I used a virtual environment with 3.9.5)
  2. Fork this repo and clone it.
  3. pip install requirements.txt
  4. Change out my resume for yours.
  5. In /ai_service/ai_answers.py you can change the list of sources to point to your resume and other documents. Edit the biographical.txt file to be your own information. Feel free to add more sources this should scale up to work with many sources and long sources.
  6. ENVIRONMENT VARIABLES
    • SECRET_KEY is used by flask to secure the form data. This can be set to anything.
    • OPENAI_API_KEY is used by Lang Chain to access GPT API you will need to sign up for an OPENAI developer account. You can get $5 of free credits to get started and get a key. You can also look at using a free open source model. I was able to do this, but it requires a GPU to be at all effective and I deployed this to google Cloud Run, which doesn't have GPUs

Running

To run and debug locally run app.py this will produce an ip address/link to the app running locally

Deployment

I deployed this using GCP Cloud Run. This keeps the app on an archived Docker image that can be run when/as needed. This means I don't have to continueously rent GCP resources.

  1. First I followed the quickstart to deploy a python service using cloud run. In this you will use google CLI to build and deploy the service to cloud run.
    1. You will need to set the environment variables on GCP for your project
  2. Next I followed the quickstart to continuously deploy from a git repository. This will re-deploy every time a new revision pushed to github. I followed this guide except that I selected docker image rather than google build packs. (This code will not work with google build packs in it's current form and you will need to look at the proper templates for python if you want to use google build packs.) This provides more flexibility if I were to switch hosting services, and if there are any errors in deployment it allows me to build and run the docker image locally for debugging.

hire-me's People

Contributors

joelsprunger 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.