fudii0921 commited on
Commit
c01bc87
·
verified ·
1 Parent(s): 92b4268

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +61 -5
app.py CHANGED
@@ -6,6 +6,55 @@ from dotenv import load_dotenv
6
 
7
  load_dotenv(verbose=True)
8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9
 
10
  # スコアを抽出する関数
11
  def post_scores(state,email):
@@ -120,9 +169,8 @@ with gr.Blocks(css="footer {visibility: hidden;} #header {display: flex; justify
120
  "final_comment": "",
121
  "final_score": [],
122
  })
123
-
124
- #gr.Markdown('<div id="header"><span>🧑‍🏫👩‍🏫 エンジニア・スキル評価</span><img id="logo" src="https://huggingface.co/datasets/fudii0921/repository/resolve/main/RYHLOGO.png" width="64" height="64" alt="Logo"></div>')
125
- gr.HTML('<div id="header"><span>🧑‍🏫👩‍🏫 エンジニア・スキル評価</span><img id="logo" src="https://huggingface.co/datasets/fudii0921/repository/resolve/main/RYHLOGO.png" width="64" height="64" alt="Logo"></div>')
126
  gr.Markdown("エンジニア・スキルを簡易評価するアプリです!")
127
 
128
  with gr.Tab("エンジニア・スキル評価質問フォーム"):
@@ -132,28 +180,36 @@ with gr.Blocks(css="footer {visibility: hidden;} #header {display: flex; justify
132
 
133
  with gr.Row():
134
  lang = gr.Textbox(label="普段使用しているプログラミング言語は何ですか?、尚、経験年数を教えてください。",
135
- info="Pythonが得意。スクリプト作成やデータ分析、機械学習まで幅広く活用している。")
 
136
  with gr.Row():
137
  debug_tools = gr.Textbox(label="コードのデバッグ方法やツールについて教えてください。",
138
  info="よく使うのはpdb(Python Debugger)やVS Codeのデバッガ機能。エラー箇所を細かくチェックするのが好き。")
 
139
  with gr.Row():
140
  recent_problem = gr.Textbox(label="最近解決した技術的な課題を教えてください。どのようにアプローチしましたか?",
141
  info="例えば、APIの連携でエラーが続発する問題があったとき、レスポンスをしっかりロギングし���パターンを分析、結果的にリクエストヘッダーを微調整して解決できた。")
 
142
  with gr.Row():
143
  project_approach = gr.Textbox(label="複雑なプロジェクトで課題が発生した場合、どう対処しますか?",
144
  info="チーム内でブレインストーミングしてアイデアを出し合い、最良の解決策を選択するのが常套手段だと思っている。")
 
145
  with gr.Row():
146
  project_scale = gr.Textbox(label="過去に関わったプロジェクトの規模や内容を教えてください。",
147
- info="人で取り組むものから、数十人規模の開発チームでクラウドシステム構築などをした経験もある。")
 
148
  with gr.Row():
149
  team_role = gr.Textbox(label="チームでどのような役割を果たしましたか?",
150
  info="主にテクニカルリーダーとして、設計からレビューまでを担当。時には新人教育も。")
 
151
  with gr.Row():
152
  learning_methods = gr.Textbox(label="新しい技術を学ぶ際にどのような方法を取っていますか?",
153
  info="実際に手を動かして試すのが一番。Tutorialやドキュメントを読みながらプロトタイプを作成。")
 
154
  with gr.Row():
155
  recent_learning = gr.Textbox(label="最近学んだ技術や知識は何ですか?",
156
  info="最近は生成AIのモデルチューニング方法について学んだよ。これでさらに便利なプロジェクトが作れる。")
 
157
 
158
  # ボタンと出力フィールド
159
  with gr.Row():
 
6
 
7
  load_dotenv(verbose=True)
8
 
9
+ def update_lang(lang):
10
+ if len(lang) == 0:
11
+ return gr.update(value="Pythonが得意。スクリプト作成やデータ分析、機械学習まで幅広く活用している。")
12
+ else:
13
+ return gr.update(value=lang)
14
+
15
+ def update_debug(debug):
16
+ if len(debug) == 0:
17
+ return gr.update(value="よく使うのはpdb(Python Debugger)やVS Codeのデバッガ機能。エラー箇所を細かくチェックするのが好き。")
18
+ else:
19
+ return gr.update(value=debug)
20
+
21
+ def update_recent_problem(recent_problem):
22
+ if len(recent_problem) == 0:
23
+ return gr.update(value="例えば、APIの連携でエラーが続発する問題があったとき、レスポンスをしっかりロギングしてパターンを分析、結果的にリクエストヘッダーを微調整して解決できた。")
24
+ else:
25
+ return gr.update(value=recent_problem)
26
+
27
+ def update_project_approach(project_approach):
28
+ if len(project_approach) == 0:
29
+ return gr.update(value="チーム内でブレインストーミングしてアイデアを出し合い、最良の解決策を選択するのが常套手段だと思っている。")
30
+ else:
31
+ return gr.update(value=project_approach)
32
+
33
+ def update_project_scale(project_scale):
34
+ if len(project_scale) == 0:
35
+ return gr.update(value="1人で取り組むものから、数十人規模の開発チームでクラウドシステム構築などをした経験もある。")
36
+ else:
37
+ return gr.update(value=project_scale)
38
+
39
+ def update_team_role (team_role):
40
+ if len(team_role ) == 0:
41
+ return gr.update(value="主にテクニカルリーダーとして、設計からレビューまでを担当。時には新人教育も。")
42
+ else:
43
+ return gr.update(value=team_role)
44
+
45
+ def update_learning_methods(learning_methods):
46
+ if len(learning_methods) == 0:
47
+ return gr.update(value="実際に手を動かして試すのが一番。Tutorialやドキュメントを読みながらプロトタイプを作成。")
48
+ else:
49
+ return gr.update(value=learning_methods)
50
+
51
+ def update_recent_learning(recent_learning):
52
+ if len(recent_learning) == 0:
53
+ return gr.update(value="最近は生成AIのモデルチューニング方法について学んだよ。これでさらに便利なプロジェクトが作れる。")
54
+ else:
55
+ return gr.update(value=recent_learning)
56
+
57
+
58
 
59
  # スコアを抽出する関数
60
  def post_scores(state,email):
 
169
  "final_comment": "",
170
  "final_score": [],
171
  })
