├── README.md └── redis-langchain-ecommerce-chatbot.ipynb /README.md: -------------------------------------------------------------------------------- 1 | # redis langchain e-commerce chatbot 2 | In this tutorial, we will build an e-commerce chatbot that can query Amazon product embeddings using Redis and generate nice responses with Langchain. Our chatbot will take user input, find relevant products, and present the information in a friendly and detailed manner. 3 | 4 | --- 5 | 6 | [](https://lablab.ai) 7 | 8 | 9 | ## Join the LabLab Discord 10 | 11 | 12 |  13 | On lablab discord, we discuss this repo and many other topics related to artificial intelligence! Checkout upcoming [Artificial Intelligence Hackathons](https://lablab.ai) Event 14 | 15 | 16 | [](https://newnative.ai) 17 | -------------------------------------------------------------------------------- /redis-langchain-ecommerce-chatbot.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 23, 6 | "metadata": { 7 | "colab": { 8 | "base_uri": "https://localhost:8080/" 9 | }, 10 | "id": "5-h_nDGp3Kdf", 11 | "outputId": "94191443-3844-4c1d-a26f-7619d976a55b" 12 | }, 13 | "outputs": [ 14 | { 15 | "name": "stdout", 16 | "output_type": "stream", 17 | "text": [ 18 | "huggingface/tokenizers: The current process just got forked, after parallelism has already been used. Disabling parallelism to avoid deadlocks...\n", 19 | "To disable this warning, you can either:\n", 20 | "\t- Avoid using `tokenizers` before the fork if possible\n", 21 | "\t- Explicitly set the environment variable TOKENIZERS_PARALLELISM=(true | false)\n", 22 | "Requirement already satisfied: redis in ./venv/lib/python3.10/site-packages (4.5.3)\n", 23 | "Requirement already satisfied: pandas in ./venv/lib/python3.10/site-packages (1.5.3)\n", 24 | "Requirement already satisfied: async-timeout>=4.0.2 in ./venv/lib/python3.10/site-packages (from redis) (4.0.2)\n", 25 | "Requirement already satisfied: python-dateutil>=2.8.1 in ./venv/lib/python3.10/site-packages (from pandas) (2.8.2)\n", 26 | "Requirement already satisfied: numpy>=1.21.0 in ./venv/lib/python3.10/site-packages (from pandas) (1.24.2)\n", 27 | "Requirement already satisfied: pytz>=2020.1 in ./venv/lib/python3.10/site-packages (from pandas) (2022.7.1)\n", 28 | "Requirement already satisfied: six>=1.5 in ./venv/lib/python3.10/site-packages (from python-dateutil>=2.8.1->pandas) (1.16.0)\n", 29 | "Note: you may need to restart the kernel to use updated packages.\n", 30 | "huggingface/tokenizers: The current process just got forked, after parallelism has already been used. Disabling parallelism to avoid deadlocks...\n", 31 | "To disable this warning, you can either:\n", 32 | "\t- Avoid using `tokenizers` before the fork if possible\n", 33 | "\t- Explicitly set the environment variable TOKENIZERS_PARALLELISM=(true | false)\n", 34 | "Requirement already satisfied: sentence-transformers in ./venv/lib/python3.10/site-packages (2.2.2)\n", 35 | "Requirement already satisfied: transformers<5.0.0,>=4.6.0 in ./venv/lib/python3.10/site-packages (from sentence-transformers) (4.27.3)\n", 36 | "Requirement already satisfied: tqdm in ./venv/lib/python3.10/site-packages (from sentence-transformers) (4.65.0)\n", 37 | "Requirement already satisfied: torch>=1.6.0 in ./venv/lib/python3.10/site-packages (from sentence-transformers) (2.0.0)\n", 38 | "Requirement already satisfied: torchvision in ./venv/lib/python3.10/site-packages (from sentence-transformers) (0.15.1)\n", 39 | "Requirement already satisfied: numpy in ./venv/lib/python3.10/site-packages (from sentence-transformers) (1.24.2)\n", 40 | "Requirement already satisfied: scikit-learn in ./venv/lib/python3.10/site-packages (from sentence-transformers) (1.2.2)\n", 41 | "Requirement already satisfied: scipy in ./venv/lib/python3.10/site-packages (from sentence-transformers) (1.10.1)\n", 42 | "Requirement already satisfied: nltk in ./venv/lib/python3.10/site-packages (from sentence-transformers) (3.8.1)\n", 43 | "Requirement already satisfied: sentencepiece in ./venv/lib/python3.10/site-packages (from sentence-transformers) (0.1.97)\n", 44 | "Requirement already satisfied: huggingface-hub>=0.4.0 in ./venv/lib/python3.10/site-packages (from sentence-transformers) (0.13.3)\n", 45 | "Requirement already satisfied: filelock in ./venv/lib/python3.10/site-packages (from huggingface-hub>=0.4.0->sentence-transformers) (3.10.3)\n", 46 | "Requirement already satisfied: typing-extensions>=3.7.4.3 in ./venv/lib/python3.10/site-packages (from huggingface-hub>=0.4.0->sentence-transformers) (4.5.0)\n", 47 | "Requirement already satisfied: packaging>=20.9 in ./venv/lib/python3.10/site-packages (from huggingface-hub>=0.4.0->sentence-transformers) (23.0)\n", 48 | "Requirement already satisfied: requests in ./venv/lib/python3.10/site-packages (from huggingface-hub>=0.4.0->sentence-transformers) (2.28.2)\n", 49 | "Requirement already satisfied: pyyaml>=5.1 in ./venv/lib/python3.10/site-packages (from huggingface-hub>=0.4.0->sentence-transformers) (6.0)\n", 50 | "Requirement already satisfied: networkx in ./venv/lib/python3.10/site-packages (from torch>=1.6.0->sentence-transformers) (3.0)\n", 51 | "Requirement already satisfied: sympy in ./venv/lib/python3.10/site-packages (from torch>=1.6.0->sentence-transformers) (1.11.1)\n", 52 | "Requirement already satisfied: nvidia-cuda-runtime-cu11==11.7.99 in ./venv/lib/python3.10/site-packages (from torch>=1.6.0->sentence-transformers) (11.7.99)\n", 53 | "Requirement already satisfied: nvidia-curand-cu11==10.2.10.91 in ./venv/lib/python3.10/site-packages (from torch>=1.6.0->sentence-transformers) (10.2.10.91)\n", 54 | "Requirement already satisfied: nvidia-nvtx-cu11==11.7.91 in ./venv/lib/python3.10/site-packages (from torch>=1.6.0->sentence-transformers) (11.7.91)\n", 55 | "Requirement already satisfied: triton==2.0.0 in ./venv/lib/python3.10/site-packages (from torch>=1.6.0->sentence-transformers) (2.0.0)\n", 56 | "Requirement already satisfied: nvidia-nccl-cu11==2.14.3 in ./venv/lib/python3.10/site-packages (from torch>=1.6.0->sentence-transformers) (2.14.3)\n", 57 | "Requirement already satisfied: nvidia-cudnn-cu11==8.5.0.96 in ./venv/lib/python3.10/site-packages (from torch>=1.6.0->sentence-transformers) (8.5.0.96)\n", 58 | "Requirement already satisfied: nvidia-cuda-cupti-cu11==11.7.101 in ./venv/lib/python3.10/site-packages (from torch>=1.6.0->sentence-transformers) (11.7.101)\n", 59 | "Requirement already satisfied: nvidia-cusparse-cu11==11.7.4.91 in ./venv/lib/python3.10/site-packages (from torch>=1.6.0->sentence-transformers) (11.7.4.91)\n", 60 | "Requirement already satisfied: nvidia-cusolver-cu11==11.4.0.1 in ./venv/lib/python3.10/site-packages (from torch>=1.6.0->sentence-transformers) (11.4.0.1)\n", 61 | "Requirement already satisfied: nvidia-cufft-cu11==10.9.0.58 in ./venv/lib/python3.10/site-packages (from torch>=1.6.0->sentence-transformers) (10.9.0.58)\n", 62 | "Requirement already satisfied: jinja2 in ./venv/lib/python3.10/site-packages (from torch>=1.6.0->sentence-transformers) (3.1.2)\n", 63 | "Requirement already satisfied: nvidia-cublas-cu11==11.10.3.66 in ./venv/lib/python3.10/site-packages (from torch>=1.6.0->sentence-transformers) (11.10.3.66)\n", 64 | "Requirement already satisfied: nvidia-cuda-nvrtc-cu11==11.7.99 in ./venv/lib/python3.10/site-packages (from torch>=1.6.0->sentence-transformers) (11.7.99)\n", 65 | "Requirement already satisfied: wheel in ./venv/lib/python3.10/site-packages (from nvidia-cublas-cu11==11.10.3.66->torch>=1.6.0->sentence-transformers) (0.40.0)\n", 66 | "Requirement already satisfied: setuptools in ./venv/lib/python3.10/site-packages (from nvidia-cublas-cu11==11.10.3.66->torch>=1.6.0->sentence-transformers) (58.1.0)\n", 67 | "Requirement already satisfied: cmake in ./venv/lib/python3.10/site-packages (from triton==2.0.0->torch>=1.6.0->sentence-transformers) (3.26.1)\n", 68 | "Requirement already satisfied: lit in ./venv/lib/python3.10/site-packages (from triton==2.0.0->torch>=1.6.0->sentence-transformers) (16.0.0)\n", 69 | "Requirement already satisfied: regex!=2019.12.17 in ./venv/lib/python3.10/site-packages (from transformers<5.0.0,>=4.6.0->sentence-transformers) (2023.3.23)\n", 70 | "Requirement already satisfied: tokenizers!=0.11.3,<0.14,>=0.11.1 in ./venv/lib/python3.10/site-packages (from transformers<5.0.0,>=4.6.0->sentence-transformers) (0.13.2)\n", 71 | "Requirement already satisfied: joblib in ./venv/lib/python3.10/site-packages (from nltk->sentence-transformers) (1.2.0)\n", 72 | "Requirement already satisfied: click in ./venv/lib/python3.10/site-packages (from nltk->sentence-transformers) (8.1.3)\n", 73 | "Requirement already satisfied: threadpoolctl>=2.0.0 in ./venv/lib/python3.10/site-packages (from scikit-learn->sentence-transformers) (3.1.0)\n", 74 | "Requirement already satisfied: pillow!=8.3.*,>=5.3.0 in ./venv/lib/python3.10/site-packages (from torchvision->sentence-transformers) (9.4.0)\n", 75 | "Requirement already satisfied: MarkupSafe>=2.0 in ./venv/lib/python3.10/site-packages (from jinja2->torch>=1.6.0->sentence-transformers) (2.1.2)\n", 76 | "Requirement already satisfied: charset-normalizer<4,>=2 in ./venv/lib/python3.10/site-packages (from requests->huggingface-hub>=0.4.0->sentence-transformers) (3.1.0)\n", 77 | "Requirement already satisfied: urllib3<1.27,>=1.21.1 in ./venv/lib/python3.10/site-packages (from requests->huggingface-hub>=0.4.0->sentence-transformers) (1.26.15)\n", 78 | "Requirement already satisfied: certifi>=2017.4.17 in ./venv/lib/python3.10/site-packages (from requests->huggingface-hub>=0.4.0->sentence-transformers) (2022.12.7)\n", 79 | "Requirement already satisfied: idna<4,>=2.5 in ./venv/lib/python3.10/site-packages (from requests->huggingface-hub>=0.4.0->sentence-transformers) (3.4)\n", 80 | "Requirement already satisfied: mpmath>=0.19 in ./venv/lib/python3.10/site-packages (from sympy->torch>=1.6.0->sentence-transformers) (1.3.0)\n", 81 | "Note: you may need to restart the kernel to use updated packages.\n", 82 | "huggingface/tokenizers: The current process just got forked, after parallelism has already been used. Disabling parallelism to avoid deadlocks...\n", 83 | "To disable this warning, you can either:\n", 84 | "\t- Avoid using `tokenizers` before the fork if possible\n", 85 | "\t- Explicitly set the environment variable TOKENIZERS_PARALLELISM=(true | false)\n", 86 | "Requirement already satisfied: openai in ./venv/lib/python3.10/site-packages (0.27.2)\n", 87 | "Requirement already satisfied: requests>=2.20 in ./venv/lib/python3.10/site-packages (from openai) (2.28.2)\n", 88 | "Requirement already satisfied: aiohttp in ./venv/lib/python3.10/site-packages (from openai) (3.8.4)\n", 89 | "Requirement already satisfied: tqdm in ./venv/lib/python3.10/site-packages (from openai) (4.65.0)\n", 90 | "Requirement already satisfied: certifi>=2017.4.17 in ./venv/lib/python3.10/site-packages (from requests>=2.20->openai) (2022.12.7)\n", 91 | "Requirement already satisfied: urllib3<1.27,>=1.21.1 in ./venv/lib/python3.10/site-packages (from requests>=2.20->openai) (1.26.15)\n", 92 | "Requirement already satisfied: charset-normalizer<4,>=2 in ./venv/lib/python3.10/site-packages (from requests>=2.20->openai) (3.1.0)\n", 93 | "Requirement already satisfied: idna<4,>=2.5 in ./venv/lib/python3.10/site-packages (from requests>=2.20->openai) (3.4)\n", 94 | "Requirement already satisfied: multidict<7.0,>=4.5 in ./venv/lib/python3.10/site-packages (from aiohttp->openai) (6.0.4)\n", 95 | "Requirement already satisfied: async-timeout<5.0,>=4.0.0a3 in ./venv/lib/python3.10/site-packages (from aiohttp->openai) (4.0.2)\n", 96 | "Requirement already satisfied: frozenlist>=1.1.1 in ./venv/lib/python3.10/site-packages (from aiohttp->openai) (1.3.3)\n", 97 | "Requirement already satisfied: aiosignal>=1.1.2 in ./venv/lib/python3.10/site-packages (from aiohttp->openai) (1.3.1)\n", 98 | "Requirement already satisfied: attrs>=17.3.0 in ./venv/lib/python3.10/site-packages (from aiohttp->openai) (22.2.0)\n", 99 | "Requirement already satisfied: yarl<2.0,>=1.0 in ./venv/lib/python3.10/site-packages (from aiohttp->openai) (1.8.2)\n", 100 | "Note: you may need to restart the kernel to use updated packages.\n", 101 | "huggingface/tokenizers: The current process just got forked, after parallelism has already been used. Disabling parallelism to avoid deadlocks...\n", 102 | "To disable this warning, you can either:\n", 103 | "\t- Avoid using `tokenizers` before the fork if possible\n", 104 | "\t- Explicitly set the environment variable TOKENIZERS_PARALLELISM=(true | false)\n", 105 | "Requirement already satisfied: langchain in ./venv/lib/python3.10/site-packages (0.0.121)\n", 106 | "Requirement already satisfied: pydantic<2,>=1 in ./venv/lib/python3.10/site-packages (from langchain) (1.10.7)\n", 107 | "Requirement already satisfied: tenacity<9.0.0,>=8.1.0 in ./venv/lib/python3.10/site-packages (from langchain) (8.2.2)\n", 108 | "Requirement already satisfied: aiohttp<4.0.0,>=3.8.3 in ./venv/lib/python3.10/site-packages (from langchain) (3.8.4)\n", 109 | "Requirement already satisfied: PyYAML>=5.4.1 in ./venv/lib/python3.10/site-packages (from langchain) (6.0)\n", 110 | "Requirement already satisfied: dataclasses-json<0.6.0,>=0.5.7 in ./venv/lib/python3.10/site-packages (from langchain) (0.5.7)\n", 111 | "Requirement already satisfied: requests<3,>=2 in ./venv/lib/python3.10/site-packages (from langchain) (2.28.2)\n", 112 | "Requirement already satisfied: SQLAlchemy<2,>=1 in ./venv/lib/python3.10/site-packages (from langchain) (1.4.47)\n", 113 | "Requirement already satisfied: numpy<2,>=1 in ./venv/lib/python3.10/site-packages (from langchain) (1.24.2)\n", 114 | "Requirement already satisfied: async-timeout<5.0,>=4.0.0a3 in ./venv/lib/python3.10/site-packages (from aiohttp<4.0.0,>=3.8.3->langchain) (4.0.2)\n", 115 | "Requirement already satisfied: multidict<7.0,>=4.5 in ./venv/lib/python3.10/site-packages (from aiohttp<4.0.0,>=3.8.3->langchain) (6.0.4)\n", 116 | "Requirement already satisfied: charset-normalizer<4.0,>=2.0 in ./venv/lib/python3.10/site-packages (from aiohttp<4.0.0,>=3.8.3->langchain) (3.1.0)\n", 117 | "Requirement already satisfied: attrs>=17.3.0 in ./venv/lib/python3.10/site-packages (from aiohttp<4.0.0,>=3.8.3->langchain) (22.2.0)\n", 118 | "Requirement already satisfied: yarl<2.0,>=1.0 in ./venv/lib/python3.10/site-packages (from aiohttp<4.0.0,>=3.8.3->langchain) (1.8.2)\n", 119 | "Requirement already satisfied: aiosignal>=1.1.2 in ./venv/lib/python3.10/site-packages (from aiohttp<4.0.0,>=3.8.3->langchain) (1.3.1)\n", 120 | "Requirement already satisfied: frozenlist>=1.1.1 in ./venv/lib/python3.10/site-packages (from aiohttp<4.0.0,>=3.8.3->langchain) (1.3.3)\n", 121 | "Requirement already satisfied: marshmallow<4.0.0,>=3.3.0 in ./venv/lib/python3.10/site-packages (from dataclasses-json<0.6.0,>=0.5.7->langchain) (3.19.0)\n", 122 | "Requirement already satisfied: marshmallow-enum<2.0.0,>=1.5.1 in ./venv/lib/python3.10/site-packages (from dataclasses-json<0.6.0,>=0.5.7->langchain) (1.5.1)\n", 123 | "Requirement already satisfied: typing-inspect>=0.4.0 in ./venv/lib/python3.10/site-packages (from dataclasses-json<0.6.0,>=0.5.7->langchain) (0.8.0)\n", 124 | "Requirement already satisfied: typing-extensions>=4.2.0 in ./venv/lib/python3.10/site-packages (from pydantic<2,>=1->langchain) (4.5.0)\n", 125 | "Requirement already satisfied: urllib3<1.27,>=1.21.1 in ./venv/lib/python3.10/site-packages (from requests<3,>=2->langchain) (1.26.15)\n", 126 | "Requirement already satisfied: idna<4,>=2.5 in ./venv/lib/python3.10/site-packages (from requests<3,>=2->langchain) (3.4)\n", 127 | "Requirement already satisfied: certifi>=2017.4.17 in ./venv/lib/python3.10/site-packages (from requests<3,>=2->langchain) (2022.12.7)\n", 128 | "Requirement already satisfied: greenlet!=0.4.17 in ./venv/lib/python3.10/site-packages (from SQLAlchemy<2,>=1->langchain) (2.0.2)\n", 129 | "Requirement already satisfied: packaging>=17.0 in ./venv/lib/python3.10/site-packages (from marshmallow<4.0.0,>=3.3.0->dataclasses-json<0.6.0,>=0.5.7->langchain) (23.0)\n", 130 | "Requirement already satisfied: mypy-extensions>=0.3.0 in ./venv/lib/python3.10/site-packages (from typing-inspect>=0.4.0->dataclasses-json<0.6.0,>=0.5.7->langchain) (1.0.0)\n", 131 | "Note: you may need to restart the kernel to use updated packages.\n" 132 | ] 133 | } 134 | ], 135 | "source": [ 136 | "%pip install redis pandas \n", 137 | "%pip install -U sentence-transformers\n", 138 | "%pip install openai\n", 139 | "%pip install langchain" 140 | ] 141 | }, 142 | { 143 | "cell_type": "code", 144 | "execution_count": 24, 145 | "metadata": { 146 | "colab": { 147 | "base_uri": "https://localhost:8080/" 148 | }, 149 | "id": "Yk3jkeRp3Dd-", 150 | "outputId": "2b352d3a-1598-4727-b25e-714fc705d0f1" 151 | }, 152 | "outputs": [], 153 | "source": [ 154 | "import numpy as np\n", 155 | "import pandas as pd\n", 156 | "import time\n", 157 | "from redis.commands.search.field import VectorField\n", 158 | "from redis.commands.search.field import TextField\n", 159 | "from redis.commands.search.field import TagField\n", 160 | "from redis.commands.search.query import Query\n", 161 | "import redis\n", 162 | "import time\n", 163 | "\n", 164 | "redis_conn = redis.Redis(\n", 165 | " host='redis-18975.c300.eu-central-1-1.ec2.cloud.redislabs.com',\n", 166 | " port=18975,\n", 167 | " password='xxxxxxxxxxx')" 168 | ] 169 | }, 170 | { 171 | "cell_type": "code", 172 | "execution_count": 25, 173 | "metadata": { 174 | "colab": { 175 | "base_uri": "https://localhost:8080/", 176 | "height": 669 177 | }, 178 | "id": "00_n4VWH7FoB", 179 | "outputId": "f26daa8c-4af9-4def-d5ab-3197777fe2f9" 180 | }, 181 | "outputs": [ 182 | { 183 | "data": { 184 | "text/html": [ 185 | "
| \n", 203 | " | item_id | \n", 204 | "marketplace | \n", 205 | "country | \n", 206 | "main_image_id | \n", 207 | "domain_name | \n", 208 | "bullet_point | \n", 209 | "item_keywords | \n", 210 | "material | \n", 211 | "brand | \n", 212 | "color | \n", 213 | "item_name | \n", 214 | "model_name | \n", 215 | "model_number | \n", 216 | "product_type | \n", 217 | "primary_key | \n", 218 | "
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | \n", 223 | "B07T6RZ2CM | \n", 224 | "Amazon | \n", 225 | "IN | \n", 226 | "71dZhpsferL | \n", 227 | "amazon.in | \n", 228 | "3D Printed Hard Back Case Mobile Cover for Len... | \n", 229 | "mobile cover back cover mobile case phone case... | \n", 230 | "NaN | \n", 231 | "Amazon Brand - Solimo | \n", 232 | "Others | \n", 233 | "Amazon Brand - Solimo Designer Couples Sitting... | \n", 234 | "Lenovo K4 Note | \n", 235 | "gz8115-SL40423 | \n", 236 | "CELLULAR_PHONE_CASE | \n", 237 | "B07T6RZ2CM-amazon.in | \n", 238 | "
| 1 | \n", 241 | "B07T2JY31Y | \n", 242 | "Amazon | \n", 243 | "IN | \n", 244 | "71vX7qIEAIL | \n", 245 | "amazon.in | \n", 246 | "3D Printed Hard Back Case Mobile Cover for Son... | \n", 247 | "mobile cover back cover mobile case phone case... | \n", 248 | "Wood | \n", 249 | "Amazon Brand - Solimo | \n", 250 | "others | \n", 251 | "Amazon Brand - Solimo Designer Leaf on Wood 3D... | \n", 252 | "Sony Xperia Z1 L39H | \n", 253 | "gz8056-SL40528 | \n", 254 | "CELLULAR_PHONE_CASE | \n", 255 | "B07T2JY31Y-amazon.in | \n", 256 | "
| 2 | \n", 259 | "B0849YGSCZ | \n", 260 | "Amazon | \n", 261 | "AE | \n", 262 | "A1EZF-2mB5L | \n", 263 | "amazon.ae | \n", 264 | "\n", 265 | " | small de fur rooms navidad woven girls shag pa... | \n", 266 | "NaN | \n", 267 | "Stone & Beam | \n", 268 | "NaN | \n", 269 | "Stone & Beam Contemporary Doily Wool Farmhouse... | \n", 270 | "NaN | \n", 271 | "I59I8044IVYGRYC00-Parent | \n", 272 | "HOME_FURNITURE_AND_DECOR | \n", 273 | "B0849YGSCZ-amazon.ae | \n", 274 | "
| 3 | \n", 277 | "B081K6TCML | \n", 278 | "Amazon | \n", 279 | "IN | \n", 280 | "81o9EyZ-fAL | \n", 281 | "amazon.in | \n", 282 | "Solimo Plastic Multipurpose Modular Drawer; sm... | \n", 283 | "drawer modular drawer 3 rack modular drawer ki... | \n", 284 | "Plastic | \n", 285 | "Amazon Brand - Solimo | \n", 286 | "Multicolor | \n", 287 | "Amazon Brand - Solimo Plastic Multipurpose Mod... | \n", 288 | "NaN | \n", 289 | "sol_cujo_13 | \n", 290 | "HOME | \n", 291 | "B081K6TCML-amazon.in | \n", 292 | "
| 4 | \n", 295 | "B0854774X5 | \n", 296 | "Amazon | \n", 297 | "IN | \n", 298 | "81xaJCVnl3L | \n", 299 | "amazon.in | \n", 300 | "Snug fit for Nokia 8.1, with perfect cut-outs ... | \n", 301 | "Back Cover Designer Case Designer Take It Easy... | \n", 302 | "Silicon | \n", 303 | "Amazon Brand - Solimo | \n", 304 | "Multicolor | \n", 305 | "Amazon Brand - Solimo Designer Take It Easy UV... | \n", 306 | "Nokia 8.1 | \n", 307 | "UV10714-SL40617 | \n", 308 | "CELLULAR_PHONE_CASE | \n", 309 | "B0854774X5-amazon.in | \n", 310 | "