From 3cc3908ec28134a62e16eb47a8cdf3c8fc67a794 Mon Sep 17 00:00:00 2001 From: no-one-really <58998511+no-one-really@users.noreply.github.com> Date: Wed, 6 Dec 2023 23:25:40 +0530 Subject: [PATCH 01/13] Create README.md --- Quantumcoders/README.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 Quantumcoders/README.md diff --git a/Quantumcoders/README.md b/Quantumcoders/README.md new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/Quantumcoders/README.md @@ -0,0 +1 @@ + From 6f51281b35221297cdadb908088cbc4d23bc7493 Mon Sep 17 00:00:00 2001 From: no-one-really <58998511+no-one-really@users.noreply.github.com> Date: Wed, 6 Dec 2023 23:28:13 +0530 Subject: [PATCH 02/13] Update README.md --- Quantumcoders/README.md | 44 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/Quantumcoders/README.md b/Quantumcoders/README.md index 8b137891..ca7803a6 100644 --- a/Quantumcoders/README.md +++ b/Quantumcoders/README.md @@ -1 +1,45 @@ +# CASAhackathon +**Team Name** - Quantum coders + +**Problem Statement** - AI enhanced retail shopping + +**Team Leader Email** - ravishankarvaradharajan@gmail.com + +**A Brief of the Prototype:** + +Chief AI Shopping Assistant (CASA) is a proactive shopping companion featuring learning adaptation, tailoring each user's experience by continuously adapting to evolving preferences. It also provides Instore analysis and helps with visual merchandising. +It will help us track deadzones in the store. The analysis will be displayed on a dashboard which contain Customer gaze analysis, Foot traffic, User Interaction with products. It will also helps in predicting the sales and keep up with the trends. +Our online assistant powered by LLM will provide suggestions based on items in the cart, user preferences and user profile. It also provides a chat interface to have a back and forth conversation to help the user figure out their fashion needs. + +**Instore flow:** + +![image](https://github.com/no-one-really/CASAhackathon/assets/58998511/5494b8b6-9bb9-42a1-834f-4e100f03e433) + +**Online recommendation flow:** + +![image](https://github.com/no-one-really/CASAhackathon/assets/58998511/397447e0-285b-45a1-9fa5-a7e5f60f3c9e) + + +**Tech Stack:** + +![image](https://github.com/no-one-really/CASAhackathon/assets/58998511/1b3c9f27-1c66-4756-85f7-afc8548398b1) + + +**Step-by-Step Code Execution Instructions:** + +Step 1: Install requirements +```pip install - requirements.txt``` + +Step2: +Host the Django server by runnning python manage.py runserver + +Step3: +setup ngrok https://ngrok.com/docs/getting-started/ + +Step4: +delpoy the model by running start.js, serv.py and recieve.py + +**Future Scope:** + + To integrate Large Language-and-Vision Assistants to provide better shopping assistance and gain better insights on the customer needs From 80a0a1d9f553236e634fdc53df39671d962e609c Mon Sep 17 00:00:00 2001 From: no-one-really <58998511+no-one-really@users.noreply.github.com> Date: Wed, 6 Dec 2023 23:38:34 +0530 Subject: [PATCH 03/13] Add files via upload --- spawn.py | 45 ++++ start.js | 58 +++++ train.ipynb | 605 ++++++++++++++++++++++++++++++++++++++++++++ trig.py | 37 +++ user_interaction.py | 111 ++++++++ 5 files changed, 856 insertions(+) create mode 100644 spawn.py create mode 100644 start.js create mode 100644 train.ipynb create mode 100644 trig.py create mode 100644 user_interaction.py diff --git a/spawn.py b/spawn.py new file mode 100644 index 00000000..fbc89ce7 --- /dev/null +++ b/spawn.py @@ -0,0 +1,45 @@ +from transformers import AutoModelForCausalLM, AutoTokenizer +import sys +statement = sys.argv[1] +prompt2 = sys.argv[2] +clr_st = statement.replace("#", " ") +clr_pmt = prompt2.replace("#", " ") +device = "cpu" + + +def find_nth_occurrence(text, target, n): + count = 0 + index = -1 + + while count < n: + index = text.find(target, index + 1) + + if index == -1: + break # Target not found + + count += 1 + + return index + + +target_string = "[/INST]" +nth_occurrence = 2 + +tokenizer = AutoTokenizer.from_pretrained("mistralai/Mistral-7B-Instruct-v0.1") +model = AutoModelForCausalLM.from_pretrained( + "mistralai/Mistral-7B-Instruct-v0.1") +messages = [ + {"role": "user", "content": "I need some assistance in IT"}, + {"role": "assistant", "content": clr_pmt}, + {"role": "user", "content": clr_st} + +] +encodeds = tokenizer.apply_chat_template(messages, return_tensors="pt") +# model.save_pretrained() +model_inputs = encodeds.to(device) +model.to(device) +generated_ids = model.generate( + model_inputs, max_new_tokens=1000, do_sample=True) +decoded = tokenizer.batch_decode(generated_ids) +result = find_nth_occurrence(decoded[0], target_string, nth_occurrence) +print(decoded[0][result+7:]) diff --git a/start.js b/start.js new file mode 100644 index 00000000..bea948f1 --- /dev/null +++ b/start.js @@ -0,0 +1,58 @@ +const express = require('express'); +const bodyParser = require('body-parser'); +const { promisify } = require('util'); +const { execFile } = require('child_process'); + +const app = express(); +const port = 3000; +const cors = require('cors'); +app.use(cors()); + +const script2Path = 'mistral.py'; + + +const execFilePromise = promisify(execFile); + +app.use(bodyParser.json()); +app.use(bodyParser.urlencoded({ extended: false })); + +app.get('/', (req, res) => { + res.send('Initiating the system'); +}); + +app.post('/', async (req, res) => { + let data = req.body.data; + let description = req.body.description; + let botprompt = req.body.botprompt; + description = description.replace(/ /g, "#"); + botprompt = botprompt.replace(/ /g, "#"); + if (data === "mistral") { + try { + const { stdout } = await execFilePromise('/usr/bin/python3', ['mistral.py', description, botprompt]); + console.log('Python process completed successfully'); + res.send({ outputData: stdout }); + } catch (error) { + console.error('Error executing Python process:', error.message); + res.status(500).send({ error: error.message }); + } + } + + if (data === "bert") { + try { + const { stdout } = await execFilePromise('/usr/bin/python3', ['bert1.py', description]); + console.log('Python process completed successfully'); + res.send({ outputData: stdout }); + } catch (error) { + console.error('Error executing Python process:', error.message); + res.status(500).send({ error: error.message }); + } + } + + + + +}); + +app.listen(port, () => { + console.log(`Server is listening on http://localhost:${port}`); +}); diff --git a/train.ipynb b/train.ipynb new file mode 100644 index 00000000..86e1c328 --- /dev/null +++ b/train.ipynb @@ -0,0 +1,605 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "7b1ff113-1d95-4f56-bca3-0b7e627f9b74", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Collecting torch\n", + " Using cached torch-2.1.1-cp310-cp310-manylinux1_x86_64.whl (670.2 MB)\n", + "Requirement already satisfied: typing-extensions in ./jupyter_env/lib/python3.10/site-packages (from torch) (4.8.0)\n", + "Collecting filelock\n", + " Using cached filelock-3.13.1-py3-none-any.whl (11 kB)\n", + "Requirement already satisfied: sympy in ./jupyter_env/lib/python3.10/site-packages (from torch) (1.12)\n", + "Requirement already satisfied: nvidia-cuda-nvrtc-cu12==12.1.105 in ./jupyter_env/lib/python3.10/site-packages (from torch) (12.1.105)\n", + "Requirement already satisfied: nvidia-cuda-runtime-cu12==12.1.105 in ./jupyter_env/lib/python3.10/site-packages (from torch) (12.1.105)\n", + "Requirement already satisfied: nvidia-curand-cu12==10.3.2.106 in ./jupyter_env/lib/python3.10/site-packages (from torch) (10.3.2.106)\n", + "Collecting triton==2.1.0\n", + " Using cached triton-2.1.0-0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (89.2 MB)\n", + "Collecting fsspec\n", + " Using cached fsspec-2023.12.0-py3-none-any.whl (168 kB)\n", + "Collecting networkx\n", + " Using cached networkx-3.2.1-py3-none-any.whl (1.6 MB)\n", + "Requirement already satisfied: nvidia-nccl-cu12==2.18.1 in ./jupyter_env/lib/python3.10/site-packages (from torch) (2.18.1)\n", + "Collecting nvidia-cublas-cu12==12.1.3.1\n", + " Using cached nvidia_cublas_cu12-12.1.3.1-py3-none-manylinux1_x86_64.whl (410.6 MB)\n", + "Requirement already satisfied: nvidia-cufft-cu12==11.0.2.54 in ./jupyter_env/lib/python3.10/site-packages (from torch) (11.0.2.54)\n", + "Requirement already satisfied: nvidia-cuda-cupti-cu12==12.1.105 in ./jupyter_env/lib/python3.10/site-packages (from torch) (12.1.105)\n", + "Collecting nvidia-cusolver-cu12==11.4.5.107\n", + " Using cached nvidia_cusolver_cu12-11.4.5.107-py3-none-manylinux1_x86_64.whl (124.2 MB)\n", + "Collecting nvidia-cusparse-cu12==12.1.0.106\n", + " Using cached nvidia_cusparse_cu12-12.1.0.106-py3-none-manylinux1_x86_64.whl (196.0 MB)\n", + "Requirement already satisfied: jinja2 in ./jupyter_env/lib/python3.10/site-packages (from torch) (3.1.2)\n", + "Collecting nvidia-cudnn-cu12==8.9.2.26\n", + " Using cached nvidia_cudnn_cu12-8.9.2.26-py3-none-manylinux1_x86_64.whl (731.7 MB)\n", + "Requirement already satisfied: nvidia-nvtx-cu12==12.1.105 in ./jupyter_env/lib/python3.10/site-packages (from torch) (12.1.105)\n", + "Requirement already satisfied: nvidia-nvjitlink-cu12 in ./jupyter_env/lib/python3.10/site-packages (from nvidia-cusolver-cu12==11.4.5.107->torch) (12.3.101)\n", + "Requirement already satisfied: MarkupSafe>=2.0 in ./jupyter_env/lib/python3.10/site-packages (from jinja2->torch) (2.1.3)\n", + "Requirement already satisfied: mpmath>=0.19 in ./jupyter_env/lib/python3.10/site-packages (from sympy->torch) (1.3.0)\n", + "Installing collected packages: nvidia-cusparse-cu12, nvidia-cublas-cu12, networkx, fsspec, filelock, triton, nvidia-cusolver-cu12, nvidia-cudnn-cu12, torch\n", + "Successfully installed filelock-3.13.1 fsspec-2023.12.0 networkx-3.2.1 nvidia-cublas-cu12-12.1.3.1 nvidia-cudnn-cu12-8.9.2.26 nvidia-cusolver-cu12-11.4.5.107 nvidia-cusparse-cu12-12.1.0.106 torch-2.1.1 triton-2.1.0\n", + "Note: you may need to restart the kernel to use updated packages.\n" + ] + } + ], + "source": [ + "pip install torch" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "6e0881cd-d5be-4226-ad15-b6b436a7ca86", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Collecting intel_extension_for_pytorch\n", + " Downloading intel_extension_for_pytorch-2.1.0-cp310-cp310-manylinux2014_x86_64.whl (51.4 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m51.4/51.4 MB\u001b[0m \u001b[31m12.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m00:01\u001b[0m00:01\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: packaging in ./jupyter_env/lib/python3.10/site-packages (from intel_extension_for_pytorch) (23.2)\n", + "Requirement already satisfied: psutil in ./jupyter_env/lib/python3.10/site-packages (from intel_extension_for_pytorch) (5.9.6)\n", + "Collecting numpy\n", + " Downloading numpy-1.26.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (18.2 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m18.2/18.2 MB\u001b[0m \u001b[31m16.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m00:01\u001b[0m00:01\u001b[0m\n", + "\u001b[?25hInstalling collected packages: numpy, intel_extension_for_pytorch\n", + "Successfully installed intel_extension_for_pytorch-2.1.0 numpy-1.26.2\n", + "Note: you may need to restart the kernel to use updated packages.\n" + ] + } + ], + "source": [ + "pip install intel_extension_for_pytorch" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "37c71c49-45a6-4463-b577-61fd25ae156d", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Note: you may need to restart the kernel to use updated packages.\n" + ] + } + ], + "source": [ + "pip install transformers datasets evaluate rouge_score -q" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "187922a3-662c-4ca7-bdca-a28f9e5f615b", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Collecting modin\n", + " Downloading modin-0.25.1-py3-none-any.whl (1.1 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.1/1.1 MB\u001b[0m \u001b[31m6.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m00:01\u001b[0m00:01\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: numpy>=1.22.4 in ./jupyter_env/lib/python3.10/site-packages (from modin) (1.26.2)\n", + "Requirement already satisfied: fsspec>=2022.05.0 in ./jupyter_env/lib/python3.10/site-packages (from modin) (2023.10.0)\n", + "Requirement already satisfied: packaging>=21.0 in ./jupyter_env/lib/python3.10/site-packages (from modin) (23.2)\n", + "Requirement already satisfied: psutil>=5.8.0 in ./jupyter_env/lib/python3.10/site-packages (from modin) (5.9.6)\n", + "Requirement already satisfied: pandas<2.2,>=2.1 in ./jupyter_env/lib/python3.10/site-packages (from modin) (2.1.3)\n", + "Requirement already satisfied: tzdata>=2022.1 in ./jupyter_env/lib/python3.10/site-packages (from pandas<2.2,>=2.1->modin) (2023.3)\n", + "Requirement already satisfied: pytz>=2020.1 in ./jupyter_env/lib/python3.10/site-packages (from pandas<2.2,>=2.1->modin) (2023.3.post1)\n", + "Requirement already satisfied: python-dateutil>=2.8.2 in ./jupyter_env/lib/python3.10/site-packages (from pandas<2.2,>=2.1->modin) (2.8.2)\n", + "Requirement already satisfied: six>=1.5 in ./jupyter_env/lib/python3.10/site-packages (from python-dateutil>=2.8.2->pandas<2.2,>=2.1->modin) (1.16.0)\n", + "Installing collected packages: modin\n", + "Successfully installed modin-0.25.1\n", + "Note: you may need to restart the kernel to use updated packages.\n" + ] + } + ], + "source": [ + "pip install modin" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "8b3eaea8-c349-494b-87f4-47c49a6b03b4", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Requirement already satisfied: modin[dask] in ./jupyter_env/lib/python3.10/site-packages (0.25.1)\n", + "Requirement already satisfied: packaging>=21.0 in ./jupyter_env/lib/python3.10/site-packages (from modin[dask]) (23.2)\n", + "Requirement already satisfied: pandas<2.2,>=2.1 in ./jupyter_env/lib/python3.10/site-packages (from modin[dask]) (2.1.3)\n", + "Requirement already satisfied: psutil>=5.8.0 in ./jupyter_env/lib/python3.10/site-packages (from modin[dask]) (5.9.6)\n", + "Requirement already satisfied: fsspec>=2022.05.0 in ./jupyter_env/lib/python3.10/site-packages (from modin[dask]) (2023.10.0)\n", + "Requirement already satisfied: numpy>=1.22.4 in ./jupyter_env/lib/python3.10/site-packages (from modin[dask]) (1.26.2)\n", + "Collecting distributed>=2.22.0\n", + " Downloading distributed-2023.12.0-py3-none-any.whl (997 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m997.8/997.8 KB\u001b[0m \u001b[31m6.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m00:01\u001b[0m00:01\u001b[0m\n", + "\u001b[?25hCollecting dask>=2.22.0\n", + " Downloading dask-2023.12.0-py3-none-any.whl (1.2 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.2/1.2 MB\u001b[0m \u001b[31m11.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m00:01\u001b[0m00:01\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: pyyaml>=5.3.1 in ./jupyter_env/lib/python3.10/site-packages (from dask>=2.22.0->modin[dask]) (6.0.1)\n", + "Collecting partd>=1.2.0\n", + " Downloading partd-1.4.1-py3-none-any.whl (18 kB)\n", + "Collecting toolz>=0.10.0\n", + " Downloading toolz-0.12.0-py3-none-any.whl (55 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m55.8/55.8 KB\u001b[0m \u001b[31m2.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: click>=8.1 in ./jupyter_env/lib/python3.10/site-packages (from dask>=2.22.0->modin[dask]) (8.1.7)\n", + "Collecting importlib-metadata>=4.13.0\n", + " Downloading importlib_metadata-7.0.0-py3-none-any.whl (23 kB)\n", + "Collecting cloudpickle>=1.5.0\n", + " Downloading cloudpickle-3.0.0-py3-none-any.whl (20 kB)\n", + "Collecting tblib>=1.6.0\n", + " Downloading tblib-3.0.0-py3-none-any.whl (12 kB)\n", + "Requirement already satisfied: jinja2>=2.10.3 in ./jupyter_env/lib/python3.10/site-packages (from distributed>=2.22.0->modin[dask]) (3.1.2)\n", + "Requirement already satisfied: urllib3>=1.24.3 in ./jupyter_env/lib/python3.10/site-packages (from distributed>=2.22.0->modin[dask]) (2.1.0)\n", + "Collecting msgpack>=1.0.0\n", + " Downloading msgpack-1.0.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (530 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m530.8/530.8 KB\u001b[0m \u001b[31m11.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m00:01\u001b[0m\n", + "\u001b[?25hCollecting locket>=1.0.0\n", + " Downloading locket-1.0.0-py2.py3-none-any.whl (4.4 kB)\n", + "Collecting zict>=3.0.0\n", + " Downloading zict-3.0.0-py2.py3-none-any.whl (43 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m43.3/43.3 KB\u001b[0m \u001b[31m1.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: tornado>=6.0.4 in ./jupyter_env/lib/python3.10/site-packages (from distributed>=2.22.0->modin[dask]) (6.4)\n", + "Collecting sortedcontainers>=2.0.5\n", + " Downloading sortedcontainers-2.4.0-py2.py3-none-any.whl (29 kB)\n", + "Requirement already satisfied: tzdata>=2022.1 in ./jupyter_env/lib/python3.10/site-packages (from pandas<2.2,>=2.1->modin[dask]) (2023.3)\n", + "Requirement already satisfied: python-dateutil>=2.8.2 in ./jupyter_env/lib/python3.10/site-packages (from pandas<2.2,>=2.1->modin[dask]) (2.8.2)\n", + "Requirement already satisfied: pytz>=2020.1 in ./jupyter_env/lib/python3.10/site-packages (from pandas<2.2,>=2.1->modin[dask]) (2023.3.post1)\n", + "Collecting zipp>=0.5\n", + " Downloading zipp-3.17.0-py3-none-any.whl (7.4 kB)\n", + "Requirement already satisfied: MarkupSafe>=2.0 in ./jupyter_env/lib/python3.10/site-packages (from jinja2>=2.10.3->distributed>=2.22.0->modin[dask]) (2.1.3)\n", + "Requirement already satisfied: six>=1.5 in ./jupyter_env/lib/python3.10/site-packages (from python-dateutil>=2.8.2->pandas<2.2,>=2.1->modin[dask]) (1.16.0)\n", + "Installing collected packages: sortedcontainers, zipp, zict, toolz, tblib, msgpack, locket, cloudpickle, partd, importlib-metadata, dask, distributed\n", + "Successfully installed cloudpickle-3.0.0 dask-2023.12.0 distributed-2023.12.0 importlib-metadata-7.0.0 locket-1.0.0 msgpack-1.0.7 partd-1.4.1 sortedcontainers-2.4.0 tblib-3.0.0 toolz-0.12.0 zict-3.0.0 zipp-3.17.0\n", + "Note: you may need to restart the kernel to use updated packages.\n" + ] + } + ], + "source": [ + "pip install modin[dask]" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "87026695-4087-42ba-87f3-e9f262e82b09", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Collecting openpyxl\n", + " Downloading openpyxl-3.1.2-py2.py3-none-any.whl (249 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m250.0/250.0 KB\u001b[0m \u001b[31m3.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m00:01\u001b[0m00:01\u001b[0m\n", + "\u001b[?25hCollecting et-xmlfile\n", + " Downloading et_xmlfile-1.1.0-py3-none-any.whl (4.7 kB)\n", + "Installing collected packages: et-xmlfile, openpyxl\n", + "Successfully installed et-xmlfile-1.1.0 openpyxl-3.1.2\n", + "Note: you may need to restart the kernel to use updated packages.\n" + ] + } + ], + "source": [ + "pip install openpyxl" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "73e4a60f-fbfc-40e6-af07-3eef6e0ec172", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "True\n" + ] + } + ], + "source": [ + "import torch\n", + "\n", + "print(torch.backends.mkl.is_available())" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "3a8ba182-b638-4554-9b24-6b7a0e423e7f", + "metadata": {}, + "outputs": [], + "source": [ + "from distributed import Client\n", + "client = Client()" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "2823cb75-0dfa-4b42-ae33-292af17e2c88", + "metadata": {}, + "outputs": [], + "source": [ + "import modin.pandas as pd" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "38610962-f245-432a-8644-16b7fbe71dbc", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "UserWarning: Parallel `read_excel` is a new feature! If you run into any problems, please visit https://github.com/modin-project/modin/issues. If you find a new issue and can't file it on GitHub, please email bug_reports@modin.org.\n" + ] + } + ], + "source": [ + "df = pd.read_excel(\"suggestion_data.xlsx\")" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "6139b0e4-a982-4114-8184-ae1878563a35", + "metadata": {}, + "outputs": [], + "source": [ + "from datasets import load_dataset, Dataset" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "53c5e167-ebfc-46d1-bdf2-223dd21c0f7c", + "metadata": {}, + "outputs": [], + "source": [ + "data_dict = df.to_dict('list') # convert DataFrame to dictionary of lists\n", + "dataset = Dataset.from_dict(data_dict)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "8c670c16-9738-4434-8e13-023d5fbf04ae", + "metadata": {}, + "outputs": [], + "source": [ + "ds = dataset.train_test_split(test_size=0.01)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "ffa00726-80d0-469b-a352-a2b5922dc04c", + "metadata": {}, + "outputs": [], + "source": [ + "from transformers import AutoTokenizer\n", + "\n", + "checkpoint = \"google/flan-t5-large\"\n", + "tokenizer = AutoTokenizer.from_pretrained(checkpoint)" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "0eb35036-f62f-43eb-84d6-0ceacd3231ce", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/ubuntu/jupyter_env/lib/python3.10/site-packages/tqdm/auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n", + " from .autonotebook import tqdm as notebook_tqdm\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Token will not been saved to git credential helper. Pass `add_to_git_credential=True` if you want to set the git credential as well.\n", + "Token is valid (permission: write).\n", + "Your token has been saved to /home/ubuntu/.cache/huggingface/token\n", + "Login successful\n" + ] + } + ], + "source": [ + "from huggingface_hub import login\n", + "login(\"###########\")" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "id": "39cfb4fd-69a8-4e8a-a1bb-c62bffd9eb67", + "metadata": {}, + "outputs": [], + "source": [ + "finalDs= fin.train_test_split(test_size=0.01)" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "id": "a9a316d4-0d1e-4585-855b-94c7de590eed", + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "def preprocess_function(examples):\n", + " inputs = [doc for doc in examples[\"title\"]]\n", + " model_inputs = tokenizer(inputs, max_length=1024, truncation=True)\n", + "\n", + " labels = tokenizer(text_target=examples[\"response\"], max_length=500, truncation=True)\n", + "\n", + " model_inputs[\"labels\"] = labels[\"input_ids\"]\n", + " return model_inputs" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "id": "c84f2496-c688-4741-a7eb-ee1be1d9928c", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Map: 100%|█████████████████████████| 8373/8373 [00:01<00:00, 5401.60 examples/s]\n", + "Map: 100%|█████████████████████████████| 85/85 [00:00<00:00, 3219.80 examples/s]\n" + ] + } + ], + "source": [ + "tokenized_ds = finalDs.map(preprocess_function, batched=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "id": "e2177f0e-f4ab-4ec2-b4b4-3663fff9289a", + "metadata": {}, + "outputs": [], + "source": [ + "from transformers import DataCollatorForSeq2Seq\n", + "\n", + "data_collator = DataCollatorForSeq2Seq(tokenizer=tokenizer, model=checkpoint)" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "id": "4673126c-89d2-456d-a2ed-07e9e3d0f0c0", + "metadata": {}, + "outputs": [], + "source": [ + "import evaluate\n", + "\n", + "rouge = evaluate.load(\"rouge\")" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "id": "b02cad06-8087-4684-81e7-0e4d9d834daa", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "huggingface/tokenizers: The current process just got forked, after parallelism has already been used. Disabling parallelism to avoid deadlocks...\n", + "To disable this warning, you can either:\n", + "\t- Avoid using `tokenizers` before the fork if possible\n", + "\t- Explicitly set the environment variable TOKENIZERS_PARALLELISM=(true | false)\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Requirement already satisfied: transformers in ./jupyter_env/lib/python3.10/site-packages (4.35.2)\n", + "Requirement already satisfied: safetensors>=0.3.1 in ./jupyter_env/lib/python3.10/site-packages (from transformers) (0.4.1)\n", + "Requirement already satisfied: tqdm>=4.27 in ./jupyter_env/lib/python3.10/site-packages (from transformers) (4.66.1)\n", + "Requirement already satisfied: pyyaml>=5.1 in ./jupyter_env/lib/python3.10/site-packages (from transformers) (6.0.1)\n", + "Requirement already satisfied: huggingface-hub<1.0,>=0.16.4 in ./jupyter_env/lib/python3.10/site-packages (from transformers) (0.19.4)\n", + "Requirement already satisfied: requests in ./jupyter_env/lib/python3.10/site-packages (from transformers) (2.31.0)\n", + "Requirement already satisfied: filelock in ./jupyter_env/lib/python3.10/site-packages (from transformers) (3.13.1)\n", + "Requirement already satisfied: regex!=2019.12.17 in ./jupyter_env/lib/python3.10/site-packages (from transformers) (2023.10.3)\n", + "Requirement already satisfied: tokenizers<0.19,>=0.14 in ./jupyter_env/lib/python3.10/site-packages (from transformers) (0.15.0)\n", + "Requirement already satisfied: numpy>=1.17 in ./jupyter_env/lib/python3.10/site-packages (from transformers) (1.26.2)\n", + "Requirement already satisfied: packaging>=20.0 in ./jupyter_env/lib/python3.10/site-packages (from transformers) (23.2)\n", + "Requirement already satisfied: typing-extensions>=3.7.4.3 in ./jupyter_env/lib/python3.10/site-packages (from huggingface-hub<1.0,>=0.16.4->transformers) (4.8.0)\n", + "Requirement already satisfied: fsspec>=2023.5.0 in ./jupyter_env/lib/python3.10/site-packages (from huggingface-hub<1.0,>=0.16.4->transformers) (2023.10.0)\n", + "Requirement already satisfied: certifi>=2017.4.17 in ./jupyter_env/lib/python3.10/site-packages (from requests->transformers) (2023.11.17)\n", + "Requirement already satisfied: charset-normalizer<4,>=2 in ./jupyter_env/lib/python3.10/site-packages (from requests->transformers) (3.3.2)\n", + "Requirement already satisfied: idna<4,>=2.5 in ./jupyter_env/lib/python3.10/site-packages (from requests->transformers) (3.6)\n", + "Requirement already satisfied: urllib3<3,>=1.21.1 in ./jupyter_env/lib/python3.10/site-packages (from requests->transformers) (2.1.0)\n", + "Note: you may need to restart the kernel to use updated packages.\n" + ] + } + ], + "source": [ + "pip install transformers --upgrade" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "id": "906e1a7c-c44d-4f93-91a8-05d6877b0771", + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "\n", + "\n", + "def compute_metrics(eval_pred):\n", + " predictions, labels = eval_pred\n", + " decoded_preds = tokenizer.batch_decode(predictions, skip_special_tokens=True)\n", + " labels = np.where(labels != -100, labels, tokenizer.pad_token_id)\n", + " decoded_labels = tokenizer.batch_decode(labels, skip_special_tokens=True)\n", + "\n", + " result = rouge.compute(predictions=decoded_preds, references=decoded_labels, use_stemmer=True)\n", + "\n", + " prediction_lens = [np.count_nonzero(pred != tokenizer.pad_token_id) for pred in predictions]\n", + " result[\"gen_len\"] = np.mean(prediction_lens)\n", + "\n", + " return {k: round(v, 4) for k, v in result.items()}" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "id": "b82afd97-b05c-4ae8-b731-2a847d503bc5", + "metadata": {}, + "outputs": [], + "source": [ + "from transformers import AutoModelForSeq2SeqLM, Seq2SeqTrainingArguments, Seq2SeqTrainer\n", + "\n", + "model = AutoModelForSeq2SeqLM.from_pretrained(checkpoint)" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "id": "2ce5c181-a6ba-4229-9a81-48d5eb11e9c0", + "metadata": {}, + "outputs": [], + "source": [ + "training_args = Seq2SeqTrainingArguments(\n", + " output_dir=\"finalSuggest\",\n", + " evaluation_strategy=\"epoch\",\n", + " learning_rate=1e-4,\n", + " per_device_train_batch_size=16,\n", + " per_device_eval_batch_size=16,\n", + " weight_decay=0.01,\n", + " save_total_limit=1,\n", + " num_train_epochs=5,\n", + " predict_with_generate=True,\n", + " push_to_hub=True\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "id": "2d5e5b7b-0913-4614-b88c-f55da8d767c3", + "metadata": {}, + "outputs": [], + "source": [ + "trainer = Seq2SeqTrainer(\n", + " model=model,\n", + " args=training_args,\n", + " train_dataset=tokenized_ds[\"train\"],\n", + " eval_dataset=tokenized_ds[\"test\"],\n", + " tokenizer=tokenizer,\n", + " data_collator=data_collator,\n", + " compute_metrics=compute_metrics,\n", + " \n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 52, + "id": "07b69533-1910-4fbf-96fe-b1a2e9902764", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "model.safetensors: 100%|███████████████████| 3.13G/3.13G [01:45<00:00, 29.6MB/s]\n" + ] + }, + { + "data": { + "text/plain": [ + "'https://huggingface.co/Bhuvanesh-Ch/finalIPC/tree/main/'" + ] + }, + "execution_count": 52, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "trainer.push_to_hub()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1acafe9e-69b5-45dc-99b3-a1d32d6e3c0c", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.12" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/trig.py b/trig.py new file mode 100644 index 00000000..5261d298 --- /dev/null +++ b/trig.py @@ -0,0 +1,37 @@ +import sys +import subprocess + +statement = [sys.argv[1],sys.argv[2]] + + + +def run_script_b(): + # Replace with the actual path to your Script B + script_b_path = 'recieve.py' + + # You can pass command-line arguments to Script B as a list + script_b_arguments = [statement2, statement] + + # Use subprocess to run Script B + process = subprocess.Popen(['/usr/bin/python3', script_b_path] + script_b_arguments, + stdout=subprocess.PIPE, stderr=subprocess.PIPE) + + # Wait for the process to finish and get the return code + return_code = process.wait() + + # Check if Script B was successful + if return_code == 0: + pass + + # print("Script B executed successfully.") + else: + print(f"Script B failed with return code: {return_code}") + + # Capture and print the output of Script B + output, error = process.communicate() + + print(output.decode('utf-8')) + + +if __name__ == "__main__": + run_script_b() diff --git a/user_interaction.py b/user_interaction.py new file mode 100644 index 00000000..d2c92124 --- /dev/null +++ b/user_interaction.py @@ -0,0 +1,111 @@ +import cv2 +import mediapipe as mp +import tensorflow as tf # Import Intel Optimized TensorFlow + +# Initialize MediaPipe Hand module +mp_hands = mp.solutions.hands +hands = mp_hands.Hands() + +# Use 0 for default camera, or specify the camera index +cap = cv2.VideoCapture(0) + +# Set the ROI coordinates (adjust these values based on your specific case) +roi_x, roi_y, roi_width, roi_height = 450, 250, 170, 200 + +while True: + ret, frame = cap.read() + + # Convert the BGR image to RGB + rgb_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB) + + # Process the frame and get hand landmarks + results = hands.process(rgb_frame) + + # Check if hands are detected + if results.multi_hand_landmarks: + for hand_landmarks in results.multi_hand_landmarks: + # Check if any landmark is within the ROI + hand_in_roi = all( + roi_x <= lm.x * frame.shape[1] <= roi_x + roi_width and + roi_y <= lm.y * frame.shape[0] <= roi_y + roi_height + for lm in hand_landmarks.landmark + ) + + if hand_in_roi: + # Draw landmarks on the frame + mp_drawing = mp.solutions.drawing_utils + mp_drawing.draw_landmarks( + frame, hand_landmarks, mp_hands.HAND_CONNECTIONS) + + cv2.putText(frame, f"Customer 102 is interacting with the shoe", ( + 10, 30), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 2) + + cv2.imshow('Hand Detection', frame) + + if cv2.waitKey(30) & 0xFF == 27: # Press 'Esc' to exit + break + +cap.release() +cv2.destroyAllWindows() + + + + + + +# import cv2 +# import mediapipe as mp + +# # Initialize MediaPipe Hand module +# mp_hands = mp.solutions.hands +# hands = mp_hands.Hands() + +# # Use 0 for default camera, or specify the camera index +# cap = cv2.VideoCapture(0) + +# # Set the ROI coordinates (adjust these values based on your specific case) +# roi_x, roi_y, roi_width, roi_height = 450, 250, 170, 200 + +# while True: +# ret, frame = cap.read() + +# # Convert the BGR image to RGB +# rgb_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB) + +# # Process the frame and get hand landmarks +# results = hands.process(rgb_frame) + +# # Check if hands are detected +# if results.multi_hand_landmarks: +# for hand_landmarks in results.multi_hand_landmarks: +# # Check if any landmark is within the ROI +# hand_in_roi = all( +# roi_x <= lm.x * frame.shape[1] <= roi_x + roi_width and +# roi_y <= lm.y * frame.shape[0] <= roi_y + roi_height +# for lm in hand_landmarks.landmark +# ) + +# if hand_in_roi: +# # Draw landmarks on the frame +# mp_drawing = mp.solutions.drawing_utils +# mp_drawing.draw_landmarks( +# frame, hand_landmarks, mp_hands.HAND_CONNECTIONS) + +# cv2.putText(frame, f"Customer 102 is interacting with the shoe", ( +# 10, 30), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 2) + +# # Draw the ROI rectangle on the frame +# # cv2.rectangle(frame, (roi_x, roi_y), (roi_x + roi_width, +# # roi_y + roi_height), (0, 255, 0), 2) +# # cv2.rectangle(frame, (roi_x-250, roi_y), (roi_x + roi_width, +# # roi_y + roi_height), (0, 255, 0), 2) +# # cv2.rectangle(frame, (roi_x-400, roi_y), (roi_x + roi_width, +# # roi_y + roi_height), (0, 255, 0), 2) + +# cv2.imshow('Hand Detection', frame) + +# if cv2.waitKey(30) & 0xFF == 27: # Press 'Esc' to exit +# break + +# cap.release() +# cv2.destroyAllWindows() From c90786183d4a5a0aabaec8a9b3e531fe28e822c0 Mon Sep 17 00:00:00 2001 From: no-one-really <58998511+no-one-really@users.noreply.github.com> Date: Wed, 6 Dec 2023 23:40:17 +0530 Subject: [PATCH 04/13] Add files via upload --- gaze_detection.ipynb | 129 +++++++++++++++++++++++++++++++++++++++++ gaze_estimation.py | 134 +++++++++++++++++++++++++++++++++++++++++++ mistral.py | 45 +++++++++++++++ 3 files changed, 308 insertions(+) create mode 100644 gaze_detection.ipynb create mode 100644 gaze_estimation.py create mode 100644 mistral.py diff --git a/gaze_detection.ipynb b/gaze_detection.ipynb new file mode 100644 index 00000000..b0efc93d --- /dev/null +++ b/gaze_detection.ipynb @@ -0,0 +1,129 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 2, + "id": "0190278c", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Error reading frame.\n" + ] + } + ], + "source": [ + "import cv2\n", + "import dlib\n", + " \n", + " \n", + "def detect_face_orientation(video_source=0):\n", + " # Open a connection to the video source (0 for default camera)\n", + " cap = cv2.VideoCapture(video_source)\n", + " \n", + " # Initialize the face detector from dlib\n", + " face_detector = dlib.get_frontal_face_detector()\n", + " landmarks_predictor = dlib.shape_predictor(\n", + " \"shape_predictor_68_face_landmarks.dat\") # You need to download this file\n", + " \n", + " while True:\n", + " # Capture frame-by-frame\n", + " ret, frame = cap.read()\n", + " if not ret:\n", + " print(\"Error reading frame.\")\n", + " break\n", + " \n", + " # Convert the frame to grayscale for face detection\n", + " gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)\n", + " \n", + " # Detect faces in the frame\n", + " faces = face_detector(gray)\n", + " \n", + " # Check if a face is detected\n", + " if len(faces) > 0:\n", + " # Assume only one face in the frame for simplicity\n", + " face = faces[0]\n", + " \n", + " # Detect facial landmarks\n", + " landmarks = landmarks_predictor(gray, face)\n", + " \n", + " # Extract relevant landmarks for orientation estimation\n", + " left_eye = (landmarks.part(36).x, landmarks.part(36).y)\n", + " right_eye = (landmarks.part(45).x, landmarks.part(45).y)\n", + " nose_tip = (landmarks.part(30).x, landmarks.part(30).y)\n", + " \n", + " # Calculate the midpoint of the eyes\n", + " eyes_midpoint = (\n", + " (left_eye[0] + right_eye[0]) // 2, (left_eye[1] + right_eye[1]) // 2)\n", + " \n", + " # Calculate the horizontal distance between the midpoint of the eyes and the nose tip\n", + " horizontal_distance = abs(nose_tip[0] - eyes_midpoint[0])\n", + " \n", + " # Set a threshold for the horizontal distance to classify the orientation\n", + " if horizontal_distance < 10: # Adjust the threshold as needed\n", + " orientation = \"Keyboard\"\n", + " elif nose_tip[0] > eyes_midpoint[0]:\n", + " orientation = \"phone\"\n", + " else:\n", + " orientation = \"laptop\"\n", + " \n", + " # Display the result on the frame\n", + " cv2.putText(frame, f\"Customer 102 is looking at {orientation}\", (\n", + " 10, 30), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 255, 0), 2)\n", + " \n", + " # Display the frame\n", + " cv2.imshow(\"Face Orientation Analysis\", frame)\n", + " \n", + " # Break the loop if 'q' is pressed\n", + " if cv2.waitKey(1) & 0xFF == ord('q'):\n", + " break\n", + " \n", + " # Release the camera and close all OpenCV windows\n", + " cap.release()\n", + " cv2.destroyAllWindows()\n", + " \n", + " \n", + "if __name__ == \"__main__\":\n", + " detect_face_orientation()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f6ac09db", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.3" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/gaze_estimation.py b/gaze_estimation.py new file mode 100644 index 00000000..732300e1 --- /dev/null +++ b/gaze_estimation.py @@ -0,0 +1,134 @@ +import cv2 +import dlib +import torch + +# Use Intel Optimized TensorFlow +import tensorflow as tf +print(tf.__version__) + +# Use Intel Optimized PyTorch +print(torch.__config__.show()) + + +def detect_face_orientation(video_source=0): + # Rest of your code remains unchanged... + # (Please note that you need to download the shape_predictor_68_face_landmarks.dat file) + + while True: + # Capture frame-by-frame + ret, frame = cap.read() + if not ret: + print("Error reading frame.") + break + + # Convert the frame to grayscale for face detection + gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) + + # Detect faces in the frame + faces = face_detector(gray) + + # Check if a face is detected + if len(faces) > 0: + # Assume only one face in the frame for simplicity + face = faces[0] + + # Detect facial landmarks + landmarks = landmarks_predictor(gray, face) + + # Extract relevant landmarks for orientation estimation + # Rest of your code remains unchanged... + + # Release the camera and close all OpenCV windows + cap.release() + cv2.destroyAllWindows() + + +if __name__ == "__main__": + # Initialize the face detector from dlib + face_detector = dlib.get_frontal_face_detector() + landmarks_predictor = dlib.shape_predictor( + "shape_predictor_68_face_landmarks.dat") # You need to download this file + + # Open a connection to the video source (0 for default camera) + cap = cv2.VideoCapture(0) + + detect_face_orientation() + + + + + + + +# import cv2 +# import dlib + + +# def detect_face_orientation(video_source=0): +# # Open a connection to the video source (0 for default camera) +# cap = cv2.VideoCapture(video_source) + +# # Initialize the face detector from dlib +# face_detector = dlib.get_frontal_face_detector() +# landmarks_predictor = dlib.shape_predictor( +# "shape_predictor_68_face_landmarks.dat") # You need to download this file + +# while True: +# # Capture frame-by-frame +# ret, frame = cap.read() +# if not ret: +# print("Error reading frame.") +# break + +# # Convert the frame to grayscale for face detection +# gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) + +# # Detect faces in the frame +# faces = face_detector(gray) + +# # Check if a face is detected +# if len(faces) > 0: +# # Assume only one face in the frame for simplicity +# face = faces[0] + +# # Detect facial landmarks +# landmarks = landmarks_predictor(gray, face) + +# # Extract relevant landmarks for orientation estimation +# left_eye = (landmarks.part(36).x, landmarks.part(36).y) +# right_eye = (landmarks.part(45).x, landmarks.part(45).y) +# nose_tip = (landmarks.part(30).x, landmarks.part(30).y) + +# # Calculate the midpoint of the eyes +# eyes_midpoint = ( +# (left_eye[0] + right_eye[0]) // 2, (left_eye[1] + right_eye[1]) // 2) + +# # Calculate the horizontal distance between the midpoint of the eyes and the nose tip +# horizontal_distance = abs(nose_tip[0] - eyes_midpoint[0]) + +# # Set a threshold for the horizontal distance to classify the orientation +# if horizontal_distance < 10: # Adjust the threshold as needed +# orientation = "Allen solly shirt" +# elif nose_tip[0] > eyes_midpoint[0]: +# orientation = "Bata shoe" +# else: +# orientation = "katespade" + +# # Display the result on the frame +# cv2.putText(frame, f"Customer 102 is looking at {orientation}", ( +# 10, 30), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 2) + +# # Display the frame +# cv2.imshow("Face Orientation Analysis", frame) + +# # Break the loop if 'q' is pressed +# if cv2.waitKey(1) & 0xFF == ord('q'): +# break + +# # Release the camera and close all OpenCV windows +# cap.release() +# cv2.destroyAllWindows() + + +# if __name__ == "__main__": +# detect_face_orientation() \ No newline at end of file diff --git a/mistral.py b/mistral.py new file mode 100644 index 00000000..fbc89ce7 --- /dev/null +++ b/mistral.py @@ -0,0 +1,45 @@ +from transformers import AutoModelForCausalLM, AutoTokenizer +import sys +statement = sys.argv[1] +prompt2 = sys.argv[2] +clr_st = statement.replace("#", " ") +clr_pmt = prompt2.replace("#", " ") +device = "cpu" + + +def find_nth_occurrence(text, target, n): + count = 0 + index = -1 + + while count < n: + index = text.find(target, index + 1) + + if index == -1: + break # Target not found + + count += 1 + + return index + + +target_string = "[/INST]" +nth_occurrence = 2 + +tokenizer = AutoTokenizer.from_pretrained("mistralai/Mistral-7B-Instruct-v0.1") +model = AutoModelForCausalLM.from_pretrained( + "mistralai/Mistral-7B-Instruct-v0.1") +messages = [ + {"role": "user", "content": "I need some assistance in IT"}, + {"role": "assistant", "content": clr_pmt}, + {"role": "user", "content": clr_st} + +] +encodeds = tokenizer.apply_chat_template(messages, return_tensors="pt") +# model.save_pretrained() +model_inputs = encodeds.to(device) +model.to(device) +generated_ids = model.generate( + model_inputs, max_new_tokens=1000, do_sample=True) +decoded = tokenizer.batch_decode(generated_ids) +result = find_nth_occurrence(decoded[0], target_string, nth_occurrence) +print(decoded[0][result+7:]) From 40bc42b0ba16fc8b4aba9838e31a99ec476b0f03 Mon Sep 17 00:00:00 2001 From: no-one-really <58998511+no-one-really@users.noreply.github.com> Date: Wed, 6 Dec 2023 23:42:46 +0530 Subject: [PATCH 05/13] Add files via upload --- RAG_PDFs_Model_Final(1).ipynb | 5506 +++++++++++++++++++++++++++++++++ recieve.py | 32 + requirements.txt | 455 +++ salesprediction.py | 97 + serv.py | 77 + 5 files changed, 6167 insertions(+) create mode 100644 RAG_PDFs_Model_Final(1).ipynb create mode 100644 recieve.py create mode 100644 requirements.txt create mode 100644 salesprediction.py create mode 100644 serv.py diff --git a/RAG_PDFs_Model_Final(1).ipynb b/RAG_PDFs_Model_Final(1).ipynb new file mode 100644 index 00000000..6abbe769 --- /dev/null +++ b/RAG_PDFs_Model_Final(1).ipynb @@ -0,0 +1,5506 @@ +{ + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "colab": { + "provenance": [] + }, + "kernelspec": { + "name": "python3", + "display_name": "Python 3" + }, + "language_info": { + "name": "python" + }, + "widgets": { + "application/vnd.jupyter.widget-state+json": { + "23607968bc4d49b786b77b3ea34b074e": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_d891ab2e06974741856591110be2c4c8", + "IPY_MODEL_b0750223d8fc4a19b9cae4bea1999612", + "IPY_MODEL_6510989ec2714da9a503b5bfe75bf71a" + ], + "layout": "IPY_MODEL_641deb3c3fca4a8e9473a130d28d74d1" + } + }, + "d891ab2e06974741856591110be2c4c8": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_8648881bae5243e781bbf9c4233d60f4", + "placeholder": "​", + "style": "IPY_MODEL_12f535cdd1b54f09bcdefdca742ba3ec", + "value": ".gitattributes: 100%" + } + }, + "b0750223d8fc4a19b9cae4bea1999612": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_9ea9d0ffa0254c8da0daae21be927697", + "max": 1175, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_54be88cb39ea463c8546c831a5a69a03", + "value": 1175 + } + }, + "6510989ec2714da9a503b5bfe75bf71a": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_ed7f25bb019f43d18e2af53ba6614ba2", + "placeholder": "​", + "style": "IPY_MODEL_df4d7cc76cec4ff38cc27e577cac0953", + "value": " 1.18k/1.18k [00:00<00:00, 67.1kB/s]" + } + }, + "641deb3c3fca4a8e9473a130d28d74d1": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "8648881bae5243e781bbf9c4233d60f4": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "12f535cdd1b54f09bcdefdca742ba3ec": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "9ea9d0ffa0254c8da0daae21be927697": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "54be88cb39ea463c8546c831a5a69a03": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "ed7f25bb019f43d18e2af53ba6614ba2": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "df4d7cc76cec4ff38cc27e577cac0953": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "e93bf69730824138aaf354009fc8c1aa": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_3ef058f234fb443cbeba8c88d7f58d7f", + "IPY_MODEL_17d56749e05c4ec1a6134466a9433406", + "IPY_MODEL_5d03809a0f724cbba88aa088ace21cec" + ], + "layout": "IPY_MODEL_118a78f85d35465cb95d18f23dc4f218" + } + }, + "3ef058f234fb443cbeba8c88d7f58d7f": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_42983e2264114fed936c607e166a813a", + "placeholder": "​", + "style": "IPY_MODEL_3f2bacd327da4ffba7379bd221290de2", + "value": "1_Pooling/config.json: 100%" + } + }, + "17d56749e05c4ec1a6134466a9433406": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_49f22e10d58d47ebb1bff6d10deb4d81", + "max": 190, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_0bd7a8cb90914d3da71c2e62079088d0", + "value": 190 + } + }, + "5d03809a0f724cbba88aa088ace21cec": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_b3c532a101bd4500a423c705cdd30097", + "placeholder": "​", + "style": "IPY_MODEL_d56f7720850a4f70bdd5896212114aaf", + "value": " 190/190 [00:00<00:00, 9.16kB/s]" + } + }, + "118a78f85d35465cb95d18f23dc4f218": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "42983e2264114fed936c607e166a813a": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "3f2bacd327da4ffba7379bd221290de2": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "49f22e10d58d47ebb1bff6d10deb4d81": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "0bd7a8cb90914d3da71c2e62079088d0": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "b3c532a101bd4500a423c705cdd30097": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "d56f7720850a4f70bdd5896212114aaf": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "b17a8eb38bb34985b31d265f979d550c": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_f70561286400426a8893240ef4ac4f8f", + "IPY_MODEL_8ba4c1ba21824129a53e1e26a58c3a6f", + "IPY_MODEL_ef37464ea7ea49259ed6b3ce5c9672e5" + ], + "layout": "IPY_MODEL_734e31c6e88f47649128dc646dbca77a" + } + }, + "f70561286400426a8893240ef4ac4f8f": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_bfa540c77c884377b3d14433628b4024", + "placeholder": "​", + "style": "IPY_MODEL_86bcd0067bd04ccfb706a14d937484fa", + "value": "README.md: 100%" + } + }, + "8ba4c1ba21824129a53e1e26a58c3a6f": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_2d34148cb5f847e3b365d50e8fde40f7", + "max": 10571, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_150d0df68328481a8041d2dcaf2bd973", + "value": 10571 + } + }, + "ef37464ea7ea49259ed6b3ce5c9672e5": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_8a55e8d69f03481d9a0812c1b2001025", + "placeholder": "​", + "style": "IPY_MODEL_f90d5916a85643d4b8c172e38a8c418e", + "value": " 10.6k/10.6k [00:00<00:00, 598kB/s]" + } + }, + "734e31c6e88f47649128dc646dbca77a": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "bfa540c77c884377b3d14433628b4024": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "86bcd0067bd04ccfb706a14d937484fa": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "2d34148cb5f847e3b365d50e8fde40f7": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "150d0df68328481a8041d2dcaf2bd973": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "8a55e8d69f03481d9a0812c1b2001025": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "f90d5916a85643d4b8c172e38a8c418e": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "0ef42122570d4213b0a202a0886a7b35": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_5d8d4f1baad34069ba0d849bd51b406f", + "IPY_MODEL_25699261e58d49218ffa76e6bfe409a6", + "IPY_MODEL_1e03f71de1384a27b45a2d6d37f292b1" + ], + "layout": "IPY_MODEL_7f187660e02b4fc799b4da3a4ada17aa" + } + }, + "5d8d4f1baad34069ba0d849bd51b406f": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_747a7894cdfa4bce8cf76f0d82d84abb", + "placeholder": "​", + "style": "IPY_MODEL_f687e06e06394120a5a09ec661e82aba", + "value": "config.json: 100%" + } + }, + "25699261e58d49218ffa76e6bfe409a6": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_729f3f28029a46a28b3714d171fca8b3", + "max": 571, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_2a03ec45696f4c41b37e14d6facd83f7", + "value": 571 + } + }, + "1e03f71de1384a27b45a2d6d37f292b1": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_870f3a72816d48f8ad27b8249e76f99f", + "placeholder": "​", + "style": "IPY_MODEL_057c2cffb3004a4ba72dcfc67ab5ecf6", + "value": " 571/571 [00:00<00:00, 35.6kB/s]" + } + }, + "7f187660e02b4fc799b4da3a4ada17aa": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "747a7894cdfa4bce8cf76f0d82d84abb": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "f687e06e06394120a5a09ec661e82aba": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "729f3f28029a46a28b3714d171fca8b3": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "2a03ec45696f4c41b37e14d6facd83f7": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "870f3a72816d48f8ad27b8249e76f99f": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "057c2cffb3004a4ba72dcfc67ab5ecf6": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "3ca0a9887a6c4bbfb2aec2faeb74e376": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_19ed688a695845fba3004692d53443f8", + "IPY_MODEL_e0592982bf8a482993a4517e565ac32a", + "IPY_MODEL_b8c431ce76f3471899a967e58d3c48dc" + ], + "layout": "IPY_MODEL_99cf9230a40c407a8b5b80bb4f434603" + } + }, + "19ed688a695845fba3004692d53443f8": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_3e67d5df28214cc7b9fc1421fae60e81", + "placeholder": "​", + "style": "IPY_MODEL_c6b84a35b19646efb960b68b4707ad2e", + "value": "config_sentence_transformers.json: 100%" + } + }, + "e0592982bf8a482993a4517e565ac32a": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_7f8af4a772b0490cb01a073be84bfeda", + "max": 116, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_655cb24751ac4f8484563e1113d2b1f2", + "value": 116 + } + }, + "b8c431ce76f3471899a967e58d3c48dc": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_14249f80105049fb802e87f3b5d98f1d", + "placeholder": "​", + "style": "IPY_MODEL_18663e8bee7740a79155e633f528b3b0", + "value": " 116/116 [00:00<00:00, 6.78kB/s]" + } + }, + "99cf9230a40c407a8b5b80bb4f434603": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "3e67d5df28214cc7b9fc1421fae60e81": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "c6b84a35b19646efb960b68b4707ad2e": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "7f8af4a772b0490cb01a073be84bfeda": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "655cb24751ac4f8484563e1113d2b1f2": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "14249f80105049fb802e87f3b5d98f1d": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "18663e8bee7740a79155e633f528b3b0": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "ddb1d592f1f949c2bc3663eaa09a82e2": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_419baab7a4984bccbfd308503e4d0fe3", + "IPY_MODEL_49c5dabe560b40029998b706a2daf492", + "IPY_MODEL_3b81131e9d3943d8b057b8db30c5b535" + ], + "layout": "IPY_MODEL_cd60aaf3065c4b9cb41816ba47cea595" + } + }, + "419baab7a4984bccbfd308503e4d0fe3": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_9c5ea6f967ee468bbc004cf17a101f45", + "placeholder": "​", + "style": "IPY_MODEL_68a64a5764f44fbaab8d7d7ff4ff27af", + "value": "data_config.json: 100%" + } + }, + "49c5dabe560b40029998b706a2daf492": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_3b4da69205c84d01a9ac64c9620d7c98", + "max": 39265, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_2790e175d5cd4ff09848b7f93b9c1f65", + "value": 39265 + } + }, + "3b81131e9d3943d8b057b8db30c5b535": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_0b84133a40034512acfd1fa386aff78d", + "placeholder": "​", + "style": "IPY_MODEL_cabff2df46eb45579e32f769794f5e82", + "value": " 39.3k/39.3k [00:00<00:00, 203kB/s]" + } + }, + "cd60aaf3065c4b9cb41816ba47cea595": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "9c5ea6f967ee468bbc004cf17a101f45": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "68a64a5764f44fbaab8d7d7ff4ff27af": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "3b4da69205c84d01a9ac64c9620d7c98": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "2790e175d5cd4ff09848b7f93b9c1f65": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "0b84133a40034512acfd1fa386aff78d": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "cabff2df46eb45579e32f769794f5e82": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "a7b4da413e3f4c379242ba1d1df47c5a": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_6915b3ccb38c4fe7b03e4c023e6aaf8d", + "IPY_MODEL_f569950194684b2187522b33d6658cf6", + "IPY_MODEL_5d57674fd8214bafbf2b47d5860da60c" + ], + "layout": "IPY_MODEL_6dc92f33b5364b2b99bf7be448f3100a" + } + }, + "6915b3ccb38c4fe7b03e4c023e6aaf8d": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_fb833669c554404d8e3236d872d3a9c3", + "placeholder": "​", + "style": "IPY_MODEL_4f29461501c54c4ea2274a356c790b3e", + "value": "pytorch_model.bin: 100%" + } + }, + "f569950194684b2187522b33d6658cf6": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_af32ae0b068a48c68f0d4ed42da930ff", + "max": 438011953, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_85e1219e5e3d4d3daa60c993e1f404df", + "value": 438011953 + } + }, + "5d57674fd8214bafbf2b47d5860da60c": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_b967cd59d2b04c6484af9915a5cc9c9a", + "placeholder": "​", + "style": "IPY_MODEL_8e78527019194686b66456e091680243", + "value": " 438M/438M [00:09<00:00, 45.5MB/s]" + } + }, + "6dc92f33b5364b2b99bf7be448f3100a": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "fb833669c554404d8e3236d872d3a9c3": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "4f29461501c54c4ea2274a356c790b3e": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "af32ae0b068a48c68f0d4ed42da930ff": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "85e1219e5e3d4d3daa60c993e1f404df": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "b967cd59d2b04c6484af9915a5cc9c9a": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "8e78527019194686b66456e091680243": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "62793ff863234cc2804c568bb358a543": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_1eb2713fbede4ff3bc4cd86cfe67d29a", + "IPY_MODEL_d5002f91694d4829886f4b3006a85368", + "IPY_MODEL_20e0f9e393504d319090c8985ffefe4f" + ], + "layout": "IPY_MODEL_2af9270e8dcd4105a9e96c1f96858ba3" + } + }, + "1eb2713fbede4ff3bc4cd86cfe67d29a": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_49069554a008477f9c57016f5a8b9c20", + "placeholder": "​", + "style": "IPY_MODEL_652bcab4e6c8400a86d95a7a2d7631f8", + "value": "sentence_bert_config.json: 100%" + } + }, + "d5002f91694d4829886f4b3006a85368": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_e39444c8727442519c8d0906f6f10a48", + "max": 53, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_c2605e1c2e3a4ff687da0626d33bb6d2", + "value": 53 + } + }, + "20e0f9e393504d319090c8985ffefe4f": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_253861912a524c638a9ec26c08f4cc9f", + "placeholder": "​", + "style": "IPY_MODEL_7563929533f7428ca40b1de960b47175", + "value": " 53.0/53.0 [00:00<00:00, 2.50kB/s]" + } + }, + "2af9270e8dcd4105a9e96c1f96858ba3": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "49069554a008477f9c57016f5a8b9c20": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "652bcab4e6c8400a86d95a7a2d7631f8": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "e39444c8727442519c8d0906f6f10a48": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "c2605e1c2e3a4ff687da0626d33bb6d2": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "253861912a524c638a9ec26c08f4cc9f": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "7563929533f7428ca40b1de960b47175": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "97032c42809042f09283bff98cfd60c0": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_443d12a2b811483ab903715347c86f8c", + "IPY_MODEL_730d72f523f74f20949b8e4e68d77b8b", + "IPY_MODEL_705309b9171a45beba8fb118e0910790" + ], + "layout": "IPY_MODEL_28e19593652c4b2d9abcbee02c486ed8" + } + }, + "443d12a2b811483ab903715347c86f8c": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_b478df96fd7643bbaca9c419c42d5477", + "placeholder": "​", + "style": "IPY_MODEL_e72deea57e9a4c06bcd38769b0d4fdd4", + "value": "special_tokens_map.json: 100%" + } + }, + "730d72f523f74f20949b8e4e68d77b8b": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_3b5fc31ac3384f5f988dbc3636abf01f", + "max": 239, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_24c0c9858aa14796952197164c579ec6", + "value": 239 + } + }, + "705309b9171a45beba8fb118e0910790": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_7f78f54d2b5945f09d43c3420d8dd27f", + "placeholder": "​", + "style": "IPY_MODEL_e191506379f144d28f5da8c0d0927b60", + "value": " 239/239 [00:00<00:00, 12.9kB/s]" + } + }, + "28e19593652c4b2d9abcbee02c486ed8": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "b478df96fd7643bbaca9c419c42d5477": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "e72deea57e9a4c06bcd38769b0d4fdd4": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "3b5fc31ac3384f5f988dbc3636abf01f": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "24c0c9858aa14796952197164c579ec6": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "7f78f54d2b5945f09d43c3420d8dd27f": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "e191506379f144d28f5da8c0d0927b60": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "9edfc3996ea843ca8b3a2e67c3be2203": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_9f82f973a29b48d0b61a08900d899bce", + "IPY_MODEL_4ef4ce60ec68456e8b45b68f134d25c9", + "IPY_MODEL_4f3596fc374d41048fce054d2d3d867f" + ], + "layout": "IPY_MODEL_70e54b722a2c4e8fa0b3b50daa025014" + } + }, + "9f82f973a29b48d0b61a08900d899bce": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_ac9e69d031b74845b79d17b6f7abc3df", + "placeholder": "​", + "style": "IPY_MODEL_0dad6d8443b0402ba2594b8de4d82fce", + "value": "tokenizer.json: 100%" + } + }, + "4ef4ce60ec68456e8b45b68f134d25c9": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_3a4b8e53978c4a74a2530010ab7269a3", + "max": 466021, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_5ffaf729cd0a44a8970f455e1d7d7f97", + "value": 466021 + } + }, + "4f3596fc374d41048fce054d2d3d867f": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_509f974a8d7848efaa37f74bec02288e", + "placeholder": "​", + "style": "IPY_MODEL_4ac2e43bb41b4a7f9e06a7fd37be0e56", + "value": " 466k/466k [00:00<00:00, 1.19MB/s]" + } + }, + "70e54b722a2c4e8fa0b3b50daa025014": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "ac9e69d031b74845b79d17b6f7abc3df": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "0dad6d8443b0402ba2594b8de4d82fce": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "3a4b8e53978c4a74a2530010ab7269a3": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "5ffaf729cd0a44a8970f455e1d7d7f97": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "509f974a8d7848efaa37f74bec02288e": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "4ac2e43bb41b4a7f9e06a7fd37be0e56": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "400defce45e64c45afec9ce7a6418d29": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_1c4c6ff037fd434299889439b5a0e5aa", + "IPY_MODEL_b71454057a38419c94aaefdd879cf013", + "IPY_MODEL_5ade3b8a5bae485a84951216e2aa6133" + ], + "layout": "IPY_MODEL_10265027a2ee49d78af72162a048ae14" + } + }, + "1c4c6ff037fd434299889439b5a0e5aa": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_c9e0678085c14a6e8f842081c0f20cef", + "placeholder": "​", + "style": "IPY_MODEL_4cffe665b9b4430bb355dd4cc57afb6a", + "value": "tokenizer_config.json: 100%" + } + }, + "b71454057a38419c94aaefdd879cf013": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_8e64f12d4422469dae6a786771fc3257", + "max": 363, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_b524ac66c568404d873be695dd9e2b46", + "value": 363 + } + }, + "5ade3b8a5bae485a84951216e2aa6133": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_70360cafd0b94631a64d12b00693b5f2", + "placeholder": "​", + "style": "IPY_MODEL_15a4c0eb016949c48ca6fb24ef041636", + "value": " 363/363 [00:00<00:00, 20.6kB/s]" + } + }, + "10265027a2ee49d78af72162a048ae14": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "c9e0678085c14a6e8f842081c0f20cef": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "4cffe665b9b4430bb355dd4cc57afb6a": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "8e64f12d4422469dae6a786771fc3257": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "b524ac66c568404d873be695dd9e2b46": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "70360cafd0b94631a64d12b00693b5f2": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "15a4c0eb016949c48ca6fb24ef041636": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "e1f067311f14426a955633e9c98ed804": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_fb7e8f26d4174e9698c97b1393171be4", + "IPY_MODEL_4dd3a574d67b4ae5971cb8f4d521ece3", + "IPY_MODEL_e38f515d61d44017a38d4c06d07d5e5e" + ], + "layout": "IPY_MODEL_3ef4cea9699048169435224b2b5ed4ee" + } + }, + "fb7e8f26d4174e9698c97b1393171be4": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_ce12e1b2a3c64725b8f1d4a0bec6a94d", + "placeholder": "​", + "style": "IPY_MODEL_6953d531ce624fa7bbfc5c1a1c079e2e", + "value": "train_script.py: 100%" + } + }, + "4dd3a574d67b4ae5971cb8f4d521ece3": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_6602cf060a0c4a21b8f12078b1bce6ea", + "max": 13123, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_8b665819df2a4634bc4a618ec4f8a811", + "value": 13123 + } + }, + "e38f515d61d44017a38d4c06d07d5e5e": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_4bd8b9f65d1c4bbfa4ad8f11ac63b713", + "placeholder": "​", + "style": "IPY_MODEL_e252594e398044ec8154d6ceebe641c9", + "value": " 13.1k/13.1k [00:00<00:00, 598kB/s]" + } + }, + "3ef4cea9699048169435224b2b5ed4ee": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "ce12e1b2a3c64725b8f1d4a0bec6a94d": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "6953d531ce624fa7bbfc5c1a1c079e2e": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "6602cf060a0c4a21b8f12078b1bce6ea": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "8b665819df2a4634bc4a618ec4f8a811": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "4bd8b9f65d1c4bbfa4ad8f11ac63b713": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "e252594e398044ec8154d6ceebe641c9": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "4615ca319aac4829ac47809797c41203": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_da6981966557475bb4c62bf665535603", + "IPY_MODEL_bf0ec5d376624576af6dfa2d8728e931", + "IPY_MODEL_a3dca0840f994e64bb85d2de9cd4d3e7" + ], + "layout": "IPY_MODEL_14d490ff47b2438d90a5f3c79c38c74e" + } + }, + "da6981966557475bb4c62bf665535603": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_60ee682da3d9494181a816a35b349241", + "placeholder": "​", + "style": "IPY_MODEL_8fbb0eeec05e4a93a8029c6beef41744", + "value": "vocab.txt: 100%" + } + }, + "bf0ec5d376624576af6dfa2d8728e931": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_7d93031883c94279a94f32a209dbc687", + "max": 231536, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_8c369c9ddd1d4da1b04ad5d1c277d4c7", + "value": 231536 + } + }, + "a3dca0840f994e64bb85d2de9cd4d3e7": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_89408d151d2e4ec2a836d6982b8f4c04", + "placeholder": "​", + "style": "IPY_MODEL_5a56b0fc8263477395766e0e592e30b1", + "value": " 232k/232k [00:00<00:00, 11.7MB/s]" + } + }, + "14d490ff47b2438d90a5f3c79c38c74e": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "60ee682da3d9494181a816a35b349241": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "8fbb0eeec05e4a93a8029c6beef41744": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "7d93031883c94279a94f32a209dbc687": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "8c369c9ddd1d4da1b04ad5d1c277d4c7": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "89408d151d2e4ec2a836d6982b8f4c04": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "5a56b0fc8263477395766e0e592e30b1": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "d10172c7a0fe40aa8ca4f6339c427876": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_5d3223254cbf438286a0822dc7a32681", + "IPY_MODEL_e4e404d30c6446e99f1c409a1d00f290", + "IPY_MODEL_2c1ddea915b74bf494d0b0cebf6923bd" + ], + "layout": "IPY_MODEL_3985d6150656429fabaee74e82187c52" + } + }, + "5d3223254cbf438286a0822dc7a32681": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_a2f9a01cf98a4e1fac6db25049995cd2", + "placeholder": "​", + "style": "IPY_MODEL_6e71329ba9ed4e948fa281596f8c8a3e", + "value": "modules.json: 100%" + } + }, + "e4e404d30c6446e99f1c409a1d00f290": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_be47963d578846e2a0b5848122c867dd", + "max": 349, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_45d4fcd9772e43fe81479dbb7630c87d", + "value": 349 + } + }, + "2c1ddea915b74bf494d0b0cebf6923bd": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_97d08e7b2fad4055a45032f1325504c3", + "placeholder": "​", + "style": "IPY_MODEL_8b6fb0cc6aab4555b1ddbad71ca5dbb0", + "value": " 349/349 [00:00<00:00, 20.9kB/s]" + } + }, + "3985d6150656429fabaee74e82187c52": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "a2f9a01cf98a4e1fac6db25049995cd2": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "6e71329ba9ed4e948fa281596f8c8a3e": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "be47963d578846e2a0b5848122c867dd": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "45d4fcd9772e43fe81479dbb7630c87d": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "97d08e7b2fad4055a45032f1325504c3": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "8b6fb0cc6aab4555b1ddbad71ca5dbb0": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + } + } + } + }, + "cells": [ + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "id": "hndzQ4tqRLL9", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "9bd155d6-f936-4f67-a7a9-8b6f4ba57ae7" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Collecting langchain\n", + " Downloading langchain-0.0.346-py3-none-any.whl (2.0 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m2.0/2.0 MB\u001b[0m \u001b[31m8.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: PyYAML>=5.3 in /usr/local/lib/python3.10/dist-packages (from langchain) (6.0.1)\n", + "Requirement already satisfied: SQLAlchemy<3,>=1.4 in /usr/local/lib/python3.10/dist-packages (from langchain) (2.0.23)\n", + "Requirement already satisfied: aiohttp<4.0.0,>=3.8.3 in /usr/local/lib/python3.10/dist-packages (from langchain) (3.9.1)\n", + "Requirement already satisfied: anyio<4.0 in /usr/local/lib/python3.10/dist-packages (from langchain) (3.7.1)\n", + "Requirement already satisfied: async-timeout<5.0.0,>=4.0.0 in /usr/local/lib/python3.10/dist-packages (from langchain) (4.0.3)\n", + "Collecting dataclasses-json<0.7,>=0.5.7 (from langchain)\n", + " Downloading dataclasses_json-0.6.3-py3-none-any.whl (28 kB)\n", + "Collecting jsonpatch<2.0,>=1.33 (from langchain)\n", + " Downloading jsonpatch-1.33-py2.py3-none-any.whl (12 kB)\n", + "Collecting langchain-core<0.1,>=0.0.10 (from langchain)\n", + " Downloading langchain_core-0.0.10-py3-none-any.whl (178 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m178.2/178.2 kB\u001b[0m \u001b[31m11.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hCollecting langsmith<0.1.0,>=0.0.63 (from langchain)\n", + " Downloading langsmith-0.0.69-py3-none-any.whl (48 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m48.2/48.2 kB\u001b[0m \u001b[31m5.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: numpy<2,>=1 in /usr/local/lib/python3.10/dist-packages (from langchain) (1.23.5)\n", + "Requirement already satisfied: pydantic<3,>=1 in /usr/local/lib/python3.10/dist-packages (from langchain) (1.10.13)\n", + "Requirement already satisfied: requests<3,>=2 in /usr/local/lib/python3.10/dist-packages (from langchain) (2.31.0)\n", + "Requirement already satisfied: tenacity<9.0.0,>=8.1.0 in /usr/local/lib/python3.10/dist-packages (from langchain) (8.2.3)\n", + "Requirement already satisfied: attrs>=17.3.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp<4.0.0,>=3.8.3->langchain) (23.1.0)\n", + "Requirement already satisfied: multidict<7.0,>=4.5 in /usr/local/lib/python3.10/dist-packages (from aiohttp<4.0.0,>=3.8.3->langchain) (6.0.4)\n", + "Requirement already satisfied: yarl<2.0,>=1.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp<4.0.0,>=3.8.3->langchain) (1.9.3)\n", + "Requirement already satisfied: frozenlist>=1.1.1 in /usr/local/lib/python3.10/dist-packages (from aiohttp<4.0.0,>=3.8.3->langchain) (1.4.0)\n", + "Requirement already satisfied: aiosignal>=1.1.2 in /usr/local/lib/python3.10/dist-packages (from aiohttp<4.0.0,>=3.8.3->langchain) (1.3.1)\n", + "Requirement already satisfied: idna>=2.8 in /usr/local/lib/python3.10/dist-packages (from anyio<4.0->langchain) (3.6)\n", + "Requirement already satisfied: sniffio>=1.1 in /usr/local/lib/python3.10/dist-packages (from anyio<4.0->langchain) (1.3.0)\n", + "Requirement already satisfied: exceptiongroup in /usr/local/lib/python3.10/dist-packages (from anyio<4.0->langchain) (1.2.0)\n", + "Collecting marshmallow<4.0.0,>=3.18.0 (from dataclasses-json<0.7,>=0.5.7->langchain)\n", + " Downloading marshmallow-3.20.1-py3-none-any.whl (49 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m49.4/49.4 kB\u001b[0m \u001b[31m5.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hCollecting typing-inspect<1,>=0.4.0 (from dataclasses-json<0.7,>=0.5.7->langchain)\n", + " Downloading typing_inspect-0.9.0-py3-none-any.whl (8.8 kB)\n", + "Collecting jsonpointer>=1.9 (from jsonpatch<2.0,>=1.33->langchain)\n", + " Downloading jsonpointer-2.4-py2.py3-none-any.whl (7.8 kB)\n", + "Requirement already satisfied: typing-extensions>=4.2.0 in /usr/local/lib/python3.10/dist-packages (from pydantic<3,>=1->langchain) (4.5.0)\n", + "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests<3,>=2->langchain) (3.3.2)\n", + "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from requests<3,>=2->langchain) (2.0.7)\n", + "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests<3,>=2->langchain) (2023.11.17)\n", + "Requirement already satisfied: greenlet!=0.4.17 in /usr/local/lib/python3.10/dist-packages (from SQLAlchemy<3,>=1.4->langchain) (3.0.1)\n", + "Requirement already satisfied: packaging>=17.0 in /usr/local/lib/python3.10/dist-packages (from marshmallow<4.0.0,>=3.18.0->dataclasses-json<0.7,>=0.5.7->langchain) (23.2)\n", + "Collecting mypy-extensions>=0.3.0 (from typing-inspect<1,>=0.4.0->dataclasses-json<0.7,>=0.5.7->langchain)\n", + " Downloading mypy_extensions-1.0.0-py3-none-any.whl (4.7 kB)\n", + "Installing collected packages: mypy-extensions, marshmallow, jsonpointer, typing-inspect, langsmith, jsonpatch, langchain-core, dataclasses-json, langchain\n", + "Successfully installed dataclasses-json-0.6.3 jsonpatch-1.33 jsonpointer-2.4 langchain-0.0.346 langchain-core-0.0.10 langsmith-0.0.69 marshmallow-3.20.1 mypy-extensions-1.0.0 typing-inspect-0.9.0\n", + "Requirement already satisfied: huggingface_hub in /usr/local/lib/python3.10/dist-packages (0.19.4)\n", + "Requirement already satisfied: filelock in /usr/local/lib/python3.10/dist-packages (from huggingface_hub) (3.13.1)\n", + "Requirement already satisfied: fsspec>=2023.5.0 in /usr/local/lib/python3.10/dist-packages (from huggingface_hub) (2023.6.0)\n", + "Requirement already satisfied: requests in /usr/local/lib/python3.10/dist-packages (from huggingface_hub) (2.31.0)\n", + "Requirement already satisfied: tqdm>=4.42.1 in /usr/local/lib/python3.10/dist-packages (from huggingface_hub) (4.66.1)\n", + "Requirement already satisfied: pyyaml>=5.1 in /usr/local/lib/python3.10/dist-packages (from huggingface_hub) (6.0.1)\n", + "Requirement already satisfied: typing-extensions>=3.7.4.3 in /usr/local/lib/python3.10/dist-packages (from huggingface_hub) (4.5.0)\n", + "Requirement already satisfied: packaging>=20.9 in /usr/local/lib/python3.10/dist-packages (from huggingface_hub) (23.2)\n", + "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests->huggingface_hub) (3.3.2)\n", + "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests->huggingface_hub) (3.6)\n", + "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from requests->huggingface_hub) (2.0.7)\n", + "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests->huggingface_hub) (2023.11.17)\n", + "Collecting sentence_transformers\n", + " Downloading sentence-transformers-2.2.2.tar.gz (85 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m86.0/86.0 kB\u001b[0m \u001b[31m2.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + "Requirement already satisfied: transformers<5.0.0,>=4.6.0 in /usr/local/lib/python3.10/dist-packages (from sentence_transformers) (4.35.2)\n", + "Requirement already satisfied: tqdm in /usr/local/lib/python3.10/dist-packages (from sentence_transformers) (4.66.1)\n", + "Requirement already satisfied: torch>=1.6.0 in /usr/local/lib/python3.10/dist-packages (from sentence_transformers) (2.1.0+cu118)\n", + "Requirement already satisfied: torchvision in /usr/local/lib/python3.10/dist-packages (from sentence_transformers) (0.16.0+cu118)\n", + "Requirement already satisfied: numpy in /usr/local/lib/python3.10/dist-packages (from sentence_transformers) (1.23.5)\n", + "Requirement already satisfied: scikit-learn in /usr/local/lib/python3.10/dist-packages (from sentence_transformers) (1.2.2)\n", + "Requirement already satisfied: scipy in /usr/local/lib/python3.10/dist-packages (from sentence_transformers) (1.11.4)\n", + "Requirement already satisfied: nltk in /usr/local/lib/python3.10/dist-packages (from sentence_transformers) (3.8.1)\n", + "Collecting sentencepiece (from sentence_transformers)\n", + " Downloading sentencepiece-0.1.99-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.3/1.3 MB\u001b[0m \u001b[31m26.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: huggingface-hub>=0.4.0 in /usr/local/lib/python3.10/dist-packages (from sentence_transformers) (0.19.4)\n", + "Requirement already satisfied: filelock in /usr/local/lib/python3.10/dist-packages (from huggingface-hub>=0.4.0->sentence_transformers) (3.13.1)\n", + "Requirement already satisfied: fsspec>=2023.5.0 in /usr/local/lib/python3.10/dist-packages (from huggingface-hub>=0.4.0->sentence_transformers) (2023.6.0)\n", + "Requirement already satisfied: requests in /usr/local/lib/python3.10/dist-packages (from huggingface-hub>=0.4.0->sentence_transformers) (2.31.0)\n", + "Requirement already satisfied: pyyaml>=5.1 in /usr/local/lib/python3.10/dist-packages (from huggingface-hub>=0.4.0->sentence_transformers) (6.0.1)\n", + "Requirement already satisfied: typing-extensions>=3.7.4.3 in /usr/local/lib/python3.10/dist-packages (from huggingface-hub>=0.4.0->sentence_transformers) (4.5.0)\n", + "Requirement already satisfied: packaging>=20.9 in /usr/local/lib/python3.10/dist-packages (from huggingface-hub>=0.4.0->sentence_transformers) (23.2)\n", + "Requirement already satisfied: sympy in /usr/local/lib/python3.10/dist-packages (from torch>=1.6.0->sentence_transformers) (1.12)\n", + "Requirement already satisfied: networkx in /usr/local/lib/python3.10/dist-packages (from torch>=1.6.0->sentence_transformers) (3.2.1)\n", + "Requirement already satisfied: jinja2 in /usr/local/lib/python3.10/dist-packages (from torch>=1.6.0->sentence_transformers) (3.1.2)\n", + "Requirement already satisfied: triton==2.1.0 in /usr/local/lib/python3.10/dist-packages (from torch>=1.6.0->sentence_transformers) (2.1.0)\n", + "Requirement already satisfied: regex!=2019.12.17 in /usr/local/lib/python3.10/dist-packages (from transformers<5.0.0,>=4.6.0->sentence_transformers) (2023.6.3)\n", + "Requirement already satisfied: tokenizers<0.19,>=0.14 in /usr/local/lib/python3.10/dist-packages (from transformers<5.0.0,>=4.6.0->sentence_transformers) (0.15.0)\n", + "Requirement already satisfied: safetensors>=0.3.1 in /usr/local/lib/python3.10/dist-packages (from transformers<5.0.0,>=4.6.0->sentence_transformers) (0.4.1)\n", + "Requirement already satisfied: click in /usr/local/lib/python3.10/dist-packages (from nltk->sentence_transformers) (8.1.7)\n", + "Requirement already satisfied: joblib in /usr/local/lib/python3.10/dist-packages (from nltk->sentence_transformers) (1.3.2)\n", + "Requirement already satisfied: threadpoolctl>=2.0.0 in /usr/local/lib/python3.10/dist-packages (from scikit-learn->sentence_transformers) (3.2.0)\n", + "Requirement already satisfied: pillow!=8.3.*,>=5.3.0 in /usr/local/lib/python3.10/dist-packages (from torchvision->sentence_transformers) (9.4.0)\n", + "Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.10/dist-packages (from jinja2->torch>=1.6.0->sentence_transformers) (2.1.3)\n", + "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests->huggingface-hub>=0.4.0->sentence_transformers) (3.3.2)\n", + "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests->huggingface-hub>=0.4.0->sentence_transformers) (3.6)\n", + "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from requests->huggingface-hub>=0.4.0->sentence_transformers) (2.0.7)\n", + "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests->huggingface-hub>=0.4.0->sentence_transformers) (2023.11.17)\n", + "Requirement already satisfied: mpmath>=0.19 in /usr/local/lib/python3.10/dist-packages (from sympy->torch>=1.6.0->sentence_transformers) (1.3.0)\n", + "Building wheels for collected packages: sentence_transformers\n", + " Building wheel for sentence_transformers (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + " Created wheel for sentence_transformers: filename=sentence_transformers-2.2.2-py3-none-any.whl size=125923 sha256=bae66a222ddc60a104a9ac1501bbe5b63786537d897bbe19c663a14a5b52166f\n", + " Stored in directory: /root/.cache/pip/wheels/62/f2/10/1e606fd5f02395388f74e7462910fe851042f97238cbbd902f\n", + "Successfully built sentence_transformers\n", + "Installing collected packages: sentencepiece, sentence_transformers\n", + "Successfully installed sentence_transformers-2.2.2 sentencepiece-0.1.99\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.7/1.7 MB\u001b[0m \u001b[31m15.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m397.5/397.5 kB\u001b[0m \u001b[31m26.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m275.1/275.1 kB\u001b[0m \u001b[31m19.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m981.5/981.5 kB\u001b[0m \u001b[31m39.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m3.3/3.3 MB\u001b[0m \u001b[31m84.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m239.6/239.6 kB\u001b[0m \u001b[31m21.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m15.7/15.7 MB\u001b[0m \u001b[31m76.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m277.6/277.6 kB\u001b[0m \u001b[31m26.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m101.8/101.8 kB\u001b[0m \u001b[31m10.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m5.6/5.6 MB\u001b[0m \u001b[31m97.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m62.7/62.7 kB\u001b[0m \u001b[31m5.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m2.3/2.3 MB\u001b[0m \u001b[31m70.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m471.6/471.6 kB\u001b[0m \u001b[31m39.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m19.2/19.2 MB\u001b[0m \u001b[31m71.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m45.7/45.7 kB\u001b[0m \u001b[31m4.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m5.9/5.9 MB\u001b[0m \u001b[31m97.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m154.8/154.8 kB\u001b[0m \u001b[31m16.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m114.6/114.6 kB\u001b[0m \u001b[31m12.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m3.6/3.6 MB\u001b[0m \u001b[31m79.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m46.0/46.0 kB\u001b[0m \u001b[31m4.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m42.2/42.2 kB\u001b[0m \u001b[31m1.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m49.0/49.0 kB\u001b[0m \u001b[31m4.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m112.5/112.5 kB\u001b[0m \u001b[31m9.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m86.8/86.8 kB\u001b[0m \u001b[31m9.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m2.2/2.2 MB\u001b[0m \u001b[31m60.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m79.5/79.5 kB\u001b[0m \u001b[31m8.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m3.0/3.0 MB\u001b[0m \u001b[31m94.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m117.0/117.0 kB\u001b[0m \u001b[31m13.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + " Building wheel for langdetect (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + " Building wheel for iopath (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + " Building wheel for antlr4-python3-runtime (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + "\u001b[31mERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.\n", + "lida 0.0.10 requires fastapi, which is not installed.\n", + "lida 0.0.10 requires kaleido, which is not installed.\n", + "lida 0.0.10 requires uvicorn, which is not installed.\n", + "imageio 2.31.6 requires pillow<10.1.0,>=8.3.2, but you have pillow 10.1.0 which is incompatible.\u001b[0m\u001b[31m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m17.6/17.6 MB\u001b[0m \u001b[31m14.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h" + ] + } + ], + "source": [ + "# Need some pre-requisites\n", + "\n", + "!pip install langchain\n", + "!pip install huggingface_hub\n", + "!pip install sentence_transformers\n", + "!pip install unstructured[local-inference] -q\n", + "!pip install -q faiss-cpu" + ] + }, + { + "cell_type": "code", + "source": [ + "# FAISS needed to store the vector representations of PDF text data from UnstructuredPDFLoader\n", + "# QA will provide me with answer based data from PDF provided, to the prompt given\n", + "\n", + "from langchain.document_loaders import UnstructuredPDFLoader\n", + "from langchain.vectorstores import FAISS\n", + "from langchain.chains.question_answering import load_qa_chain\n" + ], + "metadata": { + "id": "c61wykhqRPUw" + }, + "execution_count": 6, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "# PLEASE PROVIDE HUGGINGFACE TOKEN, SO THAT WE ARE ABLE TO USE HUGGINGFACE MODELS\n", + "\n", + "import os\n", + "os.environ[\"HUGGINGFACEHUB_API_TOKEN\"] = \"PUT_YOUR_HUGGING_FACE_TOKEN_HERE\"" + ], + "metadata": { + "id": "7whTyEnWRs6Q" + }, + "execution_count": 7, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "# Load the document of where the data is.. In my case., Clothes Catalogue\n", + "\n", + "loader = UnstructuredPDFLoader(\"/content/doc2.pdf\")\n", + "document = loader.load()" + ], + "metadata": { + "id": "Wm1hwY_LRWng", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "c79a78ad-134e-4e72-d1a7-912776bdbe59" + }, + "execution_count": 8, + "outputs": [ + { + "output_type": "stream", + "name": "stderr", + "text": [ + "[nltk_data] Downloading package punkt to /root/nltk_data...\n", + "[nltk_data] Unzipping tokenizers/punkt.zip.\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "# Take a document and split it into chunks of a specified size while considering overlap and using defined separators.\n", + "# Useful for processing large text documents in smaller, more manageable pieces.\n", + "\n", + "from langchain.text_splitter import RecursiveCharacterTextSplitter\n", + "\n", + "text_splitter = RecursiveCharacterTextSplitter(chunk_size = 500, chunk_overlap=0, separators=[\" \", \",\", \"\\n\"])\n", + "docs = text_splitter.split_documents(document)" + ], + "metadata": { + "id": "uXlo_SH7RWiH" + }, + "execution_count": 9, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "# Numerical representations of words, sentences, or documents that capture semantic information are done with HuggingFaceEmbeddings\n", + "# Creating a FAISS index from the embedded documents, which allows for efficient similarity search based on the learned embeddings.\n", + "\n", + "from langchain.embeddings import HuggingFaceEmbeddings\n", + "\n", + "embedding = HuggingFaceEmbeddings()\n", + "db = FAISS.from_documents(docs, embedding)" + ], + "metadata": { + "id": "N7NpRjWbRWfl", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 465, + "referenced_widgets": [ + "23607968bc4d49b786b77b3ea34b074e", + "d891ab2e06974741856591110be2c4c8", + "b0750223d8fc4a19b9cae4bea1999612", + "6510989ec2714da9a503b5bfe75bf71a", + "641deb3c3fca4a8e9473a130d28d74d1", + "8648881bae5243e781bbf9c4233d60f4", + "12f535cdd1b54f09bcdefdca742ba3ec", + "9ea9d0ffa0254c8da0daae21be927697", + "54be88cb39ea463c8546c831a5a69a03", + "ed7f25bb019f43d18e2af53ba6614ba2", + "df4d7cc76cec4ff38cc27e577cac0953", + "e93bf69730824138aaf354009fc8c1aa", + "3ef058f234fb443cbeba8c88d7f58d7f", + "17d56749e05c4ec1a6134466a9433406", + "5d03809a0f724cbba88aa088ace21cec", + "118a78f85d35465cb95d18f23dc4f218", + "42983e2264114fed936c607e166a813a", + "3f2bacd327da4ffba7379bd221290de2", + "49f22e10d58d47ebb1bff6d10deb4d81", + "0bd7a8cb90914d3da71c2e62079088d0", + "b3c532a101bd4500a423c705cdd30097", + "d56f7720850a4f70bdd5896212114aaf", + "b17a8eb38bb34985b31d265f979d550c", + "f70561286400426a8893240ef4ac4f8f", + "8ba4c1ba21824129a53e1e26a58c3a6f", + "ef37464ea7ea49259ed6b3ce5c9672e5", + "734e31c6e88f47649128dc646dbca77a", + "bfa540c77c884377b3d14433628b4024", + "86bcd0067bd04ccfb706a14d937484fa", + "2d34148cb5f847e3b365d50e8fde40f7", + "150d0df68328481a8041d2dcaf2bd973", + "8a55e8d69f03481d9a0812c1b2001025", + "f90d5916a85643d4b8c172e38a8c418e", + "0ef42122570d4213b0a202a0886a7b35", + "5d8d4f1baad34069ba0d849bd51b406f", + "25699261e58d49218ffa76e6bfe409a6", + "1e03f71de1384a27b45a2d6d37f292b1", + "7f187660e02b4fc799b4da3a4ada17aa", + "747a7894cdfa4bce8cf76f0d82d84abb", + "f687e06e06394120a5a09ec661e82aba", + "729f3f28029a46a28b3714d171fca8b3", + "2a03ec45696f4c41b37e14d6facd83f7", + "870f3a72816d48f8ad27b8249e76f99f", + "057c2cffb3004a4ba72dcfc67ab5ecf6", + "3ca0a9887a6c4bbfb2aec2faeb74e376", + "19ed688a695845fba3004692d53443f8", + "e0592982bf8a482993a4517e565ac32a", + "b8c431ce76f3471899a967e58d3c48dc", + "99cf9230a40c407a8b5b80bb4f434603", + "3e67d5df28214cc7b9fc1421fae60e81", + "c6b84a35b19646efb960b68b4707ad2e", + "7f8af4a772b0490cb01a073be84bfeda", + "655cb24751ac4f8484563e1113d2b1f2", + "14249f80105049fb802e87f3b5d98f1d", + "18663e8bee7740a79155e633f528b3b0", + "ddb1d592f1f949c2bc3663eaa09a82e2", + "419baab7a4984bccbfd308503e4d0fe3", + "49c5dabe560b40029998b706a2daf492", + "3b81131e9d3943d8b057b8db30c5b535", + "cd60aaf3065c4b9cb41816ba47cea595", + "9c5ea6f967ee468bbc004cf17a101f45", + "68a64a5764f44fbaab8d7d7ff4ff27af", + "3b4da69205c84d01a9ac64c9620d7c98", + "2790e175d5cd4ff09848b7f93b9c1f65", + "0b84133a40034512acfd1fa386aff78d", + "cabff2df46eb45579e32f769794f5e82", + "a7b4da413e3f4c379242ba1d1df47c5a", + "6915b3ccb38c4fe7b03e4c023e6aaf8d", + "f569950194684b2187522b33d6658cf6", + "5d57674fd8214bafbf2b47d5860da60c", + "6dc92f33b5364b2b99bf7be448f3100a", + "fb833669c554404d8e3236d872d3a9c3", + "4f29461501c54c4ea2274a356c790b3e", + "af32ae0b068a48c68f0d4ed42da930ff", + "85e1219e5e3d4d3daa60c993e1f404df", + "b967cd59d2b04c6484af9915a5cc9c9a", + "8e78527019194686b66456e091680243", + "62793ff863234cc2804c568bb358a543", + "1eb2713fbede4ff3bc4cd86cfe67d29a", + "d5002f91694d4829886f4b3006a85368", + "20e0f9e393504d319090c8985ffefe4f", + "2af9270e8dcd4105a9e96c1f96858ba3", + "49069554a008477f9c57016f5a8b9c20", + "652bcab4e6c8400a86d95a7a2d7631f8", + "e39444c8727442519c8d0906f6f10a48", + "c2605e1c2e3a4ff687da0626d33bb6d2", + "253861912a524c638a9ec26c08f4cc9f", + "7563929533f7428ca40b1de960b47175", + "97032c42809042f09283bff98cfd60c0", + "443d12a2b811483ab903715347c86f8c", + "730d72f523f74f20949b8e4e68d77b8b", + "705309b9171a45beba8fb118e0910790", + "28e19593652c4b2d9abcbee02c486ed8", + "b478df96fd7643bbaca9c419c42d5477", + "e72deea57e9a4c06bcd38769b0d4fdd4", + "3b5fc31ac3384f5f988dbc3636abf01f", + "24c0c9858aa14796952197164c579ec6", + "7f78f54d2b5945f09d43c3420d8dd27f", + "e191506379f144d28f5da8c0d0927b60", + "9edfc3996ea843ca8b3a2e67c3be2203", + "9f82f973a29b48d0b61a08900d899bce", + "4ef4ce60ec68456e8b45b68f134d25c9", + "4f3596fc374d41048fce054d2d3d867f", + "70e54b722a2c4e8fa0b3b50daa025014", + "ac9e69d031b74845b79d17b6f7abc3df", + "0dad6d8443b0402ba2594b8de4d82fce", + "3a4b8e53978c4a74a2530010ab7269a3", + "5ffaf729cd0a44a8970f455e1d7d7f97", + "509f974a8d7848efaa37f74bec02288e", + "4ac2e43bb41b4a7f9e06a7fd37be0e56", + "400defce45e64c45afec9ce7a6418d29", + "1c4c6ff037fd434299889439b5a0e5aa", + "b71454057a38419c94aaefdd879cf013", + "5ade3b8a5bae485a84951216e2aa6133", + "10265027a2ee49d78af72162a048ae14", + "c9e0678085c14a6e8f842081c0f20cef", + "4cffe665b9b4430bb355dd4cc57afb6a", + "8e64f12d4422469dae6a786771fc3257", + "b524ac66c568404d873be695dd9e2b46", + "70360cafd0b94631a64d12b00693b5f2", + "15a4c0eb016949c48ca6fb24ef041636", + "e1f067311f14426a955633e9c98ed804", + "fb7e8f26d4174e9698c97b1393171be4", + "4dd3a574d67b4ae5971cb8f4d521ece3", + "e38f515d61d44017a38d4c06d07d5e5e", + "3ef4cea9699048169435224b2b5ed4ee", + "ce12e1b2a3c64725b8f1d4a0bec6a94d", + "6953d531ce624fa7bbfc5c1a1c079e2e", + "6602cf060a0c4a21b8f12078b1bce6ea", + "8b665819df2a4634bc4a618ec4f8a811", + "4bd8b9f65d1c4bbfa4ad8f11ac63b713", + "e252594e398044ec8154d6ceebe641c9", + "4615ca319aac4829ac47809797c41203", + "da6981966557475bb4c62bf665535603", + "bf0ec5d376624576af6dfa2d8728e931", + "a3dca0840f994e64bb85d2de9cd4d3e7", + "14d490ff47b2438d90a5f3c79c38c74e", + "60ee682da3d9494181a816a35b349241", + "8fbb0eeec05e4a93a8029c6beef41744", + "7d93031883c94279a94f32a209dbc687", + "8c369c9ddd1d4da1b04ad5d1c277d4c7", + "89408d151d2e4ec2a836d6982b8f4c04", + "5a56b0fc8263477395766e0e592e30b1", + "d10172c7a0fe40aa8ca4f6339c427876", + "5d3223254cbf438286a0822dc7a32681", + "e4e404d30c6446e99f1c409a1d00f290", + "2c1ddea915b74bf494d0b0cebf6923bd", + "3985d6150656429fabaee74e82187c52", + "a2f9a01cf98a4e1fac6db25049995cd2", + "6e71329ba9ed4e948fa281596f8c8a3e", + "be47963d578846e2a0b5848122c867dd", + "45d4fcd9772e43fe81479dbb7630c87d", + "97d08e7b2fad4055a45032f1325504c3", + "8b6fb0cc6aab4555b1ddbad71ca5dbb0" + ] + }, + "outputId": "38221f0a-381a-4ec9-f3b0-ced9157e0ef4" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + ".gitattributes: 0%| | 0.00/1.18k [00:00 Date: Wed, 6 Dec 2023 23:44:28 +0530 Subject: [PATCH 06/13] Add files via upload --- Quantumcoders/__init__.py | 0 Quantumcoders/admin.py | 3 + Quantumcoders/apps.py | 6 ++ Quantumcoders/asgi.py | 16 +++++ Quantumcoders/db.sqlite3 | 0 Quantumcoders/manage.py | 22 +++++++ Quantumcoders/models.py | 3 + Quantumcoders/settings.py | 126 ++++++++++++++++++++++++++++++++++++++ Quantumcoders/tests.py | 3 + Quantumcoders/urls.py | 10 +++ Quantumcoders/views.py | 43 +++++++++++++ Quantumcoders/wsgi.py | 16 +++++ 12 files changed, 248 insertions(+) create mode 100644 Quantumcoders/__init__.py create mode 100644 Quantumcoders/admin.py create mode 100644 Quantumcoders/apps.py create mode 100644 Quantumcoders/asgi.py create mode 100644 Quantumcoders/db.sqlite3 create mode 100644 Quantumcoders/manage.py create mode 100644 Quantumcoders/models.py create mode 100644 Quantumcoders/settings.py create mode 100644 Quantumcoders/tests.py create mode 100644 Quantumcoders/urls.py create mode 100644 Quantumcoders/views.py create mode 100644 Quantumcoders/wsgi.py diff --git a/Quantumcoders/__init__.py b/Quantumcoders/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/Quantumcoders/admin.py b/Quantumcoders/admin.py new file mode 100644 index 00000000..ea5d68b7 --- /dev/null +++ b/Quantumcoders/admin.py @@ -0,0 +1,3 @@ +from django.contrib import admin + +# Register your models here. diff --git a/Quantumcoders/apps.py b/Quantumcoders/apps.py new file mode 100644 index 00000000..446b8169 --- /dev/null +++ b/Quantumcoders/apps.py @@ -0,0 +1,6 @@ +from django.apps import AppConfig + + +class ShopConfig(AppConfig): + default_auto_field = "django.db.models.BigAutoField" + name = "shop" diff --git a/Quantumcoders/asgi.py b/Quantumcoders/asgi.py new file mode 100644 index 00000000..d0a93e3b --- /dev/null +++ b/Quantumcoders/asgi.py @@ -0,0 +1,16 @@ +""" +ASGI config for mysite project. + +It exposes the ASGI callable as a module-level variable named ``application``. + +For more information on this file, see +https://docs.djangoproject.com/en/4.2/howto/deployment/asgi/ +""" + +import os + +from django.core.asgi import get_asgi_application + +os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings") + +application = get_asgi_application() diff --git a/Quantumcoders/db.sqlite3 b/Quantumcoders/db.sqlite3 new file mode 100644 index 00000000..e69de29b diff --git a/Quantumcoders/manage.py b/Quantumcoders/manage.py new file mode 100644 index 00000000..71efd103 --- /dev/null +++ b/Quantumcoders/manage.py @@ -0,0 +1,22 @@ +#!/usr/bin/env python +"""Django's command-line utility for administrative tasks.""" +import os +import sys + + +def main(): + """Run administrative tasks.""" + os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings") + try: + from django.core.management import execute_from_command_line + except ImportError as exc: + raise ImportError( + "Couldn't import Django. Are you sure it's installed and " + "available on your PYTHONPATH environment variable? Did you " + "forget to activate a virtual environment?" + ) from exc + execute_from_command_line(sys.argv) + + +if __name__ == "__main__": + main() diff --git a/Quantumcoders/models.py b/Quantumcoders/models.py new file mode 100644 index 00000000..fd18c6ea --- /dev/null +++ b/Quantumcoders/models.py @@ -0,0 +1,3 @@ +from django.db import models + +# Create your models here. diff --git a/Quantumcoders/settings.py b/Quantumcoders/settings.py new file mode 100644 index 00000000..a4fab38d --- /dev/null +++ b/Quantumcoders/settings.py @@ -0,0 +1,126 @@ +""" +Django settings for mysite project. + +Generated by 'django-admin startproject' using Django 4.2.7. + +For more information on this file, see +https://docs.djangoproject.com/en/4.2/topics/settings/ + +For the full list of settings and their values, see +https://docs.djangoproject.com/en/4.2/ref/settings/ +""" + +from pathlib import Path +import os + +# Build paths inside the project like this: BASE_DIR / 'subdir'. +BASE_DIR = Path(__file__).resolve().parent.parent + + +# Quick-start development settings - unsuitable for production +# See https://docs.djangoproject.com/en/4.2/howto/deployment/checklist/ + +# SECURITY WARNING: keep the secret key used in production secret! +SECRET_KEY = "django-insecure-4z=&32ebvzt6&%&%#fx_%g)n-@@qj)strt-m^!vnr39!bzv^yt" + +# SECURITY WARNING: don't run with debug turned on in production! +DEBUG = True + +ALLOWED_HOSTS = [] + + +# Application definition + +INSTALLED_APPS = [ + "django.contrib.admin", + "django.contrib.auth", + "django.contrib.contenttypes", + "django.contrib.sessions", + "django.contrib.messages", + "django.contrib.staticfiles", +] + +MIDDLEWARE = [ + "django.middleware.security.SecurityMiddleware", + "django.contrib.sessions.middleware.SessionMiddleware", + "django.middleware.common.CommonMiddleware", + "django.middleware.csrf.CsrfViewMiddleware", + "django.contrib.auth.middleware.AuthenticationMiddleware", + "django.contrib.messages.middleware.MessageMiddleware", + "django.middleware.clickjacking.XFrameOptionsMiddleware", +] + +ROOT_URLCONF = "mysite.urls" + +TEMPLATES = [ + { + "BACKEND": "django.template.backends.django.DjangoTemplates", + "DIRS": [os.path.join(BASE_DIR,'templates')], + "APP_DIRS": True, + "OPTIONS": { + "context_processors": [ + "django.template.context_processors.debug", + "django.template.context_processors.request", + "django.contrib.auth.context_processors.auth", + "django.contrib.messages.context_processors.messages", + ], + }, + }, +] + +WSGI_APPLICATION = "mysite.wsgi.application" + + +# Database +# https://docs.djangoproject.com/en/4.2/ref/settings/#databases + +DATABASES = { + "default": { + "ENGINE": "django.db.backends.sqlite3", + "NAME": BASE_DIR / "db.sqlite3", + } +} + + +# Password validation +# https://docs.djangoproject.com/en/4.2/ref/settings/#auth-password-validators + +AUTH_PASSWORD_VALIDATORS = [ + { + "NAME": "django.contrib.auth.password_validation.UserAttributeSimilarityValidator", + }, + { + "NAME": "django.contrib.auth.password_validation.MinimumLengthValidator", + }, + { + "NAME": "django.contrib.auth.password_validation.CommonPasswordValidator", + }, + { + "NAME": "django.contrib.auth.password_validation.NumericPasswordValidator", + }, +] + + +# Internationalization +# https://docs.djangoproject.com/en/4.2/topics/i18n/ + +LANGUAGE_CODE = "en-us" + +TIME_ZONE = "UTC" + +USE_I18N = True + +USE_TZ = True + + +# Static files (CSS, JavaScript, Images) +# https://docs.djangoproject.com/en/4.2/howto/static-files/ + +STATIC_URL = "static/" +STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')] +STATIC_ROOT = os.path.join(BASE_DIR,"assets") + +# Default primary key field type +# https://docs.djangoproject.com/en/4.2/ref/settings/#default-auto-field + +DEFAULT_AUTO_FIELD = "django.db.models.BigAutoField" diff --git a/Quantumcoders/tests.py b/Quantumcoders/tests.py new file mode 100644 index 00000000..de8bdc00 --- /dev/null +++ b/Quantumcoders/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/Quantumcoders/urls.py b/Quantumcoders/urls.py new file mode 100644 index 00000000..93c072cc --- /dev/null +++ b/Quantumcoders/urls.py @@ -0,0 +1,10 @@ +from django.urls import path + +from . import views + +urlpatterns =[ +path("", views.home, name="home"), +path("casa", views.casa, name="casa"), +path("cart", views.cart, name="cart"), +path("test12", views.test12, name="test12"), +] diff --git a/Quantumcoders/views.py b/Quantumcoders/views.py new file mode 100644 index 00000000..539ffccf --- /dev/null +++ b/Quantumcoders/views.py @@ -0,0 +1,43 @@ +from django.shortcuts import render +from django.http import HttpResponse + +shplist=["T-shirt Contrast Pocket","Basic Flowing Scarf"] +rcmdlist=["black shoe","Basic Flowing Scarf"] + +itemDescription={"T-shirt Contrast Pocket":['$30','static/img/shopping-cart/cart-1.jpg'],"Basic Flowing Scarf":["$47.00","static/img/shopping-cart/cart-3.jpg"], +"black shoe":["$32.50","static/img/shopping-cart/cart-2.jpg"]} +fullDetail=[] +for it in shplist: + currlst=[] + currlst.append(it) + for jk in itemDescription[it]: + currlst.append(jk) + fullDetail.append(currlst) +rcdflist=[] +for it in rcmdlist: + currlst=[] + currlst.append(it) + for jk in itemDescription[it]: + currlst.append(jk) + rcdflist.append(currlst) + +# Create your views here. +def home(request): + return render(request,'index.html') + +def casa(request): + return render(request,'tgg.html') + +def cart(request): + return render(request,'shopping-cart.html',{"lst":fullDetail,"rlst":rcdflist}) + + + + + +# @register.filter +# def get_index(lst, i): +# return lst[i] + +def test12(request): + return render(request,"test12.html",{"lst":shplist,"rlst":rcdflist}) diff --git a/Quantumcoders/wsgi.py b/Quantumcoders/wsgi.py new file mode 100644 index 00000000..78134f21 --- /dev/null +++ b/Quantumcoders/wsgi.py @@ -0,0 +1,16 @@ +""" +WSGI config for mysite project. + +It exposes the WSGI callable as a module-level variable named ``application``. + +For more information on this file, see +https://docs.djangoproject.com/en/4.2/howto/deployment/wsgi/ +""" + +import os + +from django.core.wsgi import get_wsgi_application + +os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings") + +application = get_wsgi_application() From 2941f181823df63b1ed93f6d80e72abd5d2bb2b7 Mon Sep 17 00:00:00 2001 From: no-one-really <58998511+no-one-really@users.noreply.github.com> Date: Wed, 6 Dec 2023 23:46:17 +0530 Subject: [PATCH 07/13] Add files via upload --- __init__.py | 0 admin.py | 3 + apps.py | 6 + home.html | 1 + index.html | 1889 ++++++++++++++++++++++++++++++++++++++++++++ models.py | 3 + shopping-cart.html | 291 +++++++ test12.html | 48 ++ tests.py | 3 + tgg.html | 66 ++ urls.py | 10 + views.py | 43 + 12 files changed, 2363 insertions(+) create mode 100644 __init__.py create mode 100644 admin.py create mode 100644 apps.py create mode 100644 home.html create mode 100644 index.html create mode 100644 models.py create mode 100644 shopping-cart.html create mode 100644 test12.html create mode 100644 tests.py create mode 100644 tgg.html create mode 100644 urls.py create mode 100644 views.py diff --git a/__init__.py b/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/admin.py b/admin.py new file mode 100644 index 00000000..ea5d68b7 --- /dev/null +++ b/admin.py @@ -0,0 +1,3 @@ +from django.contrib import admin + +# Register your models here. diff --git a/apps.py b/apps.py new file mode 100644 index 00000000..446b8169 --- /dev/null +++ b/apps.py @@ -0,0 +1,6 @@ +from django.apps import AppConfig + + +class ShopConfig(AppConfig): + default_auto_field = "django.db.models.BigAutoField" + name = "shop" diff --git a/home.html b/home.html new file mode 100644 index 00000000..3b2634d5 --- /dev/null +++ b/home.html @@ -0,0 +1 @@ +

