{ "cells": [ { "cell_type": "code", "execution_count": 31, "id": "2c7ff2e6-e80f-426f-8e12-5560c8181844", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Overwriting requirements.txt\n" ] } ], "source": [ "%%writefile requirements.txt\n", "\n", "tensorflow\n", "tensorflow_hub\n", "numpy" ] }, { "cell_type": "markdown", "id": "4b8f425e-3658-4834-806b-e34ab0b6e377", "metadata": {}, "source": [ "## Create handler.py" ] }, { "cell_type": "code", "execution_count": 32, "id": "b985fb50-8615-4ad3-9078-d7aed6170d22", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Writing handler.py\n" ] } ], "source": [ "%%writefile handler.py\n", "from typing import Dict, List, Any\n", "import tensorflow as tf\n", "import tensorflow_hub as hub\n", "import numpy as np\n", "\n", "\n", "class EndpointHandler():\n", " def __init__(self, path=\"\"):\n", " self.model = hub.load(path)\n", "\n", " def __call__(self, data: Dict[str, Any]):\n", " inputs = data.pop(\"inputs\")\n", "\n", " tf_inputs = tf.constant([inputs])\n", " \n", " embeddings = self.model(tf_inputs).numpy()\n", "\n", " return {\"embeddings\" : embeddings}" ] }, { "cell_type": "markdown", "id": "08df1053-f5ed-4b97-9eed-80de1ce5067d", "metadata": {}, "source": [ "### Testing handler.py" ] }, { "cell_type": "code", "execution_count": 33, "id": "e2b1a9a3-0877-4b99-a3dc-660cca179fe2", "metadata": {}, "outputs": [], "source": [ "from handler import EndpointHandler" ] }, { "cell_type": "code", "execution_count": 34, "id": "4ef9588d-fd42-4a08-84cc-a468e8ce4c76", "metadata": {}, "outputs": [], "source": [ "my_handler = EndpointHandler(\".\")" ] }, { "cell_type": "code", "execution_count": 35, "id": "b54e3e22-b8ab-48c1-897a-f5227e654418", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'embeddings': array([[-6.38618842e-02, -5.60701340e-02, 8.80729500e-03,\n", " -1.84101313e-02, 7.13475198e-02, 2.02693827e-02,\n", " 1.28884157e-02, -1.65059287e-02, -1.34211220e-02,\n", " 1.61119737e-02, -4.11391743e-02, -7.60739222e-02,\n", " -2.84048934e-02, 9.03438032e-02, 3.30174752e-02,\n", " -7.52730742e-02, -3.86739038e-02, 1.16735389e-02,\n", " -2.05741525e-02, -2.98651885e-02, 9.08416063e-02,\n", " -1.15630552e-02, 6.09043576e-02, -2.75867200e-03,\n", " -3.57089788e-02, -1.46616105e-04, 7.94809982e-02,\n", " -2.14933977e-02, -5.86399063e-02, 5.07251807e-02,\n", " 5.11886738e-02, 1.67617593e-02, 5.59785590e-02,\n", " 6.05545053e-03, -2.37577595e-02, 6.48119077e-02,\n", " 3.59224379e-02, -8.05240199e-02, -4.69894744e-02,\n", " -5.26328571e-02, 5.60352094e-02, -2.66882498e-02,\n", " -1.91916525e-02, -4.36573252e-02, -2.54593436e-02,\n", " 6.69385167e-03, -8.13172683e-02, -3.30777210e-03,\n", " 5.02799563e-02, -2.37464011e-02, 1.60790775e-02,\n", " -9.61152613e-02, -3.38250175e-02, -6.24065138e-02,\n", " -3.14857578e-03, 2.97343358e-03, -6.13441654e-02,\n", " -6.06122380e-03, -6.72408938e-02, -2.24464294e-02,\n", " 1.09977170e-03, -8.33165739e-03, 5.54226376e-02,\n", " 3.74794230e-02, 5.34481183e-02, 8.12325925e-02,\n", " -5.10729738e-02, -5.21319211e-02, 4.89682816e-02,\n", " -9.53373220e-03, -4.82620150e-02, -7.13461339e-02,\n", " -3.41942869e-02, 5.18783199e-05, 2.96740793e-02,\n", " -3.79280634e-02, 4.69394401e-02, -3.68763022e-02,\n", " -9.62105393e-03, 8.74482468e-02, 2.19798507e-03,\n", " 1.46100279e-02, -2.51451265e-02, -1.11135412e-02,\n", " -2.37401724e-02, 8.83443281e-02, 8.40191788e-04,\n", " 6.77078217e-03, 3.90070267e-02, -5.09247817e-02,\n", " 1.47083430e-02, -3.21213529e-02, -2.81066149e-02,\n", " -2.05882527e-02, -1.01753874e-02, 1.00308945e-02,\n", " 3.23943719e-02, 1.60407610e-02, -5.44607230e-02,\n", " -1.83375645e-02, 4.90580574e-02, -6.39856383e-02,\n", " 8.41196254e-02, 8.65320116e-03, -5.91718256e-02,\n", " -3.60078481e-03, 1.08947791e-02, 3.19511518e-02,\n", " -5.52999973e-02, -7.49197900e-02, 1.23983119e-02,\n", " 1.35759339e-02, -6.55890927e-02, 2.08705920e-03,\n", " 4.53382581e-02, 6.71765208e-02, -3.43479887e-02,\n", " -5.43706566e-02, -3.78407128e-02, 3.52338068e-02,\n", " 1.01285130e-02, 3.29742432e-02, 7.10868277e-03,\n", " 5.06936759e-02, -2.50235088e-02, -6.54057413e-02,\n", " -3.67045170e-03, -2.29272433e-02, -1.11249415e-02,\n", " -5.05047776e-02, -4.22961228e-02, -2.52721217e-02,\n", " 1.95384119e-02, -2.04200149e-02, -5.31497132e-03,\n", " -2.65222206e-03, -6.03403850e-03, -6.97805136e-02,\n", " -7.55326152e-02, -4.95653562e-02, 1.48480171e-02,\n", " -9.51599237e-03, 7.54951611e-02, -3.15400921e-02,\n", " 2.60999016e-02, 1.57189388e-02, -3.83675843e-02,\n", " -4.91280816e-02, 2.16713287e-02, 4.01114896e-02,\n", " 7.27256313e-02, -6.56260476e-02, 1.50800357e-02,\n", " 3.11511476e-02, -5.20362034e-02, -3.76183800e-02,\n", " 5.92499748e-02, -6.58487231e-02, 6.23106062e-02,\n", " -2.44395845e-02, -6.55296370e-02, 3.41404192e-02,\n", " -2.14561895e-02, 2.86226328e-02, -3.21095847e-02,\n", " -5.63615151e-02, 7.92533625e-03, 7.16060121e-03,\n", " 3.73968817e-02, -7.35585019e-03, 5.04050180e-02,\n", " 6.39567971e-02, -6.00322336e-02, 3.64031754e-02,\n", " -6.12869337e-02, -5.00979163e-02, -9.90612879e-02,\n", " 1.00846700e-02, -1.76257435e-02, -7.49612004e-02,\n", " 1.61921140e-02, 8.98217969e-03, 6.40472099e-02,\n", " -2.42239926e-02, -2.89563555e-02, -3.97555679e-02,\n", " 8.16970970e-03, -2.70547792e-02, 7.05470964e-02,\n", " -2.22390667e-02, -5.54174930e-02, -7.95605965e-03,\n", " 1.75718274e-02, 6.25856072e-02, 2.99073104e-02,\n", " -1.68004446e-02, 1.26824751e-02, 3.16002704e-02,\n", " -8.82261898e-03, 9.35365970e-04, -2.64625214e-02,\n", " -5.59498183e-02, -6.60482328e-04, 1.00295261e-01,\n", " 8.29918310e-02, -3.86280902e-02, 2.93994937e-02,\n", " 5.37856370e-02, -3.37565690e-02, 2.97576264e-02,\n", " 2.05340032e-02, -1.41943535e-02, 3.88650745e-02,\n", " 5.39953634e-03, 4.60990556e-02, -1.22225275e-02,\n", " -5.85758733e-03, -4.87738177e-02, -5.34552988e-03,\n", " -6.55712001e-03, 3.99394482e-02, 8.70548596e-04,\n", " -6.61476003e-03, -8.30480829e-03, -4.70203497e-02,\n", " 1.68560352e-02, 9.58336052e-03, 7.39986748e-02,\n", " 2.78366432e-02, -9.39370878e-03, 1.65861268e-02,\n", " 1.51891969e-02, -3.57329510e-02, 1.04213893e-01,\n", " 4.82481830e-02, 2.06456985e-02, 6.20921254e-02,\n", " 5.71969338e-02, -1.96378436e-02, -4.93823960e-02,\n", " -1.29423570e-02, -2.92951837e-02, 7.17525333e-02,\n", " -1.99193414e-03, -4.54097241e-02, 5.39039150e-02,\n", " 5.53756487e-04, 9.96242836e-03, 1.01977051e-03,\n", " 3.97638138e-03, 2.05007251e-02, 6.91060051e-02,\n", " -3.96103878e-03, 6.93629980e-02, -4.78343964e-02,\n", " -6.23790175e-03, -1.25477891e-02, -1.36287278e-02,\n", " 7.05109164e-02, -7.27866068e-02, 1.11142071e-02,\n", " 2.88422909e-02, -6.51319511e-03, 7.91240335e-02,\n", " -1.96910109e-02, -2.11064201e-02, 4.92021702e-02,\n", " 1.66654252e-02, 4.45106886e-02, 6.86665997e-02,\n", " 1.47306116e-03, 1.02839239e-01, 3.39936614e-02,\n", " -3.80188413e-02, -8.56462959e-03, 5.31456992e-02,\n", " 3.27443592e-02, 5.06719910e-02, -4.58625983e-03,\n", " 4.83239554e-02, 5.55443317e-02, 1.96650755e-02,\n", " -5.58687113e-02, 1.19118358e-03, 2.17798837e-02,\n", " 2.14426350e-02, 8.93302448e-03, 4.77050282e-02,\n", " -1.31443907e-02, -6.38769660e-03, -3.07055209e-02,\n", " 8.23085681e-02, -7.15371743e-02, -3.28739174e-02,\n", " -7.68511891e-02, 4.41441499e-02, 3.46030779e-02,\n", " -1.76018011e-02, 4.64682700e-03, 4.64191288e-03,\n", " 5.25099598e-02, 4.45008054e-02, 3.42465155e-02,\n", " -4.74393219e-02, 4.12840396e-02, 2.35501472e-02,\n", " 5.29031344e-02, 2.48254761e-02, 5.46017177e-02,\n", " 6.63400069e-02, -4.64303941e-02, -4.82162312e-02,\n", " -5.16245663e-02, -4.52832095e-02, 2.86522899e-02,\n", " 4.16258126e-02, -6.03711009e-02, 2.48461217e-02,\n", " 8.74402188e-03, 6.34721220e-02, 2.45075095e-02,\n", " -3.27476226e-02, 7.30014145e-02, 2.72609275e-02,\n", " 5.31357303e-02, 2.61461921e-02, -1.34768244e-02,\n", " -7.39023788e-04, 1.62974652e-02, 4.02425528e-02,\n", " -6.08978271e-02, -8.49616900e-02, 6.60142675e-03,\n", " -4.80187573e-02, -4.01894283e-03, -4.48198318e-02,\n", " 4.28065583e-02, -2.36454997e-02, -1.30836926e-02,\n", " 5.24602979e-02, -6.29893094e-02, -4.04343680e-02,\n", " 1.09793851e-02, 9.07455683e-02, 4.16134857e-03,\n", " -6.10412359e-02, -5.74455932e-02, -2.64727287e-02,\n", " 3.06933038e-02, -7.76471123e-02, -5.67813925e-02,\n", " -4.86874245e-02, 6.60434291e-02, -2.61605568e-02,\n", " 6.50321599e-03, -4.35626321e-02, -8.22137669e-02,\n", " 3.06092147e-02, 6.03883751e-02, -1.02413511e-02,\n", " 7.62378722e-02, 5.34201264e-02, 7.04755187e-02,\n", " 4.35605496e-02, 2.98955757e-02, 6.68623820e-02,\n", " -4.99848351e-02, -7.72842169e-02, 2.17487589e-02,\n", " -4.93893512e-02, 3.67546901e-02, -4.83933277e-02,\n", " -1.56711265e-02, -3.72047126e-02, -2.25009937e-02,\n", " 2.38574250e-03, 3.86715643e-02, -6.70911893e-02,\n", " 7.22568408e-02, -7.52794370e-02, -4.19727005e-02,\n", " 1.07458588e-02, -9.13840625e-03, -1.36360200e-02,\n", " -5.76996580e-02, 4.38108705e-02, -9.88253355e-02,\n", " 1.19302478e-02, -7.33771846e-02, 1.84499584e-02,\n", " 8.83622542e-02, 2.76121125e-02, -3.29356611e-04,\n", " 2.99687888e-02, 4.21559066e-02, 3.26356292e-02,\n", " 3.20299231e-02, 1.99725684e-02, 2.74404194e-02,\n", " -9.97937471e-02, -5.75609989e-02, 7.98051730e-02,\n", " 6.09716913e-03, -4.65309992e-02, 1.44803273e-02,\n", " 2.47639567e-02, 1.23211090e-02, 2.67113894e-02,\n", " 5.66028841e-02, 4.75516878e-02, 1.12994853e-02,\n", " 6.97028711e-02, -4.68268804e-02, 1.55281592e-02,\n", " -3.30719799e-02, 2.43020058e-02, -2.71150153e-02,\n", " -4.46864478e-02, -3.53742987e-02, 8.66447538e-02,\n", " -2.79876925e-02, 4.05103266e-02, -4.32950631e-02,\n", " 5.47960354e-03, 3.25292610e-02, 9.13429335e-02,\n", " -5.65412752e-02, -2.53838263e-02, -1.74512248e-02,\n", " 6.28704671e-03, -2.81407572e-02, 1.05455322e-02,\n", " 9.28175356e-03, 1.04218021e-01, 1.28911464e-02,\n", " 2.26218663e-02, -6.14499375e-02, 6.08403124e-02,\n", " -2.87174433e-02, -2.09461115e-02, 2.16598995e-02,\n", " 2.14588945e-04, -3.82573418e-02, 8.49555433e-02,\n", " 2.12465413e-02, 2.31495183e-02, 1.26516279e-02,\n", " -2.41054539e-02, 5.19053191e-02, -6.98594898e-02,\n", " -1.03113716e-02, 4.49783690e-02, 7.64112920e-02,\n", " -5.85161708e-02, 1.40788062e-02, 6.12505898e-03,\n", " -4.89492118e-02, 7.53777921e-02, 6.95027411e-02,\n", " -1.13729248e-02, 1.61414128e-02, -1.40337991e-02,\n", " 2.01608278e-02, -6.42464915e-03, -7.78486580e-02,\n", " -2.80261710e-02, 1.30765559e-02, -1.80012751e-02,\n", " 1.26200626e-02, 5.54392636e-02, -1.22511880e-02,\n", " 8.27244446e-02, 7.47900829e-02, 8.27715546e-02,\n", " -1.74215604e-02, -9.39086229e-02, 7.36060785e-04,\n", " 1.37486709e-02, 4.42838520e-02, 3.22246999e-02,\n", " 7.14082494e-02, -7.96129704e-02, 8.87517259e-02,\n", " 1.13732917e-02, 1.11427344e-02, -2.65292898e-02,\n", " -3.10965069e-02, -2.50859018e-02, 9.31987166e-03,\n", " 2.10333429e-02, -5.63491248e-02, 3.15304250e-02,\n", " 5.41400746e-04, 2.05659792e-02, 4.16046660e-03,\n", " -8.87878425e-03, -3.30568664e-02, -5.51915839e-02,\n", " -2.67360453e-02, -2.68022288e-02, 3.01523339e-02,\n", " -3.00039742e-02, 7.04308823e-02, -5.55729456e-02,\n", " 4.30530794e-02, 1.63732804e-02, 1.99681725e-02,\n", " -2.68624425e-02, -4.53806436e-03, 3.34180817e-02,\n", " -2.40517855e-02, 5.28096315e-03]], dtype=float32)}" ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data = {\"inputs\" : \"Today was a good day!\"}\n", "my_handler(data)" ] } ], "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.5" } }, "nbformat": 4, "nbformat_minor": 5 }