Перейти к основному содержимому

GRPC API

К сервисам в Caila можно обращаться посредством GRPC API.

Спецификацию GRPC API можно скачать по ссылке.

Для обращения по grpc вам потребуется указать адрес сервера — gate.caila.io и API-токен.

Для клиентов по grpc доступен только один метод: Gate.process, с помощью которого можно вызывать метод predict. Остальные методы в спецификации описывают контракт, по которому работают сервисы внутри Caila, и для клиентских приложений они недоступны.

GRPC API можно использовать из любого языка программирования, для которого можно сгенерировать grpc-адаптеры. Для Java и Python можно воспользоваться нашим SDK.

Пример на Java

Подключаем зависимость:

<dependency>
<artifactId>mpl-java-sdk</artifactId>
<groupId>com.platform.mpl</groupId>
<version>release-SNAPSHOT</version>
</dependency>

Пример кода:

import com.mlp.sdk.MlpClientSDK
import com.mlp.sdk.utils.JSON
import kotlinx.coroutines.runBlocking

fun main() = runBlocking {
val clientSDK = MlpClientSDK()

val payload = JSON.stringify("hello")
val res = clientSDK.predict("just-ai", "test-action", payload)

println(res)

clientSDK.shutdown()
}

Токен доступа передаётся в переменной окружения MLP_CLIENT_TOKEN.

Ссылка на пример в репозитории:

https://gitlab.just-ai.com/ml-platform-pub/mlp-java-sdk/-/tree/dev/mlp-examples/mlp-client-app

Пример на Python

Подключаем зависимость:

git+https://gitlab.just-ai.com/ml-platform-pub/mlp-python-sdk@release#mlp_sdk

Пример кода:

from mlp_sdk.transport.MlpClientSDK import MlpClientSDK
from mlp_sdk.types import TextsCollection

ACCOUNT = "just-ai"
MODEL = "platform-vectorizer-ru-test"

sdk = MlpClientSDK()
sdk.init()
req = TextsCollection(texts=["Hello"])
res = sdk.predict(account=ACCOUNT, model=MODEL, data=req.json())
print(res)
sdk.shutdown()

Токен доступа передаётся в переменной окружения MLP_CLIENT_TOKEN.

Ссылка на пример в репозитории:

https://gitlab.just-ai.com/ml-platform-pub/mlp-python-examples/-/tree/main/python-client