Hello

\ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 00000000..044f3397 --- /dev/null +++ b/index.html @@ -0,0 +1,1889 @@ +{% load static %} + + + + GenAI - Clothing Store + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+
+ + + +
Browse Categories
+ + +
+
+ + +
+ + + +
+
+
+ +
+
+ +
+
+
+
+ + + +
+
+
+
+
+
+ collection item +
+
+
casual collection
+

street wear.

+

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Dignissim massa diam elementum.

+ +
+
+
+
+
+
+ collection item +
+
+
Basic Collection
+

Basic shoes.

+ +
+
+
+
+ collection item +
+
+
Best Selling Product
+

woolen hat.

+ +
+
+
+
+
+
+ +
+
+
+
+
+

Get 25% off Discount Coupons

+
+

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Dictumst amet, metus, sit massa posuere maecenas. At tellus ut nunc amet vel egestas.

+
+ +
+
+
+ +
+
+
+

Best selling products

+
+ +
+
+
+
+
+ Books +
+
+
+ + + +
+
+
+

+ Half sleeve T-shirt +

+
$40.00
+
+
+
+
+ Books +
+
+
+ + + +
+
+
+

+ Stylish Grey T-shirt +

+
$35.00
+
+
+
+
+ Books +
+
+
+ + + +
+
+
+

