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