forked from jiatastic/GPTInterviewer
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Homepage.py
197 lines (178 loc) · 8.85 KB
/
Homepage.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
import streamlit as st
from streamlit_option_menu import option_menu
from app_utils import switch_page
import streamlit as st
from PIL import Image
im = Image.open("icon.png")
st.set_page_config(page_title = "AI Interviewer", layout = "centered",page_icon=im)
lan = st.selectbox("#### Language", ["English", "中文"])
if lan == "English":
home_title = "AI Interviewer"
home_introduction = "Welcome to AI Interviewer, empowering your interview preparation with generative AI."
with st.sidebar:
st.markdown('AI Interviewer - V0.1.2')
st.markdown("""
#### Let's contact:
[Haoxiang Jia](https://www.linkedin.com/in/haoxiang-jia/)
[Zicheng Wang](https://www.linkedin.com/in/todd-wang-5001aa264/)
#### Please fill the form, we'd love to have your feedback:
[Feedback Form](https://docs.google.com/forms/d/13f4q03bk4lD7sKR7qZ8UM1lQDo6NhRaAKv7uIeXHEaQ/edit)
#### Powered by
[OpenAI](https://openai.com/)
[FAISS](https://github.com/facebookresearch/faiss)
[Langchain](https://github.com/hwchase17/langchain)
""")
st.markdown(
"<style>#MainMenu{visibility:hidden;}</style>",
unsafe_allow_html=True
)
st.image(im, width=100)
st.markdown(f"""# {home_title} <span style=color:#2E9BF5><font size=5>Beta</font></span>""",unsafe_allow_html=True)
st.markdown("""\n""")
#st.markdown("#### Greetings")
st.markdown("Welcome to AI Interviewer! 👏 AI Interviewer is your personal interviewer powered by generative AI that conducts mock interviews."
"You can upload your resume and enter job descriptions, and AI Interviewer will ask you customized questions. Additionally, you can configure your own Interviewer!")
st.markdown("""\n""")
with st.expander("Updates"):
st.write("""
08/13/2023
- Fix the error that occurs when the user input fails to be recorded. """)
with st.expander("What's coming next?"):
st.write("""
Improved voice interaction for a seamless experience. """)
st.markdown("""\n""")
st.markdown("#### Get started!")
st.markdown("Select one of the following screens to start your interview!")
selected = option_menu(
menu_title= None,
options=["Professional", "Resume", "Behavioral","Customize!"],
icons = ["cast", "cloud-upload", "cast"],
default_index=0,
orientation="horizontal",
)
if selected == 'Professional':
st.info("""
📚In this session, the AI Interviewer will assess your technical skills as they relate to the job description.
Note: The maximum length of your answer is 4097 tokens!
- Each Interview will take 10 to 15 mins.
- To start a new session, just refresh the page.
- Choose your favorite interaction style (chat/voice)
- Start introduce yourself and enjoy! """)
if st.button("Start Interview!"):
switch_page("Professional Screen")
if selected == 'Resume':
st.info("""
📚In this session, the AI Interviewer will review your resume and discuss your past experiences.
Note: The maximum length of your answer is 4097 tokens!
- Each Interview will take 10 to 15 mins.
- To start a new session, just refresh the page.
- Choose your favorite interaction style (chat/voice)
- Start introduce yourself and enjoy! """
)
if st.button("Start Interview!"):
switch_page("Resume Screen")
if selected == 'Behavioral':
st.info("""
📚In this session, the AI Interviewer will assess your soft skills as they relate to the job description.
Note: The maximum length of your answer is 4097 tokens!
- Each Interview will take 10 to 15 mins.
- To start a new session, just refresh the page.
- Choose your favorite interaction style (chat/voice)
- Start introduce yourself and enjoy!
""")
if st.button("Start Interview!"):
switch_page("Behavioral Screen")
if selected == 'Customize!':
st.info("""
📚In this session, you can customize your own AI Interviewer and practice with it!
- Configure AI Interviewer in different specialties.
- Configure AI Interviewer in different personalities.
- Different tones of voice.
Coming at the end of July""")
st.markdown("""\n""")
st.markdown("#### Wiki")
st.write('[Click here to view common FAQs, future updates and more!](https://jiatastic.notion.site/wiki-8d962051e57a48ccb304e920afa0c6a8?pvs=4)')
#st.write(
# f'<iframe src="https://17nxkr0j95z3vy.embednotionpage.com/AI-Interviewer-Wiki-8d962051e57a48ccb304e920afa0c6a8" style="width:100%; height:100%; min-height:500px; border:0; padding:0;"/>',
# unsafe_allow_html=True,
# )
if lan == '中文':
home_title = "AI面试官"
home_introduction = "欢迎使用 AI 面试官,它能够通过生成式AI帮助您准备面试。"
with st.sidebar:
st.markdown('AI面试管 - V0.1.2')
st.markdown("""
#### 领英:
[贾皓翔](https://www.linkedin.com/in/haoxiang-jia/)
[王梓丞](https://www.linkedin.com/in/todd-wang-5001aa264/)
#### 请填写表格,我们非常希望听到您的反馈:
[Feedback Form](https://docs.google.com/forms/d/13f4q03bk4lD7sKR7qZ8UM1lQDo6NhRaAKv7uIeXHEaQ/edit)
#### 使用的技术:
[OpenAI](https://openai.com/)
[FAISS](https://github.com/facebookresearch/faiss)
[Langchain](https://github.com/hwchase17/langchain)
""")
st.markdown(
"<style>#MainMenu{visibility:hidden;}</style>",
unsafe_allow_html=True
)
st.image(im, width=100)
st.markdown(f"""# {home_title} <span style=color:#2E9BF5><font size=5>Beta</font></span>""", unsafe_allow_html=True)
st.markdown("""\n""")
# st.markdown("#### Greetings")
st.markdown(
"欢迎使用AI面试官!👏AI面试官是一款由生成式人工智能驱动的个人面试官,可以进行模拟面试。您可以上传您的简历或者复制粘贴工作描述,AI面试官会根据您的情况提出定制化的问题。"
)
st.markdown("""\n""")
with st.expander("更新日志"):
st.write("""
08/13/2023
- 修复了当用户输入失败时的报错问题 """)
with st.expander("未来计划"):
st.write("""
- 提供更加稳定和快速的语音交互
- 支持全中文的模拟面试 """)
st.markdown("""\n""")
st.markdown("#### 让我们开始吧!")
st.markdown("请选择以下其中一个开始您的面试!")
selected = option_menu(
menu_title=None,
options=["专业评估", "简历评估", "行为评估"],
icons=["cast", "cloud-upload", "cast"],
default_index=0,
orientation="horizontal",
)
if selected == '专业评估':
st.info("""
📚在本次面试中,AI面试官将会根据职位描述评估您的技术能力。
注意: 您回答的最大长度为4097个tokens!
- 每次面试将会持续10到15分钟。
- 您可以通过刷新页面来开始新的面试。
- 您可以选择您喜欢的交互方式(文字/语音)
- 开始介绍您自己吧! """)
if st.button("开始面试!"):
switch_page("Professional Screen")
if selected == '简历评估':
st.info("""
📚在本次面试中,AI面试官将会根据您的简历评估您的过往经历。
注意: 您回答的最大长度为4097个tokens!
- 每次面试将会持续10到15分钟。
- 您可以通过刷新页面来开始新的面试。
- 您可以选择您喜欢的交互方式(文字/语音)
- 开始介绍您自己吧! """)
if st.button("开始面试!"):
switch_page("Resume Screen")
if selected == '行为评估':
st.info("""
📚在本次面试中,AI面试官将会根据您的简历评估您的技术能力。
注意: 您回答的最大长度为4097个tokens!
- 每次面试将会持续10到15分钟。
- 您可以通过刷新页面来开始新的面试。
- 您可以选择您喜欢的交互方式(文字/语音)
- 开始介绍您自己吧! """)
if st.button("开始面试!"):
switch_page("Behavioral Screen")
st.markdown("""\n""")
st.markdown("#### 维基")
st.write(
'[点击查看常见问题,更新和计划!](https://jiatastic.notion.site/wiki-8d962051e57a48ccb304e920afa0c6a8?pvs=4)')