+ Silk White Shirt +

+
$35.00
+
+
+
+
+ Books +
+
+
+ + + +
+
+
+

+ Grunge Hoodie +

+
$30.00
+
+
+
+
+ Books +
+
+
+ + + +
+
+
+

+ Full sleeve Jeans jacket +

+
$40.00
+
+
+
+
+ Books +
+
+
+ + + +
+
+
+

+ Grey Check Coat +

+
$30.00
+
+
+
+
+ Books +
+
+
+ + + +
+
+
+

+ Long Sleeve T-shirt +

+
$40.00
+
+
+
+
+ Books +
+
+
+ + + +
+
+
+

+ Half Sleeve T-shirt +

+
$35.00
+
+
+
+
+ Books +
+
+
+ + + +
+
+
+

+ Orange white Nike +

+
$55.00
+
+
+
+
+ Books +
+
+
+ + + +
+
+
+

+ Running Shoe +

+
$65.00
+
+
+
+
+ Books +
+
+
+ + + +
+
+
+

+ Tennis Shoe +

+
$80.00
+
+
+
+
+ Books +
+
+
+ + + +
+
+
+

+ Nike Brand Shoe +

+
$65.00
+
+
+
+
+
+
+
+
+ Books +
+
+
+ + + +
+
+
+

+ Orange white Nike +

