示例#1
0
    def Predict(self, request, context):
        with status.context(context):
            print("request {0}".format(request))
            projects = self.cloudml.projects()

            body = {
                'instances': [
                    {
                        'inputs': [request.input],
                    },
                ],
            }
            cmle_request = projects.predict(
                name='projects/{0}/models/{1}/versions/{2}'.format(
                    self.project, self.model_name, self.model_version),
                body=body)

            response = cmle_example_pb2.PredictResponse()
            try:
                json_response = cmle_request.execute()
            except errors.HttpError as e:
                logging.error(
                    "There was a problem issuing the CMLE predict request: %s",
                    e)

                context.code(code_pb2.UNAVAILABLE)
                context.details(
                    'There was a problem issuing the CMLE predict request {}'.
                    format(e))

                return response
            response.output = json_response["predictions"][0]["outputs"][0]

            # TODO(jlewi): Need to issue an actual predict request.
            return response
示例#2
0
 def DeletePredictionObjects(self, request, context):
     ''' Endpoint for pod deletion.
     Arguments:
         request: request object.
         context: the request context.
     Return:
         Empty Object
     '''
     with status.context(context):
         pods = map(self._map_object, request.objects)
         self.dao.delete_pod(pods)
         return struct_pb2.Value()
示例#3
0
 def CreatePredictionObjects(self, request, context):
     ''' Endpoint for pod creation.
     Arguments:
         request: request object.
         context: the request context.
     Return:
         RequestResponse
     '''
     with status.context(context):
         pods = map(self._map_object, request.objects)
         self.dao.create_pod(pods)
         return ai_service_pb2.RequestResponse(message="ok")
示例#4
0
 def DeleteBook(self, request, context):
     with status.context(context):
         self._store.delete_book(request.shelf, request.book)
         return struct_pb2.Value()
示例#5
0
 def GetBook(self, request, context):
     with status.context(context):
         return self._store.get_book(request.shelf, request.book)
示例#6
0
 def CreateBook(self, request, context):
     with status.context(context):
         return self._store.create_book(request.shelf, request.book)
示例#7
0
 def ListBooks(self, request, context):
     with status.context(context):
         response = bookstore_pb2.ListBooksResponse()
         response.books.extend(self._store.list_books(request.shelf))
         return response
示例#8
0
 def DeleteShelf(self, request, context):
     with status.context(context):
         self._store.delete_shelf(request.shelf)
         return struct_pb2.Value()
示例#9
0
 def GetShelf(self, request, context):
     with status.context(context):
         return self._store.get_shelf(request.shelf)
示例#10
0
 def CreateShelf(self, request, context):
     with status.context(context):
         shelf, _ = self._store.create_shelf(request.shelf)
         return shelf
示例#11
0
 def ListShelves(self, unused_request, context):
     with status.context(context):
         response = bookstore_pb2.ListShelvesResponse()
         response.shelves.extend(self._store.list_shelf())
         return response