Skip to content

Node.js ▪️ OpenAI 🤖 ▪️ AWS EC2 ▪️ Ubuntu ▪️ Prisma RDM ▪️ PostgreSQL

Notifications You must be signed in to change notification settings

lucianosimoni/ai-interviewer-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🧠 AI Interviewer | Backend

Create a real-time software development interview on your browser, using a custom trained LLM AI as your Interviewer.

👉 Check the Live version here 👈

💻 Frontend GitHub

✨ Features

  • Simulate a real-time Junior interview
  • Speech Recognition (Whisper 🗣️)
  • AI Model (Custom Trained 🏋️)
  • Interview organizer
  • Mobile friendly

⚙️ Technologies Used

  • Frontend 💻

    • React.js
    • TailwindCSS
    • Axios
  • Backend 👈(゚ヮ゚ 👈)

    • Node.js
    • AWS Ubuntu EC2
    • OpenAI
    • PostgreSQL
    • Prisma ORM
    • Express.js

🚂 Getting Started

To get started with the project, clone the repository and install the dependencies.

Install the dependencies

npm install

Create the .env file

  • Duplicate the .env.example
  • Rename to .env and fill it up.

Start the application locally

 npm start # Starts the Local Server at port 3000

🪖 Using Prisma ORM

Creates migration and runs it against database

npx prisma migrate dev --name migration_name

Creates it locally but do not apply to database

npx prisma migrate dev --create-only

Reset database

npx prisma migrate reset

📦 Dependencies

"dependencies": {
  "@prisma/client": "^4.11.0",
  "bcrypt": "^5.1.0",
  "cors": "^2.8.5",
  "dotenv": "^16.0.3",
  "express": "^4.18.2",
  "form-data": "^4.0.0",
  "graceful-fs": "^4.2.11",
  "jsonwebtoken": "^9.0.0",
  "multer": "^1.4.5-lts.1",
  "openai": "^3.2.1"
},
"devDependencies": {
  "morgan": "^1.10.0",
  "prisma": "^4.11.0"
}

🧠 OpenAI

  • Base model in use: curie
  • Fine-tunned model with more than 150+ lines of data.

Fine-tuning model

Check docts here

  1. Check if training-data is well formatted
 openai tools fine_tunes.prepare_data -f <LOCAL_FILE>
  1. Fine-tune a new model
openai -k <API_KEY> api fine_tunes.create -t <TRAIN_FILE_ID_OR_PATH> -m <BASE_MODEL> --suffix "custom model name"
  1. Train already made Fine-tuned model
openai -k <API_KEY> api fine_tunes.create -t <TRAIN_FILE_ID_OR_PATH> --model <MODEL_ID>

Do you have recommendations to me? just send me a message 😁