+
$55.00
+
+
+
+
+ Books +
+
+
+ + + +
+
+
+

+ Running Shoe +

+
$65.00
+
+
+
+
+ Books +
+
+
+ + + +
+
+
+

+ Tennis Shoe +

+
$80.00
+
+
+
+
+ Books +
+
+
+ + + +
+
+
+

+ Nike Brand Shoe +

+
$65.00
+
+
+
+
+
+
+
+
+ Books +
+
+
+ + + +
+
+
+

+ Silk White Shirt +

+
$35.00
+
+
+
+
+ Books +
+
+
+ + + +
+
+
+

+ White Half T-shirt +

+
$30.00
+
+
+
+
+ Books +
+
+
+ + + +
+
+
+

+ Ghee Half T-shirt +

+
$40.00
+
+
+
+
+ Books +
+
+
+ + + +
+
+
+

+ Long Sleeve T-shirt +

+
$40.00
+
+
+
+
+
+
+
+
+ Books +
+
+
+ + + +
+
+
+

+ Half sleeve T-shirt +

+
$40.00
+
+
+
+
+ Books +
+
+
+ + + +
+
+
+

+ Grunge Hoodie +

+
$30.00
+
+
+
+
+ Books +
+
+
+ + + +
+
+
+

+ Long Sleeve T-shirt +

