You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: docs/developer/developer.md
+17-15
Original file line number
Diff line number
Diff line change
@@ -37,7 +37,8 @@ they can be installed via the [directions here](https://github.com/knative/docs/
37
37
38
38
* If you already have `Istio` or `Knative` (e.g. from a Kubeflow install) then you don't need to install them explicitly, as long as version dependencies are satisfied.
39
39
40
-
> **_NOTE:_** Note: On a local environment, when using `minikube` or `kind` as Kubernetes cluster, there has been a reported issue that [knative quickstart](https://knative.dev/docs/install/quickstart-install/) bootstrap does not work as expected. It is recommended to follow the installation manual from knative using [yaml](https://knative.dev/docs/install/yaml-install/) or using [knative operator](https://knative.dev/docs/install/operator/knative-with-operators/) for a better result.
40
+
!!! Note
41
+
On a local environment, when using `minikube` or `kind` as Kubernetes cluster, there has been a reported issue that [knative quickstart](https://knative.dev/docs/install/quickstart-install/) bootstrap does not work as expected. It is recommended to follow the installation manual from knative using [yaml](https://knative.dev/docs/install/yaml-install/) or using [knative operator](https://knative.dev/docs/install/operator/knative-with-operators/) for a better result.
41
42
42
43
### Setup your environment
43
44
@@ -152,12 +153,12 @@ make deploy
152
153
make deploy
153
154
```
154
155
155
-
==**Expected Output**==
156
-
```console
157
-
$ kubectl get pods -n kserve -l control-plane=kserve-controller-manager
158
-
NAME READY STATUS RESTARTS AGE
159
-
kserve-controller-manager-0 2/2 Running 0 13m
160
-
```
156
+
!!! success "Expected Output"
157
+
```console
158
+
$ kubectl get pods -n kserve -l control-plane=kserve-controller-manager
159
+
NAME READY STATUS RESTARTS AGE
160
+
kserve-controller-manager-0 2/2 Running 0 13m
161
+
```
161
162
!!! Note
162
163
By default it installs to `kserve` namespace with the published controller manager image from master branch.
163
164
@@ -177,12 +178,12 @@ make deploy-dev-xgb
177
178
```
178
179
179
180
Run the following command to deploy explainer with your local change.
180
-
```
181
+
```bash
181
182
make deploy-dev-alibi
182
183
```
183
184
184
185
Run the following command to deploy storage initializer with your local change.
185
-
```
186
+
```bash
186
187
make deploy-dev-storageInitializer
187
188
```
188
189
@@ -204,11 +205,12 @@ You should see model serving deployment running under default or your specified
204
205
$ kubectl get pods -n default -l serving.kserve.io/inferenceservice=flower-sample
## Deploy the model with [Open Inference Protocol](https://github.com/kserve/kserve/tree/master/docs/predict-api/v2)
132
+
## Deploy the model with [Open Inference Protocol](https://github.com/kserve/open-inference-protocol/)
133
133
134
134
### Test the model locally
135
135
Once you've got your model serialized `model.bst`, we can then use [KServe LightGBM Server](https://github.com/kserve/kserve/tree/master/python/lgbserver) to create a local model server.
136
136
137
137
!!! Note
138
-
This step is optional and just meant for testing, feel free to jump straight to [deploying with InferenceService](#deploy-with-inferenceservice).
138
+
This step is optional and just meant for testing, feel free to jump straight to [deploying with InferenceService](#deploy-inferenceservice-with-rest-endpoint).
139
139
140
140
#### Pre-requisites
141
141
@@ -162,7 +162,7 @@ The `lgbserver` package takes three arguments.
162
162
With the `lgbserver` runtime package installed locally, you should now be ready to start our server as:
You can now test your deployed model by sending a sample request.
206
206
207
207
Note that this request **needs to follow the [V2 Dataplane protocol](https://github.com/kserve/kserve/tree/master/docs/predict-api/v2)**.
208
-
You can see an example payload below:
208
+
You can see an example payload below. Create a file named `iris-input-v2.json` with the sample input.
209
209
210
210
```json
211
211
{
@@ -263,13 +263,35 @@ curl -v \
263
263
### Create the InferenceService with gRPC endpoint
264
264
Create the inference service yaml and expose the gRPC port, currently only one port is allowed to expose either HTTP or gRPC port and by default HTTP port is exposed.
265
265
266
-
=== "Yaml"
266
+
!!! Note
267
+
Currently, KServe only supports exposing either HTTP or gRPC port. By default, HTTP port is exposed.
The gRPC APIs follow the KServe [prediction V2 protocol](https://github.com/kserve/kserve/tree/master/docs/predict-api/v2).
310
-
331
+
[Determine the ingress IP and port](../../../get_started/first_isvc.md#4-determine-the-ingress-ip-and-ports) and set`INGRESS_HOST` and `INGRESS_PORT`. Now, you can use `curl` to send the inference requests.
332
+
The gRPC APIs follow the KServe [prediction V2 protocol / Open Inference Protocol](https://github.com/kserve/kserve/tree/master/docs/predict-api/v2).
311
333
For example, `ServerReady` API can be used to check if the server is ready:
312
334
313
335
```bash
314
336
grpcurl \
315
337
-plaintext \
316
338
-proto ${PROTO_FILE} \
317
-
-authority ${SERVICE_HOSTNAME}"\
339
+
-authority ${SERVICE_HOSTNAME} \
318
340
${INGRESS_HOST}:${INGRESS_PORT} \
319
341
inference.GRPCInferenceService.ServerReady
320
342
```
@@ -326,6 +348,25 @@ grpcurl \
326
348
}
327
349
```
328
350
351
+
You can test the deployed model by sending a sample request with the below payload.
352
+
Notice that the input format differs from the in the previous `REST endpoint` example.
353
+
Prepare the inference input inside the file named `iris-input-v2-grpc.json`.
`ModelInfer` API takes input following the `ModelInferRequest` schema defined in the `grpc_predict_v2.proto` file. Notice that the input file differs from that used in the previous `curl` example.
0 commit comments