Skip to content

Commit

Permalink
alpha test for resume & technical
Browse files Browse the repository at this point in the history
  • Loading branch information
jiatastic committed Jun 25, 2023
1 parent 9bd6c7a commit ca4b2bd
Show file tree
Hide file tree
Showing 83 changed files with 52,631 additions and 52,546 deletions.
8 changes: 8 additions & 0 deletions .idea/.gitignore

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 12 additions & 0 deletions .idea/GPTInterviewer.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

16 changes: 16 additions & 0 deletions .idea/inspectionProfiles/Project_Default.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/inspectionProfiles/profiles_settings.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 4 additions & 0 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions .idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 4 additions & 0 deletions .streamlit/config.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[theme]
base = 'light'
primaryColor = 'F63366'
font = 'serif'
6 changes: 6 additions & 0 deletions .streamlit/secrets.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
OPENAI_API_KEY = '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'
ELEVEN_API_KEY = '395a093ac46c19c9dad5a0ecd29ace8a'
SPEECH_KEY = '34372e8d5836409482ccbeec4358ba95'
SPEECH_REGION = 'eastus'


Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
1 change: 0 additions & 1 deletion GPTInterviewer/st_audiorec/frontend/build/index.html

This file was deleted.

Binary file removed GPTInterviewer/temp/audio.wav
Binary file not shown.
26 changes: 13 additions & 13 deletions GPTInterviewer/README.md → README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
---
title: AI Interviewer
emoji: 🐨
colorFrom: green
colorTo: green
sdk: streamlit
sdk_version: 1.21.0
app_file: homepage.py
pinned: false
license: apache-2.0
---

Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
---
title: AI Interviewer
emoji: 🐨
colorFrom: green
colorTo: green
sdk: streamlit
sdk_version: 1.21.0
app_file: homepage.py
pinned: false
license: apache-2.0
---

Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
File renamed without changes.
Binary file added azure_service/__pycache__/__init__.cpython-310.pyc
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import streamlit as st
import azure.cognitiveservices.speech as speechsdk
def speech_synthesizer(text):

speech_key, service_region = st.secrets["SPEECH_KEY"], st.secrets["SPEECH_REGION"]
speech_config = speechsdk.SpeechConfig(subscription=speech_key, region=service_region)

speech_config.speech_synthesis_voice_name = 'en-US-JennyMultilingualNeural'

speech_synthesizer = speechsdk.SpeechSynthesizer(speech_config=speech_config)
result = speech_synthesizer.speak_text_async(text).get()

return result
import streamlit as st
import azure.cognitiveservices.speech as speechsdk
def speech_synthesizer(text):

speech_key, service_region = st.secrets["SPEECH_KEY"], st.secrets["SPEECH_REGION"]
speech_config = speechsdk.SpeechConfig(subscription=speech_key, region=service_region)

speech_config.speech_synthesis_voice_name = 'en-US-JennyMultilingualNeural'

speech_synthesizer = speechsdk.SpeechSynthesizer(speech_config=speech_config)
result = speech_synthesizer.speak_text_async(text).get()

return result
168 changes: 84 additions & 84 deletions GPTInterviewer/homepage.py → homepage.py
Original file line number Diff line number Diff line change
@@ -1,85 +1,85 @@
import streamlit as st
import json
from streamlit_lottie import st_lottie
from streamlit_option_menu import option_menu
from PIL import Image

st.spinner(text="loading...")

def load_lottiefile(filepath: str):
with open(filepath, "r") as f:
return json.load(f)

im = Image.open("static/images/chat.png")
st.set_page_config(page_title = "GPTInterviewer", page_icon = im, layout = "wide")

with st.sidebar:

st.markdown('### GPTInterviewer - V0.1.1')
st.markdown("""
#### What's Next?
v0.1.2:
1. A more robust llm-powered evaluation system.
We're trying to build a system that are close to human evaluation in real world.
#### Powered by
[OpenAI](https://openai.com/)
[FAISS](https://github.com/facebookresearch/faiss)
[Langchain](https://github.com/hwchase17/langchain)
#### Addition
We're trying to access GPT-4 for everyone to use.
Feel free to contact us if you have any questions or suggestions.
(Email: [email protected])
""")

st.markdown("<hr>", unsafe_allow_html=True)

st.markdown("<h1 style='text-align: center; color: black;'>Your Career Workshop Anytime from Anywhere</h1>", unsafe_allow_html=True)
st.markdown("<p style='text-align: center; color: grey;'> GPT Interviewer is a generative AI powered tool that provides you with realistic interview experience</p>", unsafe_allow_html=True)
st.markdown("<p style='text-align: center; color: grey;'> You're no longer practice with a static list of questions.</p>", unsafe_allow_html=True)

col1, col2, col3 = st.columns(3)
with col1:
st.write(' ')
with col2:
st_lottie(load_lottiefile("images/talk.json"), speed=1, reverse=False, loop=True, quality="high")
with col3:
st.write(' ')

selected = option_menu(
menu_title= None,
options=["Resume Screen", "Technical Screen", "Behavioral Screen"],
icons = ["cloud-upload", "cast", "cast"],
default_index=0,
orientation="horizontal",
)

st.markdown("#")
st.markdown("<hr>", unsafe_allow_html=True)