+
$40.00
+
+
+
+
+ Books +
+
+
+ + + +
+
+
+

+ Stylish Grey Pant +

+
$40.00
+
+
+
+
+
+
+
+
+ Books +
+
+
+ + + +
+
+
+

+ White Hoodie +

+
$40.00
+
+
+
+
+ Books +
+
+
+ + + +
+
+
+

+ Navy Blue Hoodie +

+
$45.00
+
+
+
+
+ Books +
+
+
+ + + +
+
+
+

+ Dark Green Hoodie +

+
$35.00
+
+
+
+
+
+
+
+
+ Books +
+
+
+ + + +
+
+
+

+ Silk White Shirt +

+
$ 35.00
+
+
+
+
+ Books +
+
+
+ + + +
+
+
+

+ Grunge Hoodie +

+
$ 30.00
+
+
+
+
+ Books +
+
+
+ + + +
+
+
+

+ Grey Check Coat +

+
$ 30.00
+
+
+
+
+ Books +
+
+
+ + + +
+
+
+

+ Long Sleeve T-shirt +

+
$ 40.00
+
+
+
+
+
+
+
+
+ Books +
+
+
+ + + +
+
+
+

+ Full Sleeve Jeans Jacket +

+
$40.00
+
+
+
+
+ Books +
+
+
+ + + +
+
+
+