172
+
173
+ gr.HTML('<div id="header"><span>🧑‍🏫👩‍🏫 エンジニア・スキル評価</span><img id="logo" src="https://www.ryhintl.com/images/ryhlogo/ryhlogo.png" width="64" height="64" alt="Logo"></div>')
 
174
  gr.Markdown("エンジニア・スキルを簡易評価するアプリです!")
175
 
176
  with gr.Tab("エンジニア・スキル評価質問フォーム"):
 
180
 
181
  with gr.Row():
182
  lang = gr.Textbox(label="普段使用しているプログラミング言語は何ですか?、尚、経験年数を教えてください。",
183
+ info="Pythonが得意。スクリプト作成やデータ分析、機械学習まで幅広く活用している。", value="")
184
+ lang.submit(fn=update_lang,inputs=[lang],outputs=[lang])
185
  with gr.Row():
186
  debug_tools = gr.Textbox(label="コードのデバッグ方法やツールについて教えてください。",
187
  info="よく使うのはpdb(Python Debugger)やVS Codeのデバッガ機能。エラー箇所を細かくチェックするのが好き。")
188
+ debug_tools.submit(fn=update_debug,inputs=[debug_tools],outputs=[debug_tools])
189
  with gr.Row():
190
  recent_problem = gr.Textbox(label="最近解決した技術的な課題を教えてください。どのようにアプローチしましたか?",
191
  info="例えば、APIの連携でエラーが続発する問題があったとき、レスポンスをしっかりロギングし���パターンを分析、結果的にリクエストヘッダーを微調整して解決できた。")
192
+ recent_problem.submit(fn=update_recent_problem,inputs=[recent_problem],outputs=[recent_problem])
193
  with gr.Row():
194
  project_approach = gr.Textbox(label="複雑なプロジェクトで課題が発生した場合、どう対処しますか?",
195
  info="チーム内でブレインストーミングしてアイデアを出し合い、最良の解決策を選択するのが常套手段だと思っている。")
196
+ project_approach.submit(fn=update_project_approach,inputs=[project_approach],outputs=[project_approach])
197
  with gr.Row():
198
  project_scale = gr.Textbox(label="過去に関わったプロジェクトの規模や内容を教えてください。",
199
+ info="1人で取り組むものから、数十人規模の開発チームでクラウドシステム構築などをした経験もある。")
200
+ project_scale.submit(fn=update_project_scale,inputs=[project_scale],outputs=[project_scale])
201
  with gr.Row():
202
  team_role = gr.Textbox(label="チームでどのような役割を果たしましたか?",
203
  info="主にテクニカルリーダーとして、設計からレビューまでを担当。時には新人教育も。")
204
+ team_role.submit(fn=update_team_role,inputs=[team_role],outputs=[team_role])
205
  with gr.Row():
206
  learning_methods = gr.Textbox(label="新しい技術を学ぶ際にどのような方法を取っていますか?",
207
  info="実際に手を動かして試すのが一番。Tutorialやドキュメントを読みながらプロトタイプを作成。")
208
+ learning_methods.submit(fn=update_learning_methods,inputs=[learning_methods],outputs=[learning_methods])
209
  with gr.Row():
210
  recent_learning = gr.Textbox(label="最近学んだ技術や知識は何ですか?",
211
  info="最近は生成AIのモデルチューニング方法について学んだよ。これでさらに便利なプロジェクトが作れる。")
212
+ recent_learning.submit(fn=update_recent_learning,inputs=[recent_learning],outputs=[recent_learning])
213
 
214
  # ボタンと出力フィールド
215
  with gr.Row():