st.markdown("<h1 style='text-align: center; color: black;'>Features</h1>", unsafe_allow_html=True)
st.markdown("#")
col1, col2, col3 = st.columns(3)
with col1:
st_lottie(load_lottiefile("images/brain.json"), speed=1, reverse=False, loop=True, quality="high", height=300)
st.markdown("<h3 style='text-align: center; color: black;'>ask questions relevant to your resume and job description</h3>", unsafe_allow_html=True)
with col2:
st_lottie(load_lottiefile("images/recording.json"), speed=1, reverse=False, loop=True, quality="high", height=300)
st.markdown("<h3 style='text-align: center; color: black;'>voice interaction</h3>", unsafe_allow_html=True)
with col3:
st_lottie(load_lottiefile("images/evaluation.json"), speed=1, reverse=False, loop=True, quality="high", height=300)
st.markdown("<h3 style='text-align: center; color: black;'>AI evaluation</h3>", unsafe_allow_html=True)


st.markdown("<hr>", unsafe_allow_html=True)
st.markdown("<p style='text-align: center; color: grey;'> Contact: [email protected] </p>", unsafe_allow_html=True)
import streamlit as st
import json
from streamlit_lottie import st_lottie
from streamlit_option_menu import option_menu
from PIL import Image

st.spinner(text="loading...")

def load_lottiefile(filepath: str):
with open(filepath, "r") as f:
return json.load(f)

im = Image.open("static/images/chat.png")
st.set_page_config(page_title = "GPTInterviewer", page_icon = im, layout = "wide")

with st.sidebar:

st.markdown('### GPTInterviewer - V0.1.1')
st.markdown("""
#### What's Next?
v0.1.2:
1. A more robust llm-powered evaluation system.
We're trying to build a system that are close to human evaluation in real world.
#### Powered by
[OpenAI](https://openai.com/)
[FAISS](https://github.com/facebookresearch/faiss)
[Langchain](https://github.com/hwchase17/langchain)
#### Addition
We're trying to access GPT-4 for everyone to use.
Feel free to contact us if you have any questions or suggestions.
(Email: [email protected])
""")

st.markdown("<hr>", unsafe_allow_html=True)

st.markdown("<h1 style='text-align: center; color: black;'>Your Career Workshop Anytime from Anywhere</h1>", unsafe_allow_html=True)
st.markdown("<p style='text-align: center; color: grey;'> GPT Interviewer is a generative AI powered tool that provides you with realistic interview experience</p>", unsafe_allow_html=True)
st.markdown("<p style='text-align: center; color: grey;'> You're no longer practice with a static list of questions.</p>", unsafe_allow_html=True)

col1, col2, col3 = st.columns(3)
with col1:
st.write(' ')
with col2:
st_lottie(load_lottiefile("images/talk.json"), speed=1, reverse=False, loop=True, quality="high")
with col3:
st.write(' ')

selected = option_menu(
menu_title= None,
options=["Resume Screen", "Technical Screen", "Behavioral Screen"],
icons = ["cloud-upload", "cast", "cast"],
default_index=0,
orientation="horizontal",
)

st.markdown("#")
st.markdown("<hr>", unsafe_allow_html=True)

st.markdown("<h1 style='text-align: center; color: black;'>Features</h1>", unsafe_allow_html=True)
st.markdown("#")
col1, col2, col3 = st.columns(3)
with col1:
st_lottie(load_lottiefile("images/brain.json"), speed=1, reverse=False, loop=True, quality="high", height=300)
st.markdown("<h3 style='text-align: center; color: black;'>ask questions relevant to your resume and job description</h3>", unsafe_allow_html=True)
with col2:
st_lottie(load_lottiefile("images/recording.json"), speed=1, reverse=False, loop=True, quality="high", height=300)
st.markdown("<h3 style='text-align: center; color: black;'>voice interaction</h3>", unsafe_allow_html=True)
with col3:
st_lottie(load_lottiefile("images/evaluation.json"), speed=1, reverse=False, loop=True, quality="high", height=300)
st.markdown("<h3 style='text-align: center; color: black;'>AI evaluation</h3>", unsafe_allow_html=True)


st.markdown("<hr>", unsafe_allow_html=True)
st.markdown("<p style='text-align: center; color: grey;'> Contact: [email protected] </p>", unsafe_allow_html=True)
st.markdown("<p style='text-align: center; color: grey;'> Fordham University Center of Digital Transformation DesignLAB </p>", unsafe_allow_html=True)
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
import langchain.chat_models.base
from PyPDF2 import PdfReader
from langchain.embeddings import OpenAIEmbeddings
from langchain.text_splitter import NLTKTextSplitter
from langchain.chains import RetrievalQA
from langchain.vectorstores import Chroma
import streamlit as st
class phonescreen:

def __init__(self, pdf_file, retriever = None):
self.pdf_file = pdf_file
self.retriever = None

def Chat_OpenAI(self, query: str, llm: langchain.chat_models.base.BaseChatModel, chain_type_kwargs: dict, retriever, memory):

# Conversational Retrieval chain
qa = RetrievalQA.from_chain_type(llm= llm, chain_type_kwargs = chain_type_kwargs, chain_type = 'stuff', retriever = retriever, memory = memory)

answers = qa.run(query)

import langchain.chat_models.base
from PyPDF2 import PdfReader
from langchain.embeddings import OpenAIEmbeddings
from langchain.text_splitter import NLTKTextSplitter
from langchain.chains import RetrievalQA
from langchain.vectorstores import Chroma
import streamlit as st
class phonescreen:

def __init__(self, pdf_file, retriever = None):
self.pdf_file = pdf_file
self.retriever = None

def Chat_OpenAI(self, query: str, llm: langchain.chat_models.base.BaseChatModel, chain_type_kwargs: dict, retriever, memory):

# Conversational Retrieval chain
qa = RetrievalQA.from_chain_type(llm= llm, chain_type_kwargs = chain_type_kwargs, chain_type = 'stuff', retriever = retriever, memory = memory)

answers = qa.run(query)

return answers
Loading

0 comments on commit ca4b2bd

Please sign in to comment.