+ Stylish Grey Coat +

+
$35.00
+
+
+
+
+ Books +
+
+
+ + + +
+
+
+

+ Grey Check Coat +

+
$35.00
+
+
+
+
+
+
+
+
+ Books +
+
+
+ + + +
+
+
+

+ Stylish Women Bag +

+
$35.00
+
+
+
+
+ Books +
+
+
+ + + +
+
+
+

+ Stylish Gadgets +

+
$30.00
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+ +
+
+
+
+
+
+
+

“Dignissim massa diam elementum habitant fames. Id nullam pellentesque nisi, eget cursus dictumst pharetra, sit. Pulvinar laoreet id porttitor egestas dui urna. Porttitor nibh magna dolor ultrices iaculis sit iaculis.”

+
+
By Maggie Rio
+
+
+
+
+
+

“Dignissim massa diam elementum habitant fames. Id nullam pellentesque nisi, eget cursus dictumst pharetra, sit. Pulvinar laoreet id porttitor egestas dui urna. Porttitor nibh magna dolor ultrices iaculis sit iaculis.”

+
+
By John Smith
+
+
+
+
+
+
+ + +
+
+
+
+
+
+ +
+ +
+
+

Flash sales

+
+
+ +
+
+
+ Books +
+
+ + + +
+
+
10% Off
+
+

