From 63af488c729eeb09b46a1687bcfa65a650f9afe1 Mon Sep 17 00:00:00 2001 From: Paul Du Preez Date: Thu, 21 May 2026 20:37:40 +0200 Subject: [PATCH] work done --- lab-extractive-question-answering.ipynb | 185 ++++++++++++++---------- 1 file changed, 107 insertions(+), 78 deletions(-) diff --git a/lab-extractive-question-answering.ipynb b/lab-extractive-question-answering.ipynb index 0cf5b39..c08d784 100644 --- a/lab-extractive-question-answering.ipynb +++ b/lab-extractive-question-answering.ipynb @@ -260,10 +260,10 @@ "outputs": [], "source": [ "# select only title and context column\n", - "df = None\n", + "df = df[['title', 'context']]\n", "# drop rows containing duplicate context passages\n", - "df = None\n", - "df" + "df = df.drop_duplicates(subset='context').reset_index(drop=True)\n", + "df\n" ] }, { @@ -325,7 +325,7 @@ "id": "58028e12" }, "source": [ - "Now we create a new index called \"question-answering\" — we can name the index anything we want. We specify the metric type as \"cosine\" and dimension as 384 because the retriever we use to generate context embeddings is optimized for cosine similarity and outputs 384-dimension vectors." + "Now we create a new index called \"question-answering\" \u2014 we can name the index anything we want. We specify the metric type as \"cosine\" and dimension as 384 because the retriever we use to generate context embeddings is optimized for cosine similarity and outputs 384-dimension vectors." ] }, { @@ -337,14 +337,19 @@ }, "outputs": [], "source": [ - "index_name = None\n", + "index_name = \"extractive-question-answering\"\n", "\n", "# check if the extractive-question-answering index exists\n", - "if index_name not in pinecone.list_indexes().names():\n", + "if index_name not in pc.list_indexes().names():\n", " # create the index if it does not exist\n", - " None\n", + " pc.create_index(\n", + " name=index_name,\n", + " dimension=384,\n", + " metric='cosine',\n", + " spec=spec\n", + " )\n", "# connect to extractive-question-answering index we created\n", - "index = pinecone.Index(index_name)" + "index = pc.Index(index_name)\n" ] }, { @@ -550,8 +555,8 @@ "# set device to GPU if available\n", "device = 'cuda' if torch.cuda.is_available() else 'cpu'\n", "# load the retriever model from huggingface model hub\n", - "retriever = None #use the 'multi-qa-MiniLM-L6-cos-v1' model from HuggingFace to build the retriever\n", - "retriever" + "retriever = SentenceTransformer('multi-qa-MiniLM-L6-cos-v1', device=device)\n", + "retriever\n" ] }, { @@ -609,22 +614,22 @@ "\n", "for i in tqdm(range(0, len(df), batch_size)):\n", " # find end of batch\n", - " None\n", + " i_end = min(i + batch_size, len(df))\n", " # extract batch\n", - " None\n", + " batch = df.iloc[i:i_end]\n", " # generate embeddings for batch\n", - " emb = None\n", + " emb = retriever.encode(batch['context'].tolist()).tolist()\n", " # get metadata\n", - " meta = None\n", + " meta = [{'title': row['title'], 'context': row['context']} for _, row in batch.iterrows()]\n", " # create unique IDs\n", - " ids = None\n", + " ids = [str(x) for x in range(i, i_end)]\n", " # add all to upsert list\n", - " to_upsert = None\n", + " to_upsert = list(zip(ids, emb, meta))\n", " # upsert/insert these records to pinecone\n", " _ = index.upsert(vectors=to_upsert)\n", "\n", "# check that we have all vectors in index\n", - "index.describe_index_stats()" + "index.describe_index_stats()\n" ] }, { @@ -748,12 +753,12 @@ "# gets context passages from the pinecone index\n", "def get_context(question, top_k):\n", " # generate embeddings for the question\n", - " xq = None\n", + " xq = retriever.encode(question).tolist()\n", " # search pinecone index for context passage with the answer\n", - " xc = None\n", + " xc = index.query(vector=xq, top_k=top_k, include_metadata=True)\n", " # extract the context passage from pinecone search result\n", - " c = None\n", - " return c" + " c = [m['metadata']['context'] for m in xc['matches']]\n", + " return c\n" ] }, { @@ -909,6 +914,30 @@ "The result looks pretty good." ] }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Creative question #1\n", + "question = \"Who painted the Mona Lisa?\"\n", + "context = get_context(question, top_k=3)\n", + "extract_answer(question, context)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Creative question #2 - observe how top_k affects results\n", + "question = \"When did World War II end?\"\n", + "context = get_context(question, top_k=5)\n", + "extract_answer(question, context)\n" + ] + }, { "cell_type": "code", "execution_count": null, @@ -1113,7 +1142,7 @@ "description": "", "description_tooltip": null, "layout": "IPY_MODEL_ecefacb9541d4bf8abfc08a7b8aafb45", - "placeholder": "​", + "placeholder": "\u200b", "style": "IPY_MODEL_2d3f5e7705754fcfba0a0aea131ec136", "value": " 349/349 [00:00<00:00, 11.6kB/s]" } @@ -1277,7 +1306,7 @@ "description": "", "description_tooltip": null, "layout": "IPY_MODEL_74be0f9f24194fe2a917e4c976376470", - "placeholder": "​", + "placeholder": "\u200b", "style": "IPY_MODEL_a379bd78fec544c7a8c94caa17265e15", "value": " 2/2 [00:00<00:00, 9.86it/s]" } @@ -1552,7 +1581,7 @@ "description": "", "description_tooltip": null, "layout": "IPY_MODEL_55df9f5332324bd9bd6b9961caff3e04", - "placeholder": "​", + "placeholder": "\u200b", "style": "IPY_MODEL_f76cf25a14cc40b1b59b9f7e5e979431", "value": " 190/190 [00:00<00:00, 6.08kB/s]" } @@ -1597,7 +1626,7 @@ "description": "", "description_tooltip": null, "layout": "IPY_MODEL_06e8f2fd69b8491ab4027709cb133007", - "placeholder": "​", + "placeholder": "\u200b", "style": "IPY_MODEL_02c7fa05d0ac4c8fb27cb94d90dcd8bd", "value": "Downloading: 100%" } @@ -2117,7 +2146,7 @@ "description": "", "description_tooltip": null, "layout": "IPY_MODEL_d0e96747d60c403883e888e21bbd9139", - "placeholder": "​", + "placeholder": "\u200b", "style": "IPY_MODEL_c44255eda6c04c339655c288cc74197b", "value": "Downloading data: " } @@ -2242,7 +2271,7 @@ "description": "", "description_tooltip": null, "layout": "IPY_MODEL_e610bf35b2d04f9488e3ee733689597f", - "placeholder": "​", + "placeholder": "\u200b", "style": "IPY_MODEL_4694ab9ad6774cb984437b1bb17ad4be", "value": "Downloading data: " } @@ -2457,7 +2486,7 @@ "description": "", "description_tooltip": null, "layout": "IPY_MODEL_14d80a2cf1764ed780b330f6e5a119a8", - "placeholder": "​", + "placeholder": "\u200b", "style": "IPY_MODEL_a1cec21a8e214cfdbd74365eaa189216", "value": "Downloading: 100%" } @@ -2478,7 +2507,7 @@ "description": "", "description_tooltip": null, "layout": "IPY_MODEL_954d0cd42c714097a32a52608f4ebe5f", - "placeholder": "​", + "placeholder": "\u200b", "style": "IPY_MODEL_c414494cbb0440bcbc14f23d422d7d7c", "value": " 232k/232k [00:00<00:00, 254kB/s]" } @@ -2566,7 +2595,7 @@ "description": "", "description_tooltip": null, "layout": "IPY_MODEL_371efcfcc40142e881f686d56d9d2ab0", - "placeholder": "​", + "placeholder": "\u200b", "style": "IPY_MODEL_fb90efe799a140c1a52c9b2589878c7e", "value": " 116/116 [00:00<00:00, 3.87kB/s]" } @@ -2773,7 +2802,7 @@ "description": "", "description_tooltip": null, "layout": "IPY_MODEL_f4c90ec901ad45b59c55384b2fb20102", - "placeholder": "​", + "placeholder": "\u200b", "style": "IPY_MODEL_5aca6e21b2454b38a1acc0a0b6cd0528", "value": "Downloading data files: 100%" } @@ -2938,7 +2967,7 @@ "description": "", "description_tooltip": null, "layout": "IPY_MODEL_a400335a81784e288123ff1ac6527e74", - "placeholder": "​", + "placeholder": "\u200b", "style": "IPY_MODEL_f62e4b08efc24c38ae042db8c24a60aa", "value": "Downloading: 100%" } @@ -3153,7 +3182,7 @@ "description": "", "description_tooltip": null, "layout": "IPY_MODEL_22470cc18a824f2cb59e1285819d1794", - "placeholder": "​", + "placeholder": "\u200b", "style": "IPY_MODEL_b3310b2a26e5420db192691ee868a92a", "value": " 2.36k/? [00:00<00:00, 78.0kB/s]" } @@ -3340,7 +3369,7 @@ "description": "", "description_tooltip": null, "layout": "IPY_MODEL_00b344135da443ac90e6e6a0f53cfe0f", - "placeholder": "​", + "placeholder": "\u200b", "style": "IPY_MODEL_b7a722597caf4924826bf4e26a9f88a9", "value": "Downloading special_tokens_map.json: 100%" } @@ -3376,7 +3405,7 @@ "description": "", "description_tooltip": null, "layout": "IPY_MODEL_c7af90e55c0a49608e0fcb6ff4fa119a", - "placeholder": "​", + "placeholder": "\u200b", "style": "IPY_MODEL_743371a554234ed79aaf9f359955b173", "value": " 4.85M/? [00:00<00:00, 21.1MB/s]" } @@ -3531,7 +3560,7 @@ "description": "", "description_tooltip": null, "layout": "IPY_MODEL_1af71e8a29344e76b7af7d679a876532", - "placeholder": "​", + "placeholder": "\u200b", "style": "IPY_MODEL_2147a4a74d0c44398947743a19431885", "value": " 5.27k/? [00:00<00:00, 141kB/s]" } @@ -3797,7 +3826,7 @@ "description": "", "description_tooltip": null, "layout": "IPY_MODEL_aa22fff203e04d34b246291e60c0bd1d", - "placeholder": "​", + "placeholder": "\u200b", "style": "IPY_MODEL_3dd4dfba64b84ba8abdb39168d3b3be7", "value": " 226k/226k [00:00<00:00, 220kB/s]" } @@ -4141,7 +4170,7 @@ "description": "", "description_tooltip": null, "layout": "IPY_MODEL_e25643454c504174873cd1ee0ede15df", - "placeholder": "​", + "placeholder": "\u200b", "style": "IPY_MODEL_48687ceb03a146f6b12b41bfd1fbdabf", "value": "Downloading pytorch_model.bin: 100%" } @@ -4282,7 +4311,7 @@ "description": "", "description_tooltip": null, "layout": "IPY_MODEL_9416a5475d89402c80f0b9a32626793b", - "placeholder": "​", + "placeholder": "\u200b", "style": "IPY_MODEL_3b916728cdd1489585b07b927a725cb4", "value": " 112/112 [00:00<00:00, 3.52kB/s]" } @@ -4303,7 +4332,7 @@ "description": "", "description_tooltip": null, "layout": "IPY_MODEL_ee199701bdb140548da37e446eac0e32", - "placeholder": "​", + "placeholder": "\u200b", "style": "IPY_MODEL_fb269219a24b4fce8d9118c86a7e949a", "value": " 90.9M/90.9M [00:01<00:00, 46.8MB/s]" } @@ -4324,7 +4353,7 @@ "description": "", "description_tooltip": null, "layout": "IPY_MODEL_2b93b9eb77f749fdadea146291e999ed", - "placeholder": "​", + "placeholder": "\u200b", "style": "IPY_MODEL_79bcdb3f77e444b893827d2fec6ed538", "value": "Downloading: 100%" } @@ -4345,7 +4374,7 @@ "description": "", "description_tooltip": null, "layout": "IPY_MODEL_5377a48b4a1c4320971169bda6e6f5c0", - "placeholder": "​", + "placeholder": "\u200b", "style": "IPY_MODEL_3d64495af2984517a41410c70c66f38d", "value": " 112/112 [00:00<00:00, 3.47kB/s]" } @@ -4433,7 +4462,7 @@ "description": "", "description_tooltip": null, "layout": "IPY_MODEL_119699e71cbc4898bfd44a9295e55bd2", - "placeholder": "​", + "placeholder": "\u200b", "style": "IPY_MODEL_8c6e6c6f7a3a416081a20de28f4dfb4a", "value": " 10000/10570 [00:01<00:00, 9229.19 examples/s]" } @@ -4729,7 +4758,7 @@ "description": "", "description_tooltip": null, "layout": "IPY_MODEL_e77730d2139743538a6ec08123c1ab3a", - "placeholder": "​", + "placeholder": "\u200b", "style": "IPY_MODEL_c6ebc4612bc64710bdd2fd11b509bed3", "value": " 635/635 [00:00<00:00, 19.9kB/s]" } @@ -4802,7 +4831,7 @@ "description": "", "description_tooltip": null, "layout": "IPY_MODEL_1295677618a64524b67740d404c60b00", - "placeholder": "​", + "placeholder": "\u200b", "style": "IPY_MODEL_6b48f2ce9cd641f98607c82d3fd0a560", "value": "Downloading: 100%" } @@ -4890,7 +4919,7 @@ "description": "", "description_tooltip": null, "layout": "IPY_MODEL_6d9078d8b6594fe68a8db22dec6be279", - "placeholder": "​", + "placeholder": "\u200b", "style": "IPY_MODEL_2f1b00135ee747f0bf0c0936987775d0", "value": "Downloading: 100%" } @@ -4911,7 +4940,7 @@ "description": "", "description_tooltip": null, "layout": "IPY_MODEL_75ed412a691d4477abde140d25abd881", - "placeholder": "​", + "placeholder": "\u200b", "style": "IPY_MODEL_37a7a7c69bba465a8e1ec7d1dd7a0684", "value": " 25.5k/25.5k [00:00<00:00, 18.0kB/s]" } @@ -4956,7 +4985,7 @@ "description": "", "description_tooltip": null, "layout": "IPY_MODEL_91af9bf242d6450aaea934f050dc1775", - "placeholder": "​", + "placeholder": "\u200b", "style": "IPY_MODEL_3663fc84732246299fffcdb7bf3c0e2e", "value": " 53.0/53.0 [00:00<00:00, 1.69kB/s]" } @@ -5124,7 +5153,7 @@ "description": "", "description_tooltip": null, "layout": "IPY_MODEL_3b302633f0ad44f1a5593f5a720b9ead", - "placeholder": "​", + "placeholder": "\u200b", "style": "IPY_MODEL_53a4b0a61f8a45b1aadedd66548137ee", "value": "Downloading: 100%" } @@ -5271,7 +5300,7 @@ "description": "", "description_tooltip": null, "layout": "IPY_MODEL_245d529f70bf465aa3d188bfc18f51d0", - "placeholder": "​", + "placeholder": "\u200b", "style": "IPY_MODEL_04596412249948f49a49a1bcf32a8000", "value": "Downloading vocab.txt: 100%" } @@ -5344,7 +5373,7 @@ "description": "", "description_tooltip": null, "layout": "IPY_MODEL_29a448fe68544bd6b9084b4a01286262", - "placeholder": "​", + "placeholder": "\u200b", "style": "IPY_MODEL_cc2c70ccfd7144d4a29974ee77ceb03a", "value": " 11.5k/11.5k [00:00<00:00, 318kB/s]" } @@ -5419,7 +5448,7 @@ "description": "", "description_tooltip": null, "layout": "IPY_MODEL_e09e80ba801e456a8802985f3d0eeed8", - "placeholder": "​", + "placeholder": "\u200b", "style": "IPY_MODEL_721e98439ff743418e1f1a1b286a7b08", "value": "Downloading: 100%" } @@ -5715,7 +5744,7 @@ "description": "", "description_tooltip": null, "layout": "IPY_MODEL_dc00845a7c2b43518ade2b011aeb3c1a", - "placeholder": "​", + "placeholder": "\u200b", "style": "IPY_MODEL_9cec7c39e40a4861b8b4aaefe6f5c710", "value": "Downloading: 100%" } @@ -5775,7 +5804,7 @@ "description": "", "description_tooltip": null, "layout": "IPY_MODEL_3b3c7fe9408c4508a1378e5cb8fcf131", - "placeholder": "​", + "placeholder": "\u200b", "style": "IPY_MODEL_9e27b412341a4c8ebfc05d90708bc8cb", "value": " 30.3M/? [00:00<00:00, 41.4MB/s]" } @@ -5886,7 +5915,7 @@ "description": "", "description_tooltip": null, "layout": "IPY_MODEL_77b6a3431d9c4323b3443a3bd99068bf", - "placeholder": "​", + "placeholder": "\u200b", "style": "IPY_MODEL_1440106ff95444948d34b4c3ab56c77c", "value": " 737/737 [00:00<00:00, 21.2kB/s]" } @@ -5907,7 +5936,7 @@ "description": "", "description_tooltip": null, "layout": "IPY_MODEL_14bdead5027147529c8cf404a73d524a", - "placeholder": "​", + "placeholder": "\u200b", "style": "IPY_MODEL_8de66722d12e4d89aeff9952642486c8", "value": " 296/296 [02:57<00:00, 1.99it/s]" } @@ -6126,7 +6155,7 @@ "description": "", "description_tooltip": null, "layout": "IPY_MODEL_db45031e100b4ef485676a70f0b4741a", - "placeholder": "​", + "placeholder": "\u200b", "style": "IPY_MODEL_440bb2a05ccc47faa6f18f5ef5b75d97", "value": " 612/612 [00:00<00:00, 16.1kB/s]" } @@ -6147,7 +6176,7 @@ "description": "", "description_tooltip": null, "layout": "IPY_MODEL_2d3be841bfd14d3cb187088af4ca2a19", - "placeholder": "​", + "placeholder": "\u200b", "style": "IPY_MODEL_d52ed00e4d68497da2b4a6920a332f7c", "value": "Downloading builder script: " } @@ -6198,7 +6227,7 @@ "description": "", "description_tooltip": null, "layout": "IPY_MODEL_1993f091e76744b3884d4026312e9104", - "placeholder": "​", + "placeholder": "\u200b", "style": "IPY_MODEL_33a22aaf172d460cbb2efef52f00e971", "value": " 200/200 [00:00<00:00, 4.78kB/s]" } @@ -6406,7 +6435,7 @@ "description": "", "description_tooltip": null, "layout": "IPY_MODEL_e1d3a5505aa34bdda8055a5b2c36339d", - "placeholder": "​", + "placeholder": "\u200b", "style": "IPY_MODEL_e89baa21c92a4812b48665bc80d8ad23", "value": "Generating validation split: 95%" } @@ -6736,7 +6765,7 @@ "description": "", "description_tooltip": null, "layout": "IPY_MODEL_c2105d458ca3413d988153be2d8396ed", - "placeholder": "​", + "placeholder": "\u200b", "style": "IPY_MODEL_cc5b2bdfbb6948f4a414dea44fe43ded", "value": " 466k/466k [00:01<00:00, 479kB/s]" } @@ -6819,7 +6848,7 @@ "description": "", "description_tooltip": null, "layout": "IPY_MODEL_456c00761e984c079075efbe9c12e176", - "placeholder": "​", + "placeholder": "\u200b", "style": "IPY_MODEL_51807116612e4d1f82f04c80c4e6f7e3", "value": " 383/383 [00:00<00:00, 12.2kB/s]" } @@ -7751,7 +7780,7 @@ "description": "", "description_tooltip": null, "layout": "IPY_MODEL_e29f16cf4d5843309575535a57f67116", - "placeholder": "​", + "placeholder": "\u200b", "style": "IPY_MODEL_53602496a3774618aa1089dc22b0de30", "value": "Downloading tokenizer_config.json: 100%" } @@ -7824,7 +7853,7 @@ "description": "", "description_tooltip": null, "layout": "IPY_MODEL_26d15a9aa1984a67a1cfde60fefa8d23", - "placeholder": "​", + "placeholder": "\u200b", "style": "IPY_MODEL_2133b4ce2f864c72b4f731cec3d556f5", "value": "Downloading: 100%" } @@ -8482,7 +8511,7 @@ "description": "", "description_tooltip": null, "layout": "IPY_MODEL_36948a2f5a61450bbdb8ca64363e9c25", - "placeholder": "​", + "placeholder": "\u200b", "style": "IPY_MODEL_0216dee6fd5b4ded893ee6e4f79b262d", "value": "Generating train split: 100%" } @@ -9019,7 +9048,7 @@ "description": "", "description_tooltip": null, "layout": "IPY_MODEL_adbb9e2a4f0e4145ba4cb8187406d2f4", - "placeholder": "​", + "placeholder": "\u200b", "style": "IPY_MODEL_4aa3613a6f734b4eb7e8e8ac0f0a32db", "value": " 2/2 [00:01<00:00, 1.25it/s]" } @@ -9352,7 +9381,7 @@ "description": "", "description_tooltip": null, "layout": "IPY_MODEL_bcf413c29278448a8c7bf31acd1281fb", - "placeholder": "​", + "placeholder": "\u200b", "style": "IPY_MODEL_9b5d45497e2b47ad8e49d24b38ba0647", "value": "Downloading config.json: 100%" } @@ -9425,7 +9454,7 @@ "description": "", "description_tooltip": null, "layout": "IPY_MODEL_6f3d4ed6477f445b8f7263096d4a1563", - "placeholder": "​", + "placeholder": "\u200b", "style": "IPY_MODEL_a93068057b514608ba619c1d553c65af", "value": "Downloading: 100%" } @@ -9587,7 +9616,7 @@ "description": "", "description_tooltip": null, "layout": "IPY_MODEL_b50cb9caf81c49e2bc1ade580334db4a", - "placeholder": "​", + "placeholder": "\u200b", "style": "IPY_MODEL_0c07bd4793d747339ead82c3d49d4ec6", "value": "Downloading: 100%" } @@ -9608,7 +9637,7 @@ "description": "", "description_tooltip": null, "layout": "IPY_MODEL_1bcc4afe110e4cc387c7745079c4e813", - "placeholder": "​", + "placeholder": "\u200b", "style": "IPY_MODEL_a689c0ccf8774f04a1641a87459f5689", "value": "Extracting data files: 100%" } @@ -9681,7 +9710,7 @@ "description": "", "description_tooltip": null, "layout": "IPY_MODEL_db981ad551664afb8af5c6dd9b6e532e", - "placeholder": "​", + "placeholder": "\u200b", "style": "IPY_MODEL_71cdb7316a644a90b0ba1856104f1f33", "value": "Downloading: 100%" } @@ -9702,7 +9731,7 @@ "description": "", "description_tooltip": null, "layout": "IPY_MODEL_210add0eec544de98b2d1e307299667b", - "placeholder": "​", + "placeholder": "\u200b", "style": "IPY_MODEL_05e29faf6ff248e08c7ccc9e00c27b72", "value": " 415M/415M [00:08<00:00, 35.4MB/s]" } @@ -10045,7 +10074,7 @@ "description": "", "description_tooltip": null, "layout": "IPY_MODEL_7dfc719d10184aed8f8ad0b15b7868e6", - "placeholder": "​", + "placeholder": "\u200b", "style": "IPY_MODEL_f2aca85cec984d09b084842f7c68e13c", "value": "Downloading metadata: " } @@ -10081,7 +10110,7 @@ "description": "", "description_tooltip": null, "layout": "IPY_MODEL_6451622918bf42bb839e4160163bf949", - "placeholder": "​", + "placeholder": "\u200b", "style": "IPY_MODEL_1ce14d3ad4444229acea213fc908216e", "value": "100%" } @@ -10102,7 +10131,7 @@ "description": "", "description_tooltip": null, "layout": "IPY_MODEL_fd2410da1b404e1da320e395c6341fb9", - "placeholder": "​", + "placeholder": "\u200b", "style": "IPY_MODEL_ba9949cadc354160a0ca34c2e2450884", "value": " 87307/87599 [00:12<00:00, 12683.50 examples/s]" } @@ -10475,7 +10504,7 @@ "description": "", "description_tooltip": null, "layout": "IPY_MODEL_46cc32c3404a47cab852974e755d9277", - "placeholder": "​", + "placeholder": "\u200b", "style": "IPY_MODEL_91a930bd32eb4e7da9176e33fbdebefa", "value": " 13.8k/13.8k [00:00<00:00, 53.2kB/s]" } @@ -10548,7 +10577,7 @@ "description": "", "description_tooltip": null, "layout": "IPY_MODEL_72a00d70acf64554ad420f8d37bde06a", - "placeholder": "​", + "placeholder": "\u200b", "style": "IPY_MODEL_de46d49fd6114323b79ca8e7153e7695", "value": "Downloading: 100%" } @@ -10558,4 +10587,4 @@ }, "nbformat": 4, "nbformat_minor": 5 -} +} \ No newline at end of file