cavis/.old/nd4j/nd4j-remote/nd4j-json-server
Brian Rosenberger 205252e5a9 Add jenkinsfile for pipeline build and dockerfile for build 2023-04-17 10:36:58 +02:00
..
src Add jenkinsfile for pipeline build and dockerfile for build 2023-04-17 10:36:58 +02:00
README.md Add jenkinsfile for pipeline build and dockerfile for build 2023-04-17 10:36:58 +02:00
pom.xml Add jenkinsfile for pipeline build and dockerfile for build 2023-04-17 10:36:58 +02:00

README.md

SameDiff model serving

This modules provides JSON-based serving of SameDiff models

Example

First of all we'll create server instance. Most probably you'll do it in application that will be running in container

val server = SameDiffJsonModelServer.<String, Sentiment>builder()
                .adapter(new StringToSentimentAdapter())
                .model(mySameDiffModel)
                .port(8080)
                .serializer(new SentimentSerializer())
                .deserializer(new StringDeserializer())
                .build();

server.start();
server.join();

Now, presumably in some other container, we'll set up remote inference client:

val client = JsonRemoteInference.<String, Sentiment>builder()
                .endpointAddress("http://youraddress:8080/v1/serving")
                .serializer(new StringSerializer())
                .deserializer(new SentimentDeserializer())
                .build();

Sentiment result = client.predict(myText);

On top of that, there's async call available, for cases when you need to chain multiple requests to one or multiple remote model servers.

Future<Sentiment> result = client.predictAsync(myText);