+ Full sleeve cover shirt +

+
+ $50.00$40.00 +
+
+
+
+
+
+ Books +
+
+ + + +
+
+
10% Off
+
+

+ Long Sleeve T-shirt +

+
+ $50.00$40.00 +
+
+
+
+
+
+ Books +
+
+ + + +
+
+
10% Off
+
+

+ Grey Check Coat +

+
+ $55.00$45.00 +
+
+
+
+
+
+ Books +
+
+ + + +
+
+
10% Off
+
+

+ Silk White Shirt +

+
+ $45.00$35.00 +
+
+
+
+
+
+ Books +
+
+ + + +
+
+
10% Off
+
+

+ Blue Jeans pant +

+
+ $45.00$35.00 +
+
+
+
+
+
+ +
+
+
+ +
+
+
+
+
+ collection item +
+
+
Denim collection
+

The casual selection.

+

Vel non viverra ligula odio ornare turpis mauris. Odio aliquam, tincidunt ut vitae elit risus. Tempor egestas condimentum et ac rutrum dui, odio.

+ +
+
+
+
+
+ +
+
+

Quote of the day

+
+ It's true, I don't like the whole cutoff-shorts-and-T-shirt look, but I think you can look fantastic in casual clothes. +
- Dr. Seuss
+
+
+
+ +
+
+
+
+

our Journal

+ +
+
+ + + +
+
+
+ +
+
+
+ phone + phone + phone + phone + phone +
+
+
+ +
+
+
+

Follow our instagram

+
+

Our official Instagram account @GenAI or #GenAI_clothing +

+
+
+
+ instagram + +
+
+
+
+ instagram + +
+
+
+
+ instagram + +
+
+
+
+ instagram + +
+
+
+
+ instagram + +
+
+
+
+ instagram + +
+
+
+
+
+ +
+
+
+
+
+
+ +

+ Free shipping Over $200 +

+
+
+
+
+ +

+ Money back Return within 7 days +

+
+
+
+
+ +

+ Buy 4 get 5th 50% off +

+
+
+
+
+ +

+ Any questions? experts are ready +

+
+
+
+
+
+
+ + + + + + + + + + + diff --git a/models.py b/models.py new file mode 100644 index 00000000..fd18c6ea --- /dev/null +++ b/models.py @@ -0,0 +1,3 @@ +from django.db import models + +# Create your models here. diff --git a/shopping-cart.html b/shopping-cart.html new file mode 100644 index 00000000..33cbcf89 --- /dev/null +++ b/shopping-cart.html @@ -0,0 +1,291 @@ +{% load static %} + + + + + + + + + + GenAI | CartList + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+
+
+ +
+ Usd +
    +
  • USD
  • +
  • EUR
  • +
  • USD
  • +
+
+
+
+ + + 0 +
$0.00
+
+
+
+

Free shipping, 30-day return or refund guarantee.

+
+
+ + + + + + + + + + + +
+
+
+
+
+ + + + + + + + + + + {% for i in lst %} + + + + + + + {% endfor %} + + + +
ProductQuantityTotal
+
+ +
+
+
{{i.0}}
+
{{i.1}}
+
+
+
+
+ +
+
+
$ 30.00
+
+
+ + + + + + + + + + + {% for i in rlst %} + + + + + + + {% endfor %} + + +
Recommendation
+
+ +
+
+
{{i.0}}
+
{{i.1}}
+
+
+
+ +
+
$ 32.50
+
+
+ +
+ +
+
+
+
+
+
Discount codes
+
+ + +
+
+
+
Cart total
+
    +
  • Subtotal $ 109.50
  • +
  • Total $ 109.50
  • +
+ Proceed to checkout +
+
+
+
+
+ + + + + + + +
+
+
+
+
+ +
+
+
+ + + + + + + + + + + + + + + + diff --git a/test12.html b/test12.html new file mode 100644 index 00000000..a8bc51c2 --- /dev/null +++ b/test12.html @@ -0,0 +1,48 @@ +{% load static %} +

header{{lst}}

