File size: 15,212 Bytes
d708266
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
{
 "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
}