using MeetKai.MKA1;
using MeetKai.MKA1.Types.Components;
using System.Collections.Generic;
var sdk = new SDK(bearerAuth: "<YOUR_BEARER_TOKEN_HERE>");
var res = await sdk.Serving.Recipes.RegisterAsync(
name: "<value>",
body: new ServingRecipeManifest() {
Accelerators = new Dictionary<string, ServingRecipeAccelerator>() {
{ "key", new ServingRecipeAccelerator() {
Image = "https://loremflickr.com/3488/2020?lock=1236590378159766",
} },
},
ApiFormat = ApiFormat.Images,
ModelSelectors = new List<ServingRecipeModelSelector>() {
new ServingRecipeModelSelector() {
Modality = "text-generation",
},
},
Name = "vllm-openai",
Port = 275465,
Version = 572385,
}
);
// handle responsefrom meetkai_mka1 import SDK
with SDK(
bearer_auth="<YOUR_BEARER_TOKEN_HERE>",
) as sdk:
res = sdk.serving.recipes.register(name_param="<value>", accelerators={
"key": {
"image": "https://loremflickr.com/3488/2020?lock=1236590378159766",
},
}, api_format="images", model_selectors=[
{
"modality": "text-generation",
},
], name="vllm-openai", port=275465, version=572385, engine="vllm")
# Handle response
print(res)import { SDK } from "@meetkai/mka1";
const sdk = new SDK({
bearerAuth: "<YOUR_BEARER_TOKEN_HERE>",
});
async function run() {
const result = await sdk.serving.recipes.register({
name: "<value>",
servingRecipeManifest: {
accelerators: {
"key": {
image: "https://loremflickr.com/3488/2020?lock=1236590378159766",
},
},
apiFormat: "images",
modelSelectors: [
{
modality: "text-generation",
},
],
name: "vllm-openai",
port: 275465,
version: 572385,
},
});
console.log(result);
}
run();curl --request PUT \
--url https://apigw.mka1.com/api/v1/serving/recipes/{name} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"accelerators": {},
"model_selectors": [
{
"modality": "<string>",
"architecture": "<string>",
"family": "<string>"
}
],
"name": "<string>",
"port": 32768,
"version": 2,
"apiProviderType": "<string>",
"capabilities": {},
"description": "<string>",
"engine": "vllm",
"readiness": {},
"runtime": {
"args": [
"<string>"
],
"env": {}
}
}
'const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
accelerators: {},
model_selectors: [{modality: '<string>', architecture: '<string>', family: '<string>'}],
name: '<string>',
port: 32768,
version: 2,
apiProviderType: '<string>',
capabilities: {},
description: '<string>',
engine: 'vllm',
readiness: {},
runtime: {args: ['<string>'], env: {}}
})
};
fetch('https://apigw.mka1.com/api/v1/serving/recipes/{name}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://apigw.mka1.com/api/v1/serving/recipes/{name}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'accelerators' => [
],
'model_selectors' => [
[
'modality' => '<string>',
'architecture' => '<string>',
'family' => '<string>'
]
],
'name' => '<string>',
'port' => 32768,
'version' => 2,
'apiProviderType' => '<string>',
'capabilities' => [
],
'description' => '<string>',
'engine' => 'vllm',
'readiness' => [
],
'runtime' => [
'args' => [
'<string>'
],
'env' => [
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://apigw.mka1.com/api/v1/serving/recipes/{name}"
payload := strings.NewReader("{\n \"accelerators\": {},\n \"model_selectors\": [\n {\n \"modality\": \"<string>\",\n \"architecture\": \"<string>\",\n \"family\": \"<string>\"\n }\n ],\n \"name\": \"<string>\",\n \"port\": 32768,\n \"version\": 2,\n \"apiProviderType\": \"<string>\",\n \"capabilities\": {},\n \"description\": \"<string>\",\n \"engine\": \"vllm\",\n \"readiness\": {},\n \"runtime\": {\n \"args\": [\n \"<string>\"\n ],\n \"env\": {}\n }\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://apigw.mka1.com/api/v1/serving/recipes/{name}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"accelerators\": {},\n \"model_selectors\": [\n {\n \"modality\": \"<string>\",\n \"architecture\": \"<string>\",\n \"family\": \"<string>\"\n }\n ],\n \"name\": \"<string>\",\n \"port\": 32768,\n \"version\": 2,\n \"apiProviderType\": \"<string>\",\n \"capabilities\": {},\n \"description\": \"<string>\",\n \"engine\": \"vllm\",\n \"readiness\": {},\n \"runtime\": {\n \"args\": [\n \"<string>\"\n ],\n \"env\": {}\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://apigw.mka1.com/api/v1/serving/recipes/{name}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"accelerators\": {},\n \"model_selectors\": [\n {\n \"modality\": \"<string>\",\n \"architecture\": \"<string>\",\n \"family\": \"<string>\"\n }\n ],\n \"name\": \"<string>\",\n \"port\": 32768,\n \"version\": 2,\n \"apiProviderType\": \"<string>\",\n \"capabilities\": {},\n \"description\": \"<string>\",\n \"engine\": \"vllm\",\n \"readiness\": {},\n \"runtime\": {\n \"args\": [\n \"<string>\"\n ],\n \"env\": {}\n }\n}"
response = http.request(request)
puts response.read_body{
"created_at": "2023-11-07T05:31:56Z",
"definition": {
"accelerators": {},
"model_selectors": [
{
"modality": "<string>",
"architecture": "<string>",
"family": "<string>"
}
],
"name": "<string>",
"port": 32768,
"version": 2,
"apiProviderType": "<string>",
"capabilities": {},
"description": "<string>",
"engine": "vllm",
"readiness": {},
"runtime": {
"args": [
"<string>"
],
"env": {}
}
},
"disabled_at": "2023-11-07T05:31:56Z",
"enabled": true,
"enabled_at": "2023-11-07T05:31:56Z",
"enabled_by": "<string>",
"name": "<string>",
"updated_at": "2023-11-07T05:31:56Z"
}{
"error": {
"code": "<string>",
"message": "<string>",
"type": "<string>"
}
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"ctx": {},
"input": "<unknown>"
}
]
}Register a serving recipe
Register (or re-register) a digest-pinned recipe manifest in the catalog. A new recipe registers disabled; re-registration replaces the manifest and preserves enablement. Cluster administrators only.
using MeetKai.MKA1;
using MeetKai.MKA1.Types.Components;
using System.Collections.Generic;
var sdk = new SDK(bearerAuth: "<YOUR_BEARER_TOKEN_HERE>");
var res = await sdk.Serving.Recipes.RegisterAsync(
name: "<value>",
body: new ServingRecipeManifest() {
Accelerators = new Dictionary<string, ServingRecipeAccelerator>() {
{ "key", new ServingRecipeAccelerator() {
Image = "https://loremflickr.com/3488/2020?lock=1236590378159766",
} },
},
ApiFormat = ApiFormat.Images,
ModelSelectors = new List<ServingRecipeModelSelector>() {
new ServingRecipeModelSelector() {
Modality = "text-generation",
},
},
Name = "vllm-openai",
Port = 275465,
Version = 572385,
}
);
// handle responsefrom meetkai_mka1 import SDK
with SDK(
bearer_auth="<YOUR_BEARER_TOKEN_HERE>",
) as sdk:
res = sdk.serving.recipes.register(name_param="<value>", accelerators={
"key": {
"image": "https://loremflickr.com/3488/2020?lock=1236590378159766",
},
}, api_format="images", model_selectors=[
{
"modality": "text-generation",
},
], name="vllm-openai", port=275465, version=572385, engine="vllm")
# Handle response
print(res)import { SDK } from "@meetkai/mka1";
const sdk = new SDK({
bearerAuth: "<YOUR_BEARER_TOKEN_HERE>",
});
async function run() {
const result = await sdk.serving.recipes.register({
name: "<value>",
servingRecipeManifest: {
accelerators: {
"key": {
image: "https://loremflickr.com/3488/2020?lock=1236590378159766",
},
},
apiFormat: "images",
modelSelectors: [
{
modality: "text-generation",
},
],
name: "vllm-openai",
port: 275465,
version: 572385,
},
});
console.log(result);
}
run();curl --request PUT \
--url https://apigw.mka1.com/api/v1/serving/recipes/{name} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"accelerators": {},
"model_selectors": [
{
"modality": "<string>",
"architecture": "<string>",
"family": "<string>"
}
],
"name": "<string>",
"port": 32768,
"version": 2,
"apiProviderType": "<string>",
"capabilities": {},
"description": "<string>",
"engine": "vllm",
"readiness": {},
"runtime": {
"args": [
"<string>"
],
"env": {}
}
}
'const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
accelerators: {},
model_selectors: [{modality: '<string>', architecture: '<string>', family: '<string>'}],
name: '<string>',
port: 32768,
version: 2,
apiProviderType: '<string>',
capabilities: {},
description: '<string>',
engine: 'vllm',
readiness: {},
runtime: {args: ['<string>'], env: {}}
})
};
fetch('https://apigw.mka1.com/api/v1/serving/recipes/{name}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://apigw.mka1.com/api/v1/serving/recipes/{name}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'accelerators' => [
],
'model_selectors' => [
[
'modality' => '<string>',
'architecture' => '<string>',
'family' => '<string>'
]
],
'name' => '<string>',
'port' => 32768,
'version' => 2,
'apiProviderType' => '<string>',
'capabilities' => [
],
'description' => '<string>',
'engine' => 'vllm',
'readiness' => [
],
'runtime' => [
'args' => [
'<string>'
],
'env' => [
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://apigw.mka1.com/api/v1/serving/recipes/{name}"
payload := strings.NewReader("{\n \"accelerators\": {},\n \"model_selectors\": [\n {\n \"modality\": \"<string>\",\n \"architecture\": \"<string>\",\n \"family\": \"<string>\"\n }\n ],\n \"name\": \"<string>\",\n \"port\": 32768,\n \"version\": 2,\n \"apiProviderType\": \"<string>\",\n \"capabilities\": {},\n \"description\": \"<string>\",\n \"engine\": \"vllm\",\n \"readiness\": {},\n \"runtime\": {\n \"args\": [\n \"<string>\"\n ],\n \"env\": {}\n }\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://apigw.mka1.com/api/v1/serving/recipes/{name}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"accelerators\": {},\n \"model_selectors\": [\n {\n \"modality\": \"<string>\",\n \"architecture\": \"<string>\",\n \"family\": \"<string>\"\n }\n ],\n \"name\": \"<string>\",\n \"port\": 32768,\n \"version\": 2,\n \"apiProviderType\": \"<string>\",\n \"capabilities\": {},\n \"description\": \"<string>\",\n \"engine\": \"vllm\",\n \"readiness\": {},\n \"runtime\": {\n \"args\": [\n \"<string>\"\n ],\n \"env\": {}\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://apigw.mka1.com/api/v1/serving/recipes/{name}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"accelerators\": {},\n \"model_selectors\": [\n {\n \"modality\": \"<string>\",\n \"architecture\": \"<string>\",\n \"family\": \"<string>\"\n }\n ],\n \"name\": \"<string>\",\n \"port\": 32768,\n \"version\": 2,\n \"apiProviderType\": \"<string>\",\n \"capabilities\": {},\n \"description\": \"<string>\",\n \"engine\": \"vllm\",\n \"readiness\": {},\n \"runtime\": {\n \"args\": [\n \"<string>\"\n ],\n \"env\": {}\n }\n}"
response = http.request(request)
puts response.read_body{
"created_at": "2023-11-07T05:31:56Z",
"definition": {
"accelerators": {},
"model_selectors": [
{
"modality": "<string>",
"architecture": "<string>",
"family": "<string>"
}
],
"name": "<string>",
"port": 32768,
"version": 2,
"apiProviderType": "<string>",
"capabilities": {},
"description": "<string>",
"engine": "vllm",
"readiness": {},
"runtime": {
"args": [
"<string>"
],
"env": {}
}
},
"disabled_at": "2023-11-07T05:31:56Z",
"enabled": true,
"enabled_at": "2023-11-07T05:31:56Z",
"enabled_by": "<string>",
"name": "<string>",
"updated_at": "2023-11-07T05:31:56Z"
}{
"error": {
"code": "<string>",
"message": "<string>",
"type": "<string>"
}
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"ctx": {},
"input": "<unknown>"
}
]
}Authorizations
Gateway auth: send Authorization: Bearer <mka1-api-key>. For multi-user server-side integrations, you can also send X-On-Behalf-Of: <external-user-id>.
Headers
Optional external end-user identifier forwarded by the API gateway.
Path Parameters
Body
A serving-runtime recipe definition (the recipe.yaml manifest): which image runs on which hardware, its readiness contract, and which models it can serve.
Show child attributes
Show child attributes
responses, completions, embeddings, images, transcriptions, tts 1Show child attributes
Show child attributes
"vllm-openai"
1 <= x <= 65535x >= 1Launch templating (arguments or environment) of a recipe manifest.
Show child attributes
Show child attributes
Response
Successful Response
A registered serving recipe with its cluster-wide enablement state. Only enabled recipes are deployable.
A serving-runtime recipe definition (the recipe.yaml manifest): which image runs on which hardware, its readiness contract, and which models it can serve.
Show child attributes
Show child attributes
"vllm-openai"
Was this page helpful?