+{% for i in lst %} + + + +
+ +
+
+
{{i.0}}
+
$47.00
+
+ + +
+
+ +
+
+ + $ 47.00 + + + +{% endfor %} + + diff --git a/tests.py b/tests.py new file mode 100644 index 00000000..de8bdc00 --- /dev/null +++ b/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/tgg.html b/tgg.html new file mode 100644 index 00000000..07469394 --- /dev/null +++ b/tgg.html @@ -0,0 +1,66 @@ +{% load static %} + + + + + + + + + + + + +
+
+
+
+ +
Hi there! I am here to help you revamp your style
+ +
+ +
+ +
+ +
+
+
+
+
+
+ +
+
+
+ + + + + + + + + + + diff --git a/urls.py b/urls.py new file mode 100644 index 00000000..93c072cc --- /dev/null +++ b/urls.py @@ -0,0 +1,10 @@ +from django.urls import path + +from . import views + +urlpatterns =[ +path("", views.home, name="home"), +path("casa", views.casa, name="casa"), +path("cart", views.cart, name="cart"), +path("test12", views.test12, name="test12"), +] diff --git a/views.py b/views.py new file mode 100644 index 00000000..539ffccf --- /dev/null +++ b/views.py @@ -0,0 +1,43 @@ +from django.shortcuts import render +from django.http import HttpResponse + +shplist=["T-shirt Contrast Pocket","Basic Flowing Scarf"] +rcmdlist=["black shoe","Basic Flowing Scarf"] + +itemDescription={"T-shirt Contrast Pocket":['$30','static/img/shopping-cart/cart-1.jpg'],"Basic Flowing Scarf":["$47.00","static/img/shopping-cart/cart-3.jpg"], +"black shoe":["$32.50","static/img/shopping-cart/cart-2.jpg"]} +fullDetail=[] +for it in shplist: + currlst=[] + currlst.append(it) + for jk in itemDescription[it]: + currlst.append(jk) + fullDetail.append(currlst) +rcdflist=[] +for it in rcmdlist: + currlst=[] + currlst.append(it) + for jk in itemDescription[it]: + currlst.append(jk) + rcdflist.append(currlst) + +# Create your views here. +def home(request): + return render(request,'index.html') + +def casa(request): + return render(request,'tgg.html') + +def cart(request): + return render(request,'shopping-cart.html',{"lst":fullDetail,"rlst":rcdflist}) + + + + + +# @register.filter +# def get_index(lst, i): +# return lst[i] + +def test12(request): + return render(request,"test12.html",{"lst":shplist,"rlst":rcdflist}) From c071b07091a1eb3da4d38e7f522e414d48e16db0 Mon Sep 17 00:00:00 2001 From: no-one-really <58998511+no-one-really@users.noreply.github.com> Date: Wed, 6 Dec 2023 23:50:41 +0530 Subject: [PATCH 08/13] Update README.md --- README.md | 75 +++++++++++++++++++++++++++++++++---------------------- 1 file changed, 45 insertions(+), 30 deletions(-) diff --git a/README.md b/README.md index 5178ee42..647810d3 100644 --- a/README.md +++ b/README.md @@ -1,32 +1,47 @@ # oneAPI-GenAI-Hackathon-2023 - Hack2Skill -Welcome to the official repository for the oneAPI-GenAI-Hackathon-2023 organized by Hack2Skill! - -## Getting Started - -To get started with the oneAPI-GenAI-Hackathon-2023 repository, follow these steps: - -### Submission Instruction: - 1. Fork this repository - 2. Create a folder with your Team Name - 3. Upload all the code and necessary files in the created folder - 4. Upload a **README.md** file in your folder with the below mentioned informations. - 5. Generate a Pull Request with your Team Name. (Example: submission-XYZ_team) - -### README.md must consist of the following information: - -#### Team Name - -#### Problem Statement - -#### Team Leader Email - - -### A Brief of the Prototype: - This section must include UML Diagrams and prototype description - -### Tech Stack: - List Down all technologies used to Build the prototype - -### Step-by-Step Code Execution Instructions: - This Section must contain a set of instructions required to clone and run the prototype so that it can be tested and deeply analyzed - -### Future Scope: - Write about the scalability and futuristic aspects of the prototype developed +# CASAhackathon +**Team Name** - Quantum coders + +**Problem Statement** - AI enhanced retail shopping + +**Team Leader Email** - ravishankarvaradharajan@gmail.com + +**A Brief of the Prototype:** + +Chief AI Shopping Assistant (CASA) is a proactive shopping companion featuring learning adaptation, tailoring each user's experience by continuously adapting to evolving preferences. It also provides Instore analysis and helps with visual merchandising. +It will help us track deadzones in the store. The analysis will be displayed on a dashboard which contain Customer gaze analysis, Foot traffic, User Interaction with products. It will also helps in predicting the sales and keep up with the trends. +Our online assistant powered by LLM will provide suggestions based on items in the cart, user preferences and user profile. It also provides a chat interface to have a back and forth conversation to help the user figure out their fashion needs. + +**Instore flow:** + +![image](https://github.com/no-one-really/CASAhackathon/assets/58998511/5494b8b6-9bb9-42a1-834f-4e100f03e433) + +**Online recommendation flow:** + +![image](https://github.com/no-one-really/CASAhackathon/assets/58998511/397447e0-285b-45a1-9fa5-a7e5f60f3c9e) + + +**Tech Stack:** + +![image](https://github.com/no-one-really/CASAhackathon/assets/58998511/1b3c9f27-1c66-4756-85f7-afc8548398b1) + + +**Step-by-Step Code Execution Instructions:** + +Step 1: Install requirements +```pip install - requirements.txt``` + +Step2: +Host the Django server by runnning python manage.py runserver + +Step3: +setup ngrok https://ngrok.com/docs/getting-started/ + +Step4: +delpoy the model by running start.js, serv.py and recieve.py + +**Future Scope:** + + To integrate Large Language-and-Vision Assistants to provide better shopping assistance and gain better insights on the customer needs + From 1aba81a3ec4e3844c1395770da7c9099d9394f4e Mon Sep 17 00:00:00 2001 From: no-one-really <58998511+no-one-really@users.noreply.github.com> Date: Wed, 6 Dec 2023 23:51:41 +0530 Subject: [PATCH 09/13] Create a.txt --- mysite/a.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 mysite/a.txt diff --git a/mysite/a.txt b/mysite/a.txt new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/mysite/a.txt @@ -0,0 +1 @@ + From 02ecec55075d0e11e4ef12ff1a218d48e3b735d4 Mon Sep 17 00:00:00 2001 From: no-one-really <58998511+no-one-really@users.noreply.github.com> Date: Wed, 6 Dec 2023 23:52:27 +0530 Subject: [PATCH 10/13] Add files via upload --- mysite/__init__.py | 0 mysite/asgi.py | 16 ++++++ mysite/settings.py | 126 +++++++++++++++++++++++++++++++++++++++++++++ mysite/urls.py | 25 +++++++++ mysite/wsgi.py | 16 ++++++ 5 files changed, 183 insertions(+) create mode 100644 mysite/__init__.py create mode 100644 mysite/asgi.py create mode 100644 mysite/settings.py create mode 100644 mysite/urls.py create mode 100644 mysite/wsgi.py diff --git a/mysite/__init__.py b/mysite/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/mysite/asgi.py b/mysite/asgi.py new file mode 100644 index 00000000..d0a93e3b --- /dev/null +++ b/mysite/asgi.py @@ -0,0 +1,16 @@ +""" +ASGI config for mysite project. + +It exposes the ASGI callable as a module-level variable named ``application``. + +For more information on this file, see +https://docs.djangoproject.com/en/4.2/howto/deployment/asgi/ +""" + +import os + +from django.core.asgi import get_asgi_application + +os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings") + +application = get_asgi_application() diff --git a/mysite/settings.py b/mysite/settings.py new file mode 100644 index 00000000..a4fab38d --- /dev/null +++ b/mysite/settings.py @@ -0,0 +1,126 @@ +""" +Django settings for mysite project. + +Generated by 'django-admin startproject' using Django 4.2.7. + +For more information on this file, see +https://docs.djangoproject.com/en/4.2/topics/settings/ + +For the full list of settings and their values, see +https://docs.djangoproject.com/en/4.2/ref/settings/ +""" + +from pathlib import Path +import os + +# Build paths inside the project like this: BASE_DIR / 'subdir'. +BASE_DIR = Path(__file__).resolve().parent.parent + + +# Quick-start development settings - unsuitable for production +# See https://docs.djangoproject.com/en/4.2/howto/deployment/checklist/ + +# SECURITY WARNING: keep the secret key used in production secret! +SECRET_KEY = "django-insecure-4z=&32ebvzt6&%&%#fx_%g)n-@@qj)strt-m^!vnr39!bzv^yt" + +# SECURITY WARNING: don't run with debug turned on in production! +DEBUG = True + +ALLOWED_HOSTS = [] + + +# Application definition + +INSTALLED_APPS = [ + "django.contrib.admin", + "django.contrib.auth", + "django.contrib.contenttypes", + "django.contrib.sessions", + "django.contrib.messages", + "django.contrib.staticfiles", +] + +MIDDLEWARE = [ + "django.middleware.security.SecurityMiddleware", + "django.contrib.sessions.middleware.SessionMiddleware", + "django.middleware.common.CommonMiddleware", + "django.middleware.csrf.CsrfViewMiddleware", + "django.contrib.auth.middleware.AuthenticationMiddleware", + "django.contrib.messages.middleware.MessageMiddleware", + "django.middleware.clickjacking.XFrameOptionsMiddleware", +] + +ROOT_URLCONF = "mysite.urls" + +TEMPLATES = [ + { + "BACKEND": "django.template.backends.django.DjangoTemplates", + "DIRS": [os.path.join(BASE_DIR,'templates')], + "APP_DIRS": True, + "OPTIONS": { + "context_processors": [ + "django.template.context_processors.debug", + "django.template.context_processors.request", + "django.contrib.auth.context_processors.auth", + "django.contrib.messages.context_processors.messages", + ], + }, + }, +] + +WSGI_APPLICATION = "mysite.wsgi.application" + + +# Database +# https://docs.djangoproject.com/en/4.2/ref/settings/#databases + +DATABASES = { + "default": { + "ENGINE": "django.db.backends.sqlite3", + "NAME": BASE_DIR / "db.sqlite3", + } +} + + +# Password validation +# https://docs.djangoproject.com/en/4.2/ref/settings/#auth-password-validators + +AUTH_PASSWORD_VALIDATORS = [ + { + "NAME": "django.contrib.auth.password_validation.UserAttributeSimilarityValidator", + }, + { + "NAME": "django.contrib.auth.password_validation.MinimumLengthValidator", + }, + { + "NAME": "django.contrib.auth.password_validation.CommonPasswordValidator", + }, + { + "NAME": "django.contrib.auth.password_validation.NumericPasswordValidator", + }, +] + + +# Internationalization +# https://docs.djangoproject.com/en/4.2/topics/i18n/ + +LANGUAGE_CODE = "en-us" + +TIME_ZONE = "UTC" + +USE_I18N = True + +USE_TZ = True + + +# Static files (CSS, JavaScript, Images) +# https://docs.djangoproject.com/en/4.2/howto/static-files/ + +STATIC_URL = "static/" +STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')] +STATIC_ROOT = os.path.join(BASE_DIR,"assets") + +# Default primary key field type +# https://docs.djangoproject.com/en/4.2/ref/settings/#default-auto-field + +DEFAULT_AUTO_FIELD = "django.db.models.BigAutoField" diff --git a/mysite/urls.py b/mysite/urls.py new file mode 100644 index 00000000..b0e45cd3 --- /dev/null +++ b/mysite/urls.py @@ -0,0 +1,25 @@ +""" +URL configuration for mysite project. + +The `urlpatterns` list routes URLs to views. For more information please see: + https://docs.djangoproject.com/en/4.2/topics/http/urls/ +Examples: +Function views + 1. Add an import: from my_app import views + 2. Add a URL to urlpatterns: path('', views.home, name='home') +Class-based views + 1. Add an import: from other_app.views import Home + 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home') +Including another URLconf + 1. Import the include() function: from django.urls import include, path + 2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) +""" +from django.contrib import admin +from django.urls import path, include + +urlpatterns = [ + path("",include("shop.urls")), + path("admin/", admin.site.urls), + path("casa/",include("shop.urls")), + path("test/",include("shop.urls")), +] diff --git a/mysite/wsgi.py b/mysite/wsgi.py new file mode 100644 index 00000000..78134f21 --- /dev/null +++ b/mysite/wsgi.py @@ -0,0 +1,16 @@ +""" +WSGI config for mysite project. + +It exposes the WSGI callable as a module-level variable named ``application``. + +For more information on this file, see +https://docs.djangoproject.com/en/4.2/howto/deployment/wsgi/ +""" + +import os + +from django.core.wsgi import get_wsgi_application + +os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings") + +application = get_wsgi_application() From e1f56b09e4d9c4cffab5aafc0f68de247afb1006 Mon Sep 17 00:00:00 2001 From: no-one-really <58998511+no-one-really@users.noreply.github.com> Date: Wed, 6 Dec 2023 23:54:30 +0530 Subject: [PATCH 11/13] Add files via upload --- db.sqlite3 | 0 manage.py | 22 ++++++++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 db.sqlite3 create mode 100644 manage.py diff --git a/db.sqlite3 b/db.sqlite3 new file mode 100644 index 00000000..e69de29b diff --git a/manage.py b/manage.py new file mode 100644 index 00000000..71efd103 --- /dev/null +++ b/manage.py @@ -0,0 +1,22 @@ +#!/usr/bin/env python +"""Django's command-line utility for administrative tasks.""" +import os +import sys + + +def main(): + """Run administrative tasks.""" + os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings") + try: + from django.core.management import execute_from_command_line + except ImportError as exc: + raise ImportError( + "Couldn't import Django. Are you sure it's installed and " + "available on your PYTHONPATH environment variable? Did you " + "forget to activate a virtual environment?" + ) from exc + execute_from_command_line(sys.argv) + + +if __name__ == "__main__": + main() From 5ce2f38407b241bf791481f4c463f512ab834398 Mon Sep 17 00:00:00 2001 From: no-one-really <58998511+no-one-really@users.noreply.github.com> Date: Thu, 7 Dec 2023 00:04:13 +0530 Subject: [PATCH 12/13] Delete mysite directory --- mysite/__init__.py | 0 mysite/a.txt | 1 - mysite/asgi.py | 16 ------ mysite/settings.py | 126 --------------------------------------------- mysite/urls.py | 25 --------- mysite/wsgi.py | 16 ------ 6 files changed, 184 deletions(-) delete mode 100644 mysite/__init__.py delete mode 100644 mysite/a.txt delete mode 100644 mysite/asgi.py delete mode 100644 mysite/settings.py delete mode 100644 mysite/urls.py delete mode 100644 mysite/wsgi.py diff --git a/mysite/__init__.py b/mysite/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/mysite/a.txt b/mysite/a.txt deleted file mode 100644 index 8b137891..00000000 --- a/mysite/a.txt +++ /dev/null @@ -1 +0,0 @@ - diff --git a/mysite/asgi.py b/mysite/asgi.py deleted file mode 100644 index d0a93e3b..00000000 --- a/mysite/asgi.py +++ /dev/null @@ -1,16 +0,0 @@ -""" -ASGI config for mysite project. - -It exposes the ASGI callable as a module-level variable named ``application``. - -For more information on this file, see -https://docs.djangoproject.com/en/4.2/howto/deployment/asgi/ -""" - -import os - -from django.core.asgi import get_asgi_application - -os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings") - -application = get_asgi_application() diff --git a/mysite/settings.py b/mysite/settings.py deleted file mode 100644 index a4fab38d..00000000 --- a/mysite/settings.py +++ /dev/null @@ -1,126 +0,0 @@ -""" -Django settings for mysite project. - -Generated by 'django-admin startproject' using Django 4.2.7. - -For more information on this file, see -https://docs.djangoproject.com/en/4.2/topics/settings/ - -For the full list of settings and their values, see -https://docs.djangoproject.com/en/4.2/ref/settings/ -""" - -from pathlib import Path -import os - -# Build paths inside the project like this: BASE_DIR / 'subdir'. -BASE_DIR = Path(__file__).resolve().parent.parent - - -# Quick-start development settings - unsuitable for production -# See https://docs.djangoproject.com/en/4.2/howto/deployment/checklist/ - -# SECURITY WARNING: keep the secret key used in production secret! -SECRET_KEY = "django-insecure-4z=&32ebvzt6&%&%#fx_%g)n-@@qj)strt-m^!vnr39!bzv^yt" - -# SECURITY WARNING: don't run with debug turned on in production! -DEBUG = True - -ALLOWED_HOSTS = [] - - -# Application definition - -INSTALLED_APPS = [ - "django.contrib.admin", - "django.contrib.auth", - "django.contrib.contenttypes", - "django.contrib.sessions", - "django.contrib.messages", - "django.contrib.staticfiles", -] - -MIDDLEWARE = [ - "django.middleware.security.SecurityMiddleware", - "django.contrib.sessions.middleware.SessionMiddleware", - "django.middleware.common.CommonMiddleware", - "django.middleware.csrf.CsrfViewMiddleware", - "django.contrib.auth.middleware.AuthenticationMiddleware", - "django.contrib.messages.middleware.MessageMiddleware", - "django.middleware.clickjacking.XFrameOptionsMiddleware", -] - -ROOT_URLCONF = "mysite.urls" - -TEMPLATES = [ - { - "BACKEND": "django.template.backends.django.DjangoTemplates", - "DIRS": [os.path.join(BASE_DIR,'templates')], - "APP_DIRS": True, - "OPTIONS": { - "context_processors": [ - "django.template.context_processors.debug", - "django.template.context_processors.request", - "django.contrib.auth.context_processors.auth", - "django.contrib.messages.context_processors.messages", - ], - }, - }, -] - -WSGI_APPLICATION = "mysite.wsgi.application" - - -# Database -# https://docs.djangoproject.com/en/4.2/ref/settings/#databases - -DATABASES = { - "default": { - "ENGINE": "django.db.backends.sqlite3", - "NAME": BASE_DIR / "db.sqlite3", - } -} - - -# Password validation -# https://docs.djangoproject.com/en/4.2/ref/settings/#auth-password-validators - -AUTH_PASSWORD_VALIDATORS = [ - { - "NAME": "django.contrib.auth.password_validation.UserAttributeSimilarityValidator", - }, - { - "NAME": "django.contrib.auth.password_validation.MinimumLengthValidator", - }, - { - "NAME": "django.contrib.auth.password_validation.CommonPasswordValidator", - }, - { - "NAME": "django.contrib.auth.password_validation.NumericPasswordValidator", - }, -] - - -# Internationalization -# https://docs.djangoproject.com/en/4.2/topics/i18n/ - -LANGUAGE_CODE = "en-us" - -TIME_ZONE = "UTC" - -USE_I18N = True - -USE_TZ = True - - -# Static files (CSS, JavaScript, Images) -# https://docs.djangoproject.com/en/4.2/howto/static-files/ - -STATIC_URL = "static/" -STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')] -STATIC_ROOT = os.path.join(BASE_DIR,"assets") - -# Default primary key field type -# https://docs.djangoproject.com/en/4.2/ref/settings/#default-auto-field - -DEFAULT_AUTO_FIELD = "django.db.models.BigAutoField" diff --git a/mysite/urls.py b/mysite/urls.py deleted file mode 100644 index b0e45cd3..00000000 --- a/mysite/urls.py +++ /dev/null @@ -1,25 +0,0 @@ -""" -URL configuration for mysite project. - -The `urlpatterns` list routes URLs to views. For more information please see: - https://docs.djangoproject.com/en/4.2/topics/http/urls/ -Examples: -Function views - 1. Add an import: from my_app import views - 2. Add a URL to urlpatterns: path('', views.home, name='home') -Class-based views - 1. Add an import: from other_app.views import Home - 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home') -Including another URLconf - 1. Import the include() function: from django.urls import include, path - 2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) -""" -from django.contrib import admin -from django.urls import path, include - -urlpatterns = [ - path("",include("shop.urls")), - path("admin/", admin.site.urls), - path("casa/",include("shop.urls")), - path("test/",include("shop.urls")), -] diff --git a/mysite/wsgi.py b/mysite/wsgi.py deleted file mode 100644 index 78134f21..00000000 --- a/mysite/wsgi.py +++ /dev/null @@ -1,16 +0,0 @@ -""" -WSGI config for mysite project. - -It exposes the WSGI callable as a module-level variable named ``application``. - -For more information on this file, see -https://docs.djangoproject.com/en/4.2/howto/deployment/wsgi/ -""" - -import os - -from django.core.wsgi import get_wsgi_application - -os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings") - -application = get_wsgi_application() From b87ca4fd31d2c8fff316f24b586cb3b73e17bce9 Mon Sep 17 00:00:00 2001 From: no-one-really <58998511+no-one-really@users.noreply.github.com> Date: Thu, 7 Dec 2023 00:07:45 +0530 Subject: [PATCH 13/13] Add files via upload --- mysite.zip | Bin 0 -> 51265 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 mysite.zip diff --git a/mysite.zip b/mysite.zip new file mode 100644 index 0000000000000000000000000000000000000000..e37f4fb15bfcdba6f00d206c33b825ae1d2799f4 GIT binary patch literal 51265 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 literal 0 HcmV?d00001