-
Notifications
You must be signed in to change notification settings - Fork 114
Commit
- Loading branch information
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
[theme] | ||
base = 'light' | ||
primaryColor = 'F63366' | ||
font = 'serif' |
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' | ||
|
||
|
This file was deleted.
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 |
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 |
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) |
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 |