Spaces:
Sleeping
Sleeping
Hiroaki Ogasawara
commited on
Commit
·
22ef21f
1
Parent(s):
9ec8a57
chore: replace with requests
Browse files- .vscode/launch.json +13 -0
- app.py +2 -1
- pyproject.toml +1 -1
- requirements.txt +1 -2
- utils.py +30 -15
- uv.lock +2 -241
.vscode/launch.json
ADDED
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"version": "0.2.0",
|
3 |
+
"configurations": [
|
4 |
+
{
|
5 |
+
"name": "Python Debugger: Current File",
|
6 |
+
"type": "debugpy",
|
7 |
+
"request": "launch",
|
8 |
+
"program": "${file}",
|
9 |
+
"console": "integratedTerminal",
|
10 |
+
"justMyCode": false
|
11 |
+
}
|
12 |
+
]
|
13 |
+
}
|
app.py
CHANGED
@@ -17,7 +17,7 @@ def process_jsonl_file(jsonl_file_path: str, api_key: str):
|
|
17 |
json_data = [json.loads(line) for line in content]
|
18 |
|
19 |
if api_key is not None and api_key != "":
|
20 |
-
json_data = evaluate(json_data)
|
21 |
|
22 |
html_content = report(tasks=json_data)
|
23 |
|
@@ -41,6 +41,7 @@ with gr.Blocks() as demo:
|
|
41 |
|
42 |
jsonl_input = gr.File(label="JSONLファイルをアップロード")
|
43 |
api_key_input = gr.Textbox(label="APIキーを入力", type="password")
|
|
|
44 |
process_button = gr.Button("実行")
|
45 |
|
46 |
output_file = gr.File(label="セルフ評価レポート")
|
|
|
17 |
json_data = [json.loads(line) for line in content]
|
18 |
|
19 |
if api_key is not None and api_key != "":
|
20 |
+
json_data = evaluate(json_data, api_key)
|
21 |
|
22 |
html_content = report(tasks=json_data)
|
23 |
|
|
|
41 |
|
42 |
jsonl_input = gr.File(label="JSONLファイルをアップロード")
|
43 |
api_key_input = gr.Textbox(label="APIキーを入力", type="password")
|
44 |
+
gr.Markdown("GeminiのAPIキーの発行は[こちら](https://aistudio.google.com/app/apikey)")
|
45 |
process_button = gr.Button("実行")
|
46 |
|
47 |
output_file = gr.File(label="セルフ評価レポート")
|
pyproject.toml
CHANGED
@@ -5,6 +5,6 @@ description = "Add your description here"
|
|
5 |
readme = "README.md"
|
6 |
requires-python = ">=3.13"
|
7 |
dependencies = [
|
8 |
-
"google-generativeai>=0.8.3",
|
9 |
"gradio>=5.7.1",
|
|
|
10 |
]
|
|
|
5 |
readme = "README.md"
|
6 |
requires-python = ">=3.13"
|
7 |
dependencies = [
|
|
|
8 |
"gradio>=5.7.1",
|
9 |
+
"requests>=2.32.3",
|
10 |
]
|
requirements.txt
CHANGED
@@ -1,3 +1,2 @@
|
|
1 |
gradio>=5.7.1
|
2 |
-
|
3 |
-
huggingface_hub==0.25.2
|
|
|
1 |
gradio>=5.7.1
|
2 |
+
requests>=2.32.3
|
|
utils.py
CHANGED
@@ -1,7 +1,6 @@
|
|
1 |
import json
|
2 |
|
3 |
-
import
|
4 |
-
|
5 |
|
6 |
PREREQUISITE_PROMPT = """\
|
7 |
あなたは採点者です。
|
@@ -39,10 +38,10 @@ def evaluation_prompt(
|
|
39 |
"""
|
40 |
|
41 |
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
|
47 |
evaluations = []
|
48 |
for i in range(0, len(results), batch_size):
|
@@ -58,18 +57,34 @@ def evaluate(results: list[dict], api_key=str, batch_size: int = 10) -> list[dic
|
|
58 |
for result in batch_results
|
59 |
]
|
60 |
|
61 |
-
|
62 |
-
[
|
63 |
-
|
64 |
-
response_mime_type
|
65 |
-
|
66 |
-
|
67 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
68 |
|
69 |
for result, score in zip(batch_results, scores):
|
70 |
evaluations.append(
|
71 |
{
|
72 |
-
|
|
|
|
|
|
|
73 |
"score": score,
|
74 |
}
|
75 |
)
|
@@ -137,7 +152,7 @@ def report(tasks: list[dict]) -> str:
|
|
137 |
<div class="container" id="container"></div>
|
138 |
<script>
|
139 |
const messages = """
|
140 |
-
+
|
141 |
+ """;
|
142 |
|
143 |
// taskId: number
|
|
|
1 |
import json
|
2 |
|
3 |
+
import requests
|
|
|
4 |
|
5 |
PREREQUISITE_PROMPT = """\
|
6 |
あなたは採点者です。
|
|
|
38 |
"""
|
39 |
|
40 |
|
41 |
+
# GradioからのGemini SDKを用いた通信がいつまでも終わらないため、REST APIを利用する
|
42 |
+
def evaluate(results: list[dict], api_key: str, batch_size: int = 10) -> list[dict]:
|
43 |
+
url = f"https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash:generateContent?key={api_key}"
|
44 |
+
headers = {"Content-Type": "application/json"}
|
45 |
|
46 |
evaluations = []
|
47 |
for i in range(0, len(results), batch_size):
|
|
|
57 |
for result in batch_results
|
58 |
]
|
59 |
|
60 |
+
data = {
|
61 |
+
"contents": [{"parts": [{"text": "\n".join(prompts)}]}],
|
62 |
+
"generationConfig": {
|
63 |
+
"response_mime_type": "application/json",
|
64 |
+
"response_schema": {"type": "ARRAY", "items": {"type": "NUMBER"}},
|
65 |
+
},
|
66 |
+
}
|
67 |
+
|
68 |
+
response = requests.post(url, headers=headers, data=json.dumps(data))
|
69 |
+
|
70 |
+
if response.status_code == 200:
|
71 |
+
response_data = response.json()
|
72 |
+
# Parse the response_data to extract the scores
|
73 |
+
scores = json.loads(
|
74 |
+
response_data["candidates"][0]["content"]["parts"][0]["text"]
|
75 |
+
)
|
76 |
+
else:
|
77 |
+
raise Exception(
|
78 |
+
f"API request failed with status code {response.status_code}: {response.text}"
|
79 |
+
)
|
80 |
|
81 |
for result, score in zip(batch_results, scores):
|
82 |
evaluations.append(
|
83 |
{
|
84 |
+
"input": result["input"],
|
85 |
+
"output": result["output"],
|
86 |
+
"eval_aspect": result.get("eval_aspect"),
|
87 |
+
"target": result.get("target"),
|
88 |
"score": score,
|
89 |
}
|
90 |
)
|
|
|
152 |
<div class="container" id="container"></div>
|
153 |
<script>
|
154 |
const messages = """
|
155 |
+
+ json.dumps(tasks)
|
156 |
+ """;
|
157 |
|
158 |
// taskId: number
|
uv.lock
CHANGED
@@ -72,15 +72,6 @@ wheels = [
|
|
72 |
{ url = "https://files.pythonhosted.org/packages/5d/35/be73b6015511aa0173ec595fc579133b797ad532996f2998fd6b8d1bbe6b/audioop_lts-0.2.1-cp313-cp313t-win_arm64.whl", hash = "sha256:78bfb3703388c780edf900be66e07de5a3d4105ca8e8720c5c4d67927e0b15d0", size = 23918 },
|
73 |
]
|
74 |
|
75 |
-
[[package]]
|
76 |
-
name = "cachetools"
|
77 |
-
version = "5.5.0"
|
78 |
-
source = { registry = "https://pypi.org/simple" }
|
79 |
-
sdist = { url = "https://files.pythonhosted.org/packages/c3/38/a0f315319737ecf45b4319a8cd1f3a908e29d9277b46942263292115eee7/cachetools-5.5.0.tar.gz", hash = "sha256:2cc24fb4cbe39633fb7badd9db9ca6295d766d9c2995f245725a46715d050f2a", size = 27661 }
|
80 |
-
wheels = [
|
81 |
-
{ url = "https://files.pythonhosted.org/packages/a4/07/14f8ad37f2d12a5ce41206c21820d8cb6561b728e51fad4530dff0552a67/cachetools-5.5.0-py3-none-any.whl", hash = "sha256:02134e8439cdc2ffb62023ce1debca2944c3f289d66bb17ead3ab3dede74b292", size = 9524 },
|
82 |
-
]
|
83 |
-
|
84 |
[[package]]
|
85 |
name = "certifi"
|
86 |
version = "2024.8.30"
|
@@ -176,116 +167,6 @@ wheels = [
|
|
176 |
{ url = "https://files.pythonhosted.org/packages/c6/b2/454d6e7f0158951d8a78c2e1eb4f69ae81beb8dca5fee9809c6c99e9d0d0/fsspec-2024.10.0-py3-none-any.whl", hash = "sha256:03b9a6785766a4de40368b88906366755e2819e758b83705c88cd7cb5fe81871", size = 179641 },
|
177 |
]
|
178 |
|
179 |
-
[[package]]
|
180 |
-
name = "google-ai-generativelanguage"
|
181 |
-
version = "0.6.10"
|
182 |
-
source = { registry = "https://pypi.org/simple" }
|
183 |
-
dependencies = [
|
184 |
-
{ name = "google-api-core", extra = ["grpc"] },
|
185 |
-
{ name = "google-auth" },
|
186 |
-
{ name = "proto-plus" },
|
187 |
-
{ name = "protobuf" },
|
188 |
-
]
|
189 |
-
sdist = { url = "https://files.pythonhosted.org/packages/a5/71/46543c398629bb883b769041fc10278d4d63aaa2c34744dede1b84ec0207/google_ai_generativelanguage-0.6.10.tar.gz", hash = "sha256:6fa642c964d8728006fe7e8771026fc0b599ae0ebeaf83caf550941e8e693455", size = 795200 }
|
190 |
-
wheels = [
|
191 |
-
{ url = "https://files.pythonhosted.org/packages/af/6d/db99a295f9caf027bbdd90c41e6ea650a7468392a0e8713719e7abc5f647/google_ai_generativelanguage-0.6.10-py3-none-any.whl", hash = "sha256:854a2bf833d18be05ad5ef13c755567b66a4f4a870f099b62c61fe11bddabcf4", size = 760045 },
|
192 |
-
]
|
193 |
-
|
194 |
-
[[package]]
|
195 |
-
name = "google-api-core"
|
196 |
-
version = "2.23.0"
|
197 |
-
source = { registry = "https://pypi.org/simple" }
|
198 |
-
dependencies = [
|
199 |
-
{ name = "google-auth" },
|
200 |
-
{ name = "googleapis-common-protos" },
|
201 |
-
{ name = "proto-plus" },
|
202 |
-
{ name = "protobuf" },
|
203 |
-
{ name = "requests" },
|
204 |
-
]
|
205 |
-
sdist = { url = "https://files.pythonhosted.org/packages/fa/6b/b98553c2061c4e2186f5bbfb1aa1a6ef13fc0775c096d18595d3c99ba023/google_api_core-2.23.0.tar.gz", hash = "sha256:2ceb087315e6af43f256704b871d99326b1f12a9d6ce99beaedec99ba26a0ace", size = 160094 }
|
206 |
-
wheels = [
|
207 |
-
{ url = "https://files.pythonhosted.org/packages/17/a4/c26886d57d90032c5f74c2e80aefdc38ec58551fc46bd4ce79fb2c9389fa/google_api_core-2.23.0-py3-none-any.whl", hash = "sha256:c20100d4c4c41070cf365f1d8ddf5365915291b5eb11b83829fbd1c999b5122f", size = 156554 },
|
208 |
-
]
|
209 |
-
|
210 |
-
[package.optional-dependencies]
|
211 |
-
grpc = [
|
212 |
-
{ name = "grpcio" },
|
213 |
-
{ name = "grpcio-status" },
|
214 |
-
]
|
215 |
-
|
216 |
-
[[package]]
|
217 |
-
name = "google-api-python-client"
|
218 |
-
version = "2.154.0"
|
219 |
-
source = { registry = "https://pypi.org/simple" }
|
220 |
-
dependencies = [
|
221 |
-
{ name = "google-api-core" },
|
222 |
-
{ name = "google-auth" },
|
223 |
-
{ name = "google-auth-httplib2" },
|
224 |
-
{ name = "httplib2" },
|
225 |
-
{ name = "uritemplate" },
|
226 |
-
]
|
227 |
-
sdist = { url = "https://files.pythonhosted.org/packages/b8/fa/861931cf33f3d91d0d17001af3249cfc2af2b5a1b8472604420c025f3339/google_api_python_client-2.154.0.tar.gz", hash = "sha256:1b420062e03bfcaa1c79e2e00a612d29a6a934151ceb3d272fe150a656dc8f17", size = 12070143 }
|
228 |
-
wheels = [
|
229 |
-
{ url = "https://files.pythonhosted.org/packages/56/3f/adf5f6b963307765209fc27943516c7c605d250234b01899d524b8f01fe3/google_api_python_client-2.154.0-py2.py3-none-any.whl", hash = "sha256:a521bbbb2ec0ba9d6f307cdd64ed6e21eeac372d1bd7493a4ab5022941f784ad", size = 12573774 },
|
230 |
-
]
|
231 |
-
|
232 |
-
[[package]]
|
233 |
-
name = "google-auth"
|
234 |
-
version = "2.36.0"
|
235 |
-
source = { registry = "https://pypi.org/simple" }
|
236 |
-
dependencies = [
|
237 |
-
{ name = "cachetools" },
|
238 |
-
{ name = "pyasn1-modules" },
|
239 |
-
{ name = "rsa" },
|
240 |
-
]
|
241 |
-
sdist = { url = "https://files.pythonhosted.org/packages/6a/71/4c5387d8a3e46e3526a8190ae396659484377a73b33030614dd3b28e7ded/google_auth-2.36.0.tar.gz", hash = "sha256:545e9618f2df0bcbb7dcbc45a546485b1212624716975a1ea5ae8149ce769ab1", size = 268336 }
|
242 |
-
wheels = [
|
243 |
-
{ url = "https://files.pythonhosted.org/packages/2d/9a/3d5087d27865c2f0431b942b5c4500b7d1b744dd3262fdc973a4c39d099e/google_auth-2.36.0-py2.py3-none-any.whl", hash = "sha256:51a15d47028b66fd36e5c64a82d2d57480075bccc7da37cde257fc94177a61fb", size = 209519 },
|
244 |
-
]
|
245 |
-
|
246 |
-
[[package]]
|
247 |
-
name = "google-auth-httplib2"
|
248 |
-
version = "0.2.0"
|
249 |
-
source = { registry = "https://pypi.org/simple" }
|
250 |
-
dependencies = [
|
251 |
-
{ name = "google-auth" },
|
252 |
-
{ name = "httplib2" },
|
253 |
-
]
|
254 |
-
sdist = { url = "https://files.pythonhosted.org/packages/56/be/217a598a818567b28e859ff087f347475c807a5649296fb5a817c58dacef/google-auth-httplib2-0.2.0.tar.gz", hash = "sha256:38aa7badf48f974f1eb9861794e9c0cb2a0511a4ec0679b1f886d108f5640e05", size = 10842 }
|
255 |
-
wheels = [
|
256 |
-
{ url = "https://files.pythonhosted.org/packages/be/8a/fe34d2f3f9470a27b01c9e76226965863f153d5fbe276f83608562e49c04/google_auth_httplib2-0.2.0-py2.py3-none-any.whl", hash = "sha256:b65a0a2123300dd71281a7bf6e64d65a0759287df52729bdd1ae2e47dc311a3d", size = 9253 },
|
257 |
-
]
|
258 |
-
|
259 |
-
[[package]]
|
260 |
-
name = "google-generativeai"
|
261 |
-
version = "0.8.3"
|
262 |
-
source = { registry = "https://pypi.org/simple" }
|
263 |
-
dependencies = [
|
264 |
-
{ name = "google-ai-generativelanguage" },
|
265 |
-
{ name = "google-api-core" },
|
266 |
-
{ name = "google-api-python-client" },
|
267 |
-
{ name = "google-auth" },
|
268 |
-
{ name = "protobuf" },
|
269 |
-
{ name = "pydantic" },
|
270 |
-
{ name = "tqdm" },
|
271 |
-
{ name = "typing-extensions" },
|
272 |
-
]
|
273 |
-
wheels = [
|
274 |
-
{ url = "https://files.pythonhosted.org/packages/e9/2f/b5c1d62e94409ed98d5425e83b8e6d3dd475b611be272f561b1a545d273a/google_generativeai-0.8.3-py3-none-any.whl", hash = "sha256:1108ff89d5b8e59f51e63d1a8bf84701cd84656e17ca28d73aeed745e736d9b7", size = 160822 },
|
275 |
-
]
|
276 |
-
|
277 |
-
[[package]]
|
278 |
-
name = "googleapis-common-protos"
|
279 |
-
version = "1.66.0"
|
280 |
-
source = { registry = "https://pypi.org/simple" }
|
281 |
-
dependencies = [
|
282 |
-
{ name = "protobuf" },
|
283 |
-
]
|
284 |
-
sdist = { url = "https://files.pythonhosted.org/packages/ff/a7/8e9cccdb1c49870de6faea2a2764fa23f627dd290633103540209f03524c/googleapis_common_protos-1.66.0.tar.gz", hash = "sha256:c3e7b33d15fdca5374cc0a7346dd92ffa847425cc4ea941d970f13680052ec8c", size = 114376 }
|
285 |
-
wheels = [
|
286 |
-
{ url = "https://files.pythonhosted.org/packages/a0/0f/c0713fb2b3d28af4b2fded3291df1c4d4f79a00d15c2374a9e010870016c/googleapis_common_protos-1.66.0-py2.py3-none-any.whl", hash = "sha256:d7abcd75fabb2e0ec9f74466401f6c119a0b498e27370e9be4c94cb7e382b8ed", size = 221682 },
|
287 |
-
]
|
288 |
-
|
289 |
[[package]]
|
290 |
name = "gradio"
|
291 |
version = "5.7.1"
|
@@ -341,37 +222,6 @@ wheels = [
|
|
341 |
{ url = "https://files.pythonhosted.org/packages/02/dd/d064b3069032eb17fc682085e1152996fc8dcde2acc0d92ef0c790573091/gradio_client-1.5.0-py3-none-any.whl", hash = "sha256:4412edd555461771425355a8791ec4c437913dee515cb415444cb9a87d00bd9c", size = 320150 },
|
342 |
]
|
343 |
|
344 |
-
[[package]]
|
345 |
-
name = "grpcio"
|
346 |
-
version = "1.68.0"
|
347 |
-
source = { registry = "https://pypi.org/simple" }
|
348 |
-
sdist = { url = "https://files.pythonhosted.org/packages/d5/da/132615afbfc722df4bba963844843a205aa298fd5f9a03fa2995e8dddf11/grpcio-1.68.0.tar.gz", hash = "sha256:7e7483d39b4a4fddb9906671e9ea21aaad4f031cdfc349fec76bdfa1e404543a", size = 12682655 }
|
349 |
-
wheels = [
|
350 |
-
{ url = "https://files.pythonhosted.org/packages/fb/2d/d9cbdb75dc99141705f08474e97b181034c2e53a345d94b58e3c55f4dd92/grpcio-1.68.0-cp313-cp313-linux_armv7l.whl", hash = "sha256:fc05759ffbd7875e0ff2bd877be1438dfe97c9312bbc558c8284a9afa1d0f40e", size = 5149697 },
|
351 |
-
{ url = "https://files.pythonhosted.org/packages/6f/37/a848871a5adba8cd571fa89e8aabc40ca0c475bd78b2e645e1649b20e095/grpcio-1.68.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:15fa1fe25d365a13bc6d52fcac0e3ee1f9baebdde2c9b3b2425f8a4979fccea1", size = 11084394 },
|
352 |
-
{ url = "https://files.pythonhosted.org/packages/1f/52/b09374aab9c9c2f66627ce7de39eef41d73670aa0f75286d91dcc22a2dd8/grpcio-1.68.0-cp313-cp313-manylinux_2_17_aarch64.whl", hash = "sha256:32a9cb4686eb2e89d97022ecb9e1606d132f85c444354c17a7dbde4a455e4a3b", size = 5645417 },
|
353 |
-
{ url = "https://files.pythonhosted.org/packages/01/78/ec5ad7c44d7adaf0b932fd41ce8c59a95177a8c79c947c77204600b652db/grpcio-1.68.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dba037ff8d284c8e7ea9a510c8ae0f5b016004f13c3648f72411c464b67ff2fb", size = 6291062 },
|
354 |
-
{ url = "https://files.pythonhosted.org/packages/f7/7f/7f5a1a8dc63a42b78ca930d195eb0c97aa7a09e8553bb3a07b7cf37f6bc1/grpcio-1.68.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0efbbd849867e0e569af09e165363ade75cf84f5229b2698d53cf22c7a4f9e21", size = 5906505 },
|
355 |
-
{ url = "https://files.pythonhosted.org/packages/41/7b/0b048b8ad1a09fab5f4567fba2a569fb9106c4c1bb473c009c25659542cb/grpcio-1.68.0-cp313-cp313-musllinux_1_1_i686.whl", hash = "sha256:4e300e6978df0b65cc2d100c54e097c10dfc7018b9bd890bbbf08022d47f766d", size = 6635069 },
|
356 |
-
{ url = "https://files.pythonhosted.org/packages/5e/c5/9f0ebc9cfba8309a15a9786c953ce99eaf4e1ca2df402b3c5ecf42493bd4/grpcio-1.68.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:6f9c7ad1a23e1047f827385f4713b5b8c6c7d325705be1dd3e31fb00dcb2f665", size = 6200683 },
|
357 |
-
{ url = "https://files.pythonhosted.org/packages/ce/e1/d3eba05299d5acdae6c11d056308b885f1d1be0b328baa8233d5d139ec1d/grpcio-1.68.0-cp313-cp313-win32.whl", hash = "sha256:3ac7f10850fd0487fcce169c3c55509101c3bde2a3b454869639df2176b60a03", size = 3637301 },
|
358 |
-
{ url = "https://files.pythonhosted.org/packages/3c/c1/decb2b368a54c00a6ee815c3f610903f36432e3cb591d43369319826b05e/grpcio-1.68.0-cp313-cp313-win_amd64.whl", hash = "sha256:afbf45a62ba85a720491bfe9b2642f8761ff348006f5ef67e4622621f116b04a", size = 4390939 },
|
359 |
-
]
|
360 |
-
|
361 |
-
[[package]]
|
362 |
-
name = "grpcio-status"
|
363 |
-
version = "1.68.0"
|
364 |
-
source = { registry = "https://pypi.org/simple" }
|
365 |
-
dependencies = [
|
366 |
-
{ name = "googleapis-common-protos" },
|
367 |
-
{ name = "grpcio" },
|
368 |
-
{ name = "protobuf" },
|
369 |
-
]
|
370 |
-
sdist = { url = "https://files.pythonhosted.org/packages/70/95/500b24fc02a98ea16097e978958dd7ab9e16db9316a3f0bdc88d5ff239df/grpcio_status-1.68.0.tar.gz", hash = "sha256:8369823de22ab6a2cddb3804669c149ae7a71819e127c2dca7c2322028d52bea", size = 13666 }
|
371 |
-
wheels = [
|
372 |
-
{ url = "https://files.pythonhosted.org/packages/40/ba/dc535631a9dffa421b327ebfc961911af54c396aa5324efd122a94f72464/grpcio_status-1.68.0-py3-none-any.whl", hash = "sha256:0a71b15d989f02df803b4ba85c5bf1f43aeaa58ac021e5f9974b8cadc41f784d", size = 14427 },
|
373 |
-
]
|
374 |
-
|
375 |
[[package]]
|
376 |
name = "h11"
|
377 |
version = "0.14.0"
|
@@ -394,18 +244,6 @@ wheels = [
|
|
394 |
{ url = "https://files.pythonhosted.org/packages/87/f5/72347bc88306acb359581ac4d52f23c0ef445b57157adedb9aee0cd689d2/httpcore-1.0.7-py3-none-any.whl", hash = "sha256:a3fff8f43dc260d5bd363d9f9cf1830fa3a458b332856f34282de498ed420edd", size = 78551 },
|
395 |
]
|
396 |
|
397 |
-
[[package]]
|
398 |
-
name = "httplib2"
|
399 |
-
version = "0.22.0"
|
400 |
-
source = { registry = "https://pypi.org/simple" }
|
401 |
-
dependencies = [
|
402 |
-
{ name = "pyparsing" },
|
403 |
-
]
|
404 |
-
sdist = { url = "https://files.pythonhosted.org/packages/3d/ad/2371116b22d616c194aa25ec410c9c6c37f23599dcd590502b74db197584/httplib2-0.22.0.tar.gz", hash = "sha256:d7a10bc5ef5ab08322488bde8c726eeee5c8618723fdb399597ec58f3d82df81", size = 351116 }
|
405 |
-
wheels = [
|
406 |
-
{ url = "https://files.pythonhosted.org/packages/a8/6c/d2fbdaaa5959339d53ba38e94c123e4e84b8fbc4b84beb0e70d7c1608486/httplib2-0.22.0-py3-none-any.whl", hash = "sha256:14ae0a53c1ba8f3d37e9e27cf37eabb0fb9980f435ba405d546948b009dd64dc", size = 96854 },
|
407 |
-
]
|
408 |
-
|
409 |
[[package]]
|
410 |
name = "httpx"
|
411 |
version = "0.28.0"
|
@@ -465,14 +303,14 @@ name = "llm-exercise-report"
|
|
465 |
version = "0.1.0"
|
466 |
source = { virtual = "." }
|
467 |
dependencies = [
|
468 |
-
{ name = "google-generativeai" },
|
469 |
{ name = "gradio" },
|
|
|
470 |
]
|
471 |
|
472 |
[package.metadata]
|
473 |
requires-dist = [
|
474 |
-
{ name = "google-generativeai", specifier = ">=0.8.3" },
|
475 |
{ name = "gradio", specifier = ">=5.7.1" },
|
|
|
476 |
]
|
477 |
|
478 |
[[package]]
|
@@ -610,53 +448,6 @@ wheels = [
|
|
610 |
{ url = "https://files.pythonhosted.org/packages/51/85/9c33f2517add612e17f3381aee7c4072779130c634921a756c97bc29fb49/pillow-11.0.0-cp313-cp313t-win_arm64.whl", hash = "sha256:75acbbeb05b86bc53cbe7b7e6fe00fbcf82ad7c684b3ad82e3d711da9ba287d3", size = 2256828 },
|
611 |
]
|
612 |
|
613 |
-
[[package]]
|
614 |
-
name = "proto-plus"
|
615 |
-
version = "1.25.0"
|
616 |
-
source = { registry = "https://pypi.org/simple" }
|
617 |
-
dependencies = [
|
618 |
-
{ name = "protobuf" },
|
619 |
-
]
|
620 |
-
sdist = { url = "https://files.pythonhosted.org/packages/7e/05/74417b2061e1bf1b82776037cad97094228fa1c1b6e82d08a78d3fb6ddb6/proto_plus-1.25.0.tar.gz", hash = "sha256:fbb17f57f7bd05a68b7707e745e26528b0b3c34e378db91eef93912c54982d91", size = 56124 }
|
621 |
-
wheels = [
|
622 |
-
{ url = "https://files.pythonhosted.org/packages/dd/25/0b7cc838ae3d76d46539020ec39fc92bfc9acc29367e58fe912702c2a79e/proto_plus-1.25.0-py3-none-any.whl", hash = "sha256:c91fc4a65074ade8e458e95ef8bac34d4008daa7cce4a12d6707066fca648961", size = 50126 },
|
623 |
-
]
|
624 |
-
|
625 |
-
[[package]]
|
626 |
-
name = "protobuf"
|
627 |
-
version = "5.29.0"
|
628 |
-
source = { registry = "https://pypi.org/simple" }
|
629 |
-
sdist = { url = "https://files.pythonhosted.org/packages/6a/bb/8e59a30b83102a37d24f907f417febb58e5f544d4f124dd1edcd12e078bf/protobuf-5.29.0.tar.gz", hash = "sha256:445a0c02483869ed8513a585d80020d012c6dc60075f96fa0563a724987b1001", size = 424944 }
|
630 |
-
wheels = [
|
631 |
-
{ url = "https://files.pythonhosted.org/packages/31/cc/98140acbcc3e3a58c679d50dd4f04c3687bdd19690f388c65bb1ae4c1e5e/protobuf-5.29.0-cp310-abi3-win32.whl", hash = "sha256:ea7fb379b257911c8c020688d455e8f74efd2f734b72dc1ea4b4d7e9fd1326f2", size = 422709 },
|
632 |
-
{ url = "https://files.pythonhosted.org/packages/c9/91/38fb97b0cbe96109fa257536ad49dffdac3c8f86b46d9c85dc9e949b5291/protobuf-5.29.0-cp310-abi3-win_amd64.whl", hash = "sha256:34a90cf30c908f47f40ebea7811f743d360e202b6f10d40c02529ebd84afc069", size = 434510 },
|
633 |
-
{ url = "https://files.pythonhosted.org/packages/da/97/faeca508d61b231372cdc3006084fd97f21f3c8c726a2de5f2ebb8e4ab78/protobuf-5.29.0-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:c931c61d0cc143a2e756b1e7f8197a508de5365efd40f83c907a9febf36e6b43", size = 417827 },
|
634 |
-
{ url = "https://files.pythonhosted.org/packages/eb/d6/c6a45a285374ab14499a9ef5a69e4e7b4911e641465681c1d602518d6ab2/protobuf-5.29.0-cp38-abi3-manylinux2014_aarch64.whl", hash = "sha256:85286a47caf63b34fa92fdc1fd98b649a8895db595cfa746c5286eeae890a0b1", size = 319576 },
|
635 |
-
{ url = "https://files.pythonhosted.org/packages/ee/2e/cc46181ddce0940647d21a8341bf2eddad247a5d030e8c30c7a342793978/protobuf-5.29.0-cp38-abi3-manylinux2014_x86_64.whl", hash = "sha256:0d10091d6d03537c3f902279fcf11e95372bdd36a79556311da0487455791b20", size = 319672 },
|
636 |
-
{ url = "https://files.pythonhosted.org/packages/7c/6c/dd1f0e8372ec2a8006102871d8da1466b116f3328db96972e19bf24f09ca/protobuf-5.29.0-py3-none-any.whl", hash = "sha256:88c4af76a73183e21061881360240c0cdd3c39d263b4e8fb570aaf83348d608f", size = 172553 },
|
637 |
-
]
|
638 |
-
|
639 |
-
[[package]]
|
640 |
-
name = "pyasn1"
|
641 |
-
version = "0.6.1"
|
642 |
-
source = { registry = "https://pypi.org/simple" }
|
643 |
-
sdist = { url = "https://files.pythonhosted.org/packages/ba/e9/01f1a64245b89f039897cb0130016d79f77d52669aae6ee7b159a6c4c018/pyasn1-0.6.1.tar.gz", hash = "sha256:6f580d2bdd84365380830acf45550f2511469f673cb4a5ae3857a3170128b034", size = 145322 }
|
644 |
-
wheels = [
|
645 |
-
{ url = "https://files.pythonhosted.org/packages/c8/f1/d6a797abb14f6283c0ddff96bbdd46937f64122b8c925cab503dd37f8214/pyasn1-0.6.1-py3-none-any.whl", hash = "sha256:0d632f46f2ba09143da3a8afe9e33fb6f92fa2320ab7e886e2d0f7672af84629", size = 83135 },
|
646 |
-
]
|
647 |
-
|
648 |
-
[[package]]
|
649 |
-
name = "pyasn1-modules"
|
650 |
-
version = "0.4.1"
|
651 |
-
source = { registry = "https://pypi.org/simple" }
|
652 |
-
dependencies = [
|
653 |
-
{ name = "pyasn1" },
|
654 |
-
]
|
655 |
-
sdist = { url = "https://files.pythonhosted.org/packages/1d/67/6afbf0d507f73c32d21084a79946bfcfca5fbc62a72057e9c23797a737c9/pyasn1_modules-0.4.1.tar.gz", hash = "sha256:c28e2dbf9c06ad61c71a075c7e0f9fd0f1b0bb2d2ad4377f240d33ac2ab60a7c", size = 310028 }
|
656 |
-
wheels = [
|
657 |
-
{ url = "https://files.pythonhosted.org/packages/77/89/bc88a6711935ba795a679ea6ebee07e128050d6382eaa35a0a47c8032bdc/pyasn1_modules-0.4.1-py3-none-any.whl", hash = "sha256:49bfa96b45a292b711e986f222502c1c9a5e1f4e568fc30e2574a6c7d07838fd", size = 181537 },
|
658 |
-
]
|
659 |
-
|
660 |
[[package]]
|
661 |
name = "pydantic"
|
662 |
version = "2.10.2"
|
@@ -714,15 +505,6 @@ wheels = [
|
|
714 |
{ url = "https://files.pythonhosted.org/packages/f7/3f/01c8b82017c199075f8f788d0d906b9ffbbc5a47dc9918a945e13d5a2bda/pygments-2.18.0-py3-none-any.whl", hash = "sha256:b8e6aca0523f3ab76fee51799c488e38782ac06eafcf95e7ba832985c8e7b13a", size = 1205513 },
|
715 |
]
|
716 |
|
717 |
-
[[package]]
|
718 |
-
name = "pyparsing"
|
719 |
-
version = "3.2.0"
|
720 |
-
source = { registry = "https://pypi.org/simple" }
|
721 |
-
sdist = { url = "https://files.pythonhosted.org/packages/8c/d5/e5aeee5387091148a19e1145f63606619cb5f20b83fccb63efae6474e7b2/pyparsing-3.2.0.tar.gz", hash = "sha256:cbf74e27246d595d9a74b186b810f6fbb86726dbf3b9532efb343f6d7294fe9c", size = 920984 }
|
722 |
-
wheels = [
|
723 |
-
{ url = "https://files.pythonhosted.org/packages/be/ec/2eb3cd785efd67806c46c13a17339708ddc346cbb684eade7a6e6f79536a/pyparsing-3.2.0-py3-none-any.whl", hash = "sha256:93d9577b88da0bbea8cc8334ee8b918ed014968fd2ec383e868fb8afb1ccef84", size = 106921 },
|
724 |
-
]
|
725 |
-
|
726 |
[[package]]
|
727 |
name = "python-dateutil"
|
728 |
version = "2.9.0.post0"
|
@@ -798,18 +580,6 @@ wheels = [
|
|
798 |
{ url = "https://files.pythonhosted.org/packages/19/71/39c7c0d87f8d4e6c020a393182060eaefeeae6c01dab6a84ec346f2567df/rich-13.9.4-py3-none-any.whl", hash = "sha256:6049d5e6ec054bf2779ab3358186963bac2ea89175919d699e378b99738c2a90", size = 242424 },
|
799 |
]
|
800 |
|
801 |
-
[[package]]
|
802 |
-
name = "rsa"
|
803 |
-
version = "4.9"
|
804 |
-
source = { registry = "https://pypi.org/simple" }
|
805 |
-
dependencies = [
|
806 |
-
{ name = "pyasn1" },
|
807 |
-
]
|
808 |
-
sdist = { url = "https://files.pythonhosted.org/packages/aa/65/7d973b89c4d2351d7fb232c2e452547ddfa243e93131e7cfa766da627b52/rsa-4.9.tar.gz", hash = "sha256:e38464a49c6c85d7f1351b0126661487a7e0a14a50f1675ec50eb34d4f20ef21", size = 29711 }
|
809 |
-
wheels = [
|
810 |
-
{ url = "https://files.pythonhosted.org/packages/49/97/fa78e3d2f65c02c8e1268b9aba606569fe97f6c8f7c2d74394553347c145/rsa-4.9-py3-none-any.whl", hash = "sha256:90260d9058e514786967344d0ef75fa8727eed8a7d2e43ce9f4bcf1b536174f7", size = 34315 },
|
811 |
-
]
|
812 |
-
|
813 |
[[package]]
|
814 |
name = "ruff"
|
815 |
version = "0.8.1"
|
@@ -949,15 +719,6 @@ wheels = [
|
|
949 |
{ url = "https://files.pythonhosted.org/packages/a6/ab/7e5f53c3b9d14972843a647d8d7a853969a58aecc7559cb3267302c94774/tzdata-2024.2-py2.py3-none-any.whl", hash = "sha256:a48093786cdcde33cad18c2555e8532f34422074448fbc874186f0abd79565cd", size = 346586 },
|
950 |
]
|
951 |
|
952 |
-
[[package]]
|
953 |
-
name = "uritemplate"
|
954 |
-
version = "4.1.1"
|
955 |
-
source = { registry = "https://pypi.org/simple" }
|
956 |
-
sdist = { url = "https://files.pythonhosted.org/packages/d2/5a/4742fdba39cd02a56226815abfa72fe0aa81c33bed16ed045647d6000eba/uritemplate-4.1.1.tar.gz", hash = "sha256:4346edfc5c3b79f694bccd6d6099a322bbeb628dbf2cd86eea55a456ce5124f0", size = 273898 }
|
957 |
-
wheels = [
|
958 |
-
{ url = "https://files.pythonhosted.org/packages/81/c0/7461b49cd25aeece13766f02ee576d1db528f1c37ce69aee300e075b485b/uritemplate-4.1.1-py2.py3-none-any.whl", hash = "sha256:830c08b8d99bdd312ea4ead05994a38e8936266f84b9a7878232db50b044e02e", size = 10356 },
|
959 |
-
]
|
960 |
-
|
961 |
[[package]]
|
962 |
name = "urllib3"
|
963 |
version = "2.2.3"
|
|
|
72 |
{ url = "https://files.pythonhosted.org/packages/5d/35/be73b6015511aa0173ec595fc579133b797ad532996f2998fd6b8d1bbe6b/audioop_lts-0.2.1-cp313-cp313t-win_arm64.whl", hash = "sha256:78bfb3703388c780edf900be66e07de5a3d4105ca8e8720c5c4d67927e0b15d0", size = 23918 },
|
73 |
]
|
74 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
75 |
[[package]]
|
76 |
name = "certifi"
|
77 |
version = "2024.8.30"
|
|
|
167 |
{ url = "https://files.pythonhosted.org/packages/c6/b2/454d6e7f0158951d8a78c2e1eb4f69ae81beb8dca5fee9809c6c99e9d0d0/fsspec-2024.10.0-py3-none-any.whl", hash = "sha256:03b9a6785766a4de40368b88906366755e2819e758b83705c88cd7cb5fe81871", size = 179641 },
|
168 |
]
|
169 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
170 |
[[package]]
|
171 |
name = "gradio"
|
172 |
version = "5.7.1"
|
|
|
222 |
{ url = "https://files.pythonhosted.org/packages/02/dd/d064b3069032eb17fc682085e1152996fc8dcde2acc0d92ef0c790573091/gradio_client-1.5.0-py3-none-any.whl", hash = "sha256:4412edd555461771425355a8791ec4c437913dee515cb415444cb9a87d00bd9c", size = 320150 },
|
223 |
]
|
224 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
225 |
[[package]]
|
226 |
name = "h11"
|
227 |
version = "0.14.0"
|
|
|
244 |
{ url = "https://files.pythonhosted.org/packages/87/f5/72347bc88306acb359581ac4d52f23c0ef445b57157adedb9aee0cd689d2/httpcore-1.0.7-py3-none-any.whl", hash = "sha256:a3fff8f43dc260d5bd363d9f9cf1830fa3a458b332856f34282de498ed420edd", size = 78551 },
|
245 |
]
|
246 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
247 |
[[package]]
|
248 |
name = "httpx"
|
249 |
version = "0.28.0"
|
|
|
303 |
version = "0.1.0"
|
304 |
source = { virtual = "." }
|
305 |
dependencies = [
|
|
|
306 |
{ name = "gradio" },
|
307 |
+
{ name = "requests" },
|
308 |
]
|
309 |
|
310 |
[package.metadata]
|
311 |
requires-dist = [
|
|
|
312 |
{ name = "gradio", specifier = ">=5.7.1" },
|
313 |
+
{ name = "requests", specifier = ">=2.32.3" },
|
314 |
]
|
315 |
|
316 |
[[package]]
|
|
|
448 |
{ url = "https://files.pythonhosted.org/packages/51/85/9c33f2517add612e17f3381aee7c4072779130c634921a756c97bc29fb49/pillow-11.0.0-cp313-cp313t-win_arm64.whl", hash = "sha256:75acbbeb05b86bc53cbe7b7e6fe00fbcf82ad7c684b3ad82e3d711da9ba287d3", size = 2256828 },
|
449 |
]
|
450 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
451 |
[[package]]
|
452 |
name = "pydantic"
|
453 |
version = "2.10.2"
|
|
|
505 |
{ url = "https://files.pythonhosted.org/packages/f7/3f/01c8b82017c199075f8f788d0d906b9ffbbc5a47dc9918a945e13d5a2bda/pygments-2.18.0-py3-none-any.whl", hash = "sha256:b8e6aca0523f3ab76fee51799c488e38782ac06eafcf95e7ba832985c8e7b13a", size = 1205513 },
|
506 |
]
|
507 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
508 |
[[package]]
|
509 |
name = "python-dateutil"
|
510 |
version = "2.9.0.post0"
|
|
|
580 |
{ url = "https://files.pythonhosted.org/packages/19/71/39c7c0d87f8d4e6c020a393182060eaefeeae6c01dab6a84ec346f2567df/rich-13.9.4-py3-none-any.whl", hash = "sha256:6049d5e6ec054bf2779ab3358186963bac2ea89175919d699e378b99738c2a90", size = 242424 },
|
581 |
]
|
582 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
583 |
[[package]]
|
584 |
name = "ruff"
|
585 |
version = "0.8.1"
|
|
|
719 |
{ url = "https://files.pythonhosted.org/packages/a6/ab/7e5f53c3b9d14972843a647d8d7a853969a58aecc7559cb3267302c94774/tzdata-2024.2-py2.py3-none-any.whl", hash = "sha256:a48093786cdcde33cad18c2555e8532f34422074448fbc874186f0abd79565cd", size = 346586 },
|
720 |
]
|
721 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
722 |
[[package]]
|
723 |
name = "urllib3"
|
724 |
version = "2.2.3"
|