Эксплуатация программного обеспечения Cloud AI Hybrid
Для эксплуатации Cloud AI Hybrid необходимо выполнять запросы в программный интерфейс ПО (API), используя один из доступных интерфейсов (REST или gRPC).
API генерации текста, REST
Метод для генерации дополнений текста в синхронном режиме.
HTTP-запрос
POST /foundationModels/v1/completion
Параметры тела запроса
{
"modelUri": "string",
"completionOptions": {
"stream": "boolean",
"temperature": "number",
"maxTokens": "string"
},
"messages": [
{
"role": "string",
"text": "string"
}
]
}
Запрос на генерацию дополнения текста.
|
Поле |
Описание |
|
modelUri |
string ID модели, которая будет использоваться для генерации дополнения. |
|
completionOptions |
CompletionOptions Параметры конфигурации для генерации дополнений. |
|
messages[] |
Message Список сообщений, представляющих контекст для модели дополнений. |
CompletionOptions
Определяет параметры для генерации дополнений.
|
Поле |
Описание |
|
stream |
boolean Включает потоковую передачу частично сгенерированного текста. |
|
temperature |
number (double) Влияет на креативность и случайность ответов. Должен быть числом с плавающей запятой от 0 (включительно) до 1 (включительно). |
|
maxTokens |
string (int64) Ограничение на количество токенов, используемых для одного дополнения. |
Message
Объект сообщения, представляющий оболочку для входных и выходных данных модели дополнений.
|
Поле |
Описание |
|
role |
string ID отправителя сообщения. Поддерживаемые роли:
|
|
text |
string Текстовое содержание сообщения. |
Response
HTTP Код: 200 - OK
{
"alternatives": [
{
"message": {
"role": "string",
"text": "string"
},
"status": "string"
}
],
"usage": {
"inputTextTokens": "string",
"completionTokens": "string",
"totalTokens": "string"
},
"modelVersion": "string"
}
Ответ, содержащий сгенерированные дополнения текста.
|
Поле |
Описание |
|
alternatives[] |
Alternative Список альтернативных дополнений. |
|
usage |
ContentUsage Набор статистических данных, описывающих количество использованных токенов контента моделью дополнений. |
|
modelVersion |
string Версия модели, которая изменяется с каждым новым выпуском. |
Alternative
Представляет альтернативу сгенерированного дополнения, включая его содержание и статус генерации.
|
Поле |
Описание |
|
message |
Message Сообщение с содержанием альтернативы. |
|
status |
enum (AlternativeStatus) Статус генерации альтернативы.
|
Message
Объект сообщения, представляющий оболочку для входных и выходных данных модели дополнений.
|
Поле |
Описание |
|
role |
string ID отправителя сообщения. Поддерживаемые роли:
|
|
text |
string Текстовое содержание сообщения. Содержание сообщения. |
ContentUsage
Объект, представляющий количество токенов контента, использованных моделью дополнений.
|
Поле |
Описание |
|
inputTextTokens |
string (int64) Количество токенов в текстовой части входных данных модели. |
|
completionTokens |
string (int64) Количество токенов в сгенерированном дополнении. |
|
totalTokens |
string (int64) Общее количество токенов, включая все входные и сгенерированные токены. |
API генерации текста, gRPC
Метод для генерации дополнений текста в синхронном режиме.
gRPC-запрос
rpc Completion (CompletionRequest) returns (stream CompletionResponse)
CompletionRequest
{
"model_uri": "string",
"completion_options": {
"stream": "bool",
"temperature": "google.protobuf.DoubleValue",
"max_tokens": "google.protobuf.Int64Value"
},
"messages": [
{
"role": "string",
"text": "string",
}
]
}
Запрос к сервису для генерации дополнений текста.
|
Поле |
Описание |
|
model_uri |
string Идентификатор модели, которая будет использоваться для генерации дополнений. |
|
completion_options |
CompletionOptions Настройки для генерации дополнений. |
|
messages[] |
Message Список сообщений, представляющих контекст для модели дополнений. |
CompletionOptions
Определяет параметры для генерации дополнений.
|
Поле |
Описание |
|
stream |
bool Включает потоковую передачу частично сгенерированного текста. |
|
temperature |
google.protobuf.DoubleValue Влияет на креативность и случайность ответов. Должно быть числом с плавающей точкой от 0 (включительно) до 1 (включительно). |
|
max_tokens |
google.protobuf.Int64Value Ограничение на количество токенов, используемых для одного дополнения. |
Message
Объект сообщения, представляющий оболочку для входных и выходных данных модели дополнений.
|
Поле |
Описание |
|
role |
string Идентификатор отправителя сообщения. Поддерживаемые роли:
|
|
text |
string Текстовое содержание сообщения. |
CompletionResponse
{
"alternatives": [
{
"message": {
"role": "string",
"text": "string"
},
"status": "AlternativeStatus"
}
],
"usage": {
"input_text_tokens": "int64",
"completion_tokens": "int64",
"total_tokens": "int64"
},
"model_version": "string"
}
Ответ, содержащий сгенерированные дополнения текста.
|
Поле |
Описание |
|
alternatives[] |
Alternative Список сгенерированных альтернатив дополнений. |
|
usage |
ContentUsage Набор статистики, описывающий количество токенов контента, использованных моделью дополнений. |
|
model_version |
string Версия модели, которая изменяется с каждым новым релизом. |
Alternative
Представляет сгенерированную альтернативу дополнения, включая ее содержание и статус генерации.
|
Поле |
Описание |
|
message |
Message Сообщение с содержанием альтернативы. |
|
status |
enum AlternativeStatus Статус генерации альтернативы.
|
Message
Объект сообщения, представляющий оболочку для входных и выходных данных модели дополнений.
|
Поле |
Описание |
|
role |
string Идентификатор отправителя сообщения. Поддерживаемые роли:
|
|
text |
string Текстовое содержание сообщения. |
ContentUsage
Объект, представляющий количество токенов контента, использованных моделью дополнений.
|
Поле |
Описание |
|
input_text_tokens |
int64 Количество токенов в текстовой части входных данных модели. |
|
completion_tokens |
int64 Количество токенов в сгенерированном дополнении. |
|
total_tokens |
int64 Общее количество токенов, включая все входные токены и все сгенерированные токены. |
API векторизации текста, REST
Метод получения эмбеддингов из текстовых данных.
HTTP-запрос
POST /foundationModels/v1/textEmbedding
Параметры тела
{
"modelUri": "string",
"text": "string"
}
Запрос к сервису для получения эмбеддингов текста.
|
Поле |
Описание |
|
modelUri |
строка URI модели, которая будет использоваться для получения эмбеддингов текста. |
|
text |
строка Входной текст, для которого запрашивается эмбеддинг. |
Ответ
HTTP Код: 200 - OK
{
"embedding": [
"string"
],
"numTokens": "string",
"modelVersion": "string"
}
Ответ, содержащий сгенерированный эмбеддинг текста.
|
Поле |
Описание |
|
embedding[] |
строка Повторяющийся список значений с плавающей запятой, представляющих эмбеддинг. |
|
numTokens |
строка (int64) Количество токенов во входном тексте. |
|
modelVersion |
строка Версия модели, которая изменяется с каждым новым релизом. |
API для векторизации текста, gRPC
Метод для получения эмбеддингов из текстовых данных.
gRPC-запрос
rpc TextEmbedding (TextEmbeddingRequest) returns (TextEmbeddingResponse)
TextEmbeddingRequest
{
"model_uri": "string",
"text": "string"
}
Запрос к сервису для получения эмбеддингов текста.
|
Поле |
Описание |
|
model_uri |
string URI модели, который будет использоваться для получения эмбеддингов текста. |
|
text |
string Входной текст, для которого запрашиваются эмбеддинги. |
TextEmbeddingResponse
{
"embedding": [
"double"
],
"num_tokens": "int64",
"model_version": "string"
}
Ответ, содержащий сгенерированный эмбеддинг текста.
|
Поле |
Описание |
|
embedding[] |
double Повторяющийся список значений типа double, представляющих эмбеддинг. |
|
num_tokens |
int64 Количество токенов во входном тексте. |
|
model_version |
string Версия модели, которая изменяется с каждым новым релизом. |
API для классификации текста, REST
Метод для бинарной и многоклассовой классификации.
Вы можете предоставить до 20 классов для классификации текста с малым количеством примеров.
HTTP-запрос
POST /foundationModels/v1/fewShotTextClassification
Параметры тела запроса
{
"modelUri": "string",
"taskDescription": "string",
"labels": [
"string"
],
"text": "string",
"samples": [
{
"text": "string",
"label": "string"
}
]
}
Запрос для классификации текста.
|
Поле |
Описание |
|
modelUri |
string URI модели классификатора. |
|
taskDescription |
string Текстовое описание задачи классификации. |
|
labels[] |
string Список доступных меток для результата классификации. |
|
text |
string Текст для классификации. |
|
samples[] |
ClassificationSample Необязательный набор образцов текста с ожидаемыми метками, которые могут быть использованы в качестве дополнительной подсказки для классификатора. |
ClassificationSample
Описание образца для задачи классификации.
|
Поле |
Описание |
|
text |
string Образец текста. |
|
label |
string Ожидаемая метка для данного текста. |
Ответ
HTTP код: 200 - OK
{
"predictions": [
{
"label": "string",
"confidence": "string"
}
],
"modelVersion": "string"
}
Ответ, содержащий предсказания классификатора.
|
Поле |
Описание |
|
predictions[] |
ClassificationLabel Результаты классификации с значениями |
|
modelVersion |
string Версия модели, которая изменяется с каждым новым выпуском. |
ClassificationLabel
Пара текстовых меток и их соответствующих значений доверия.
|
Поле |
Описание |
|
label |
string Метка названия класса. |
|
confidence |
string Вероятность того, что текст будет отнесен к определенному классу. |
API для классификации текста, gRPC
gRPC-метод для бинарной и многоклассовой классификации.
Вы можете предоставить до 20 классов для классификации текста с несколькими примерами.
Запрос gRPC
rpc FewShotClassify (FewShotTextClassificationRequest) returns (FewShotTextClassificationResponse)
FewShotTextClassificationRequest
{
"model_uri": "string",
"task_description": "string",
"labels": [
"string"
],
"text": "string",
"samples": [
{
"text": "string",
"label": "string"
}
]
}
Запрос на классификацию текста сервисом.
|
Поле |
Описание |
|
model_uri |
string URI модели классификатора. |
|
task_description |
string Текстовое описание задачи классификации. |
|
labels[] |
string Список доступных меток для классификации. |
|
text |
string Текст для классификации. |
|
samples[] |
ClassificationSample Необязательный набор текстовых примеров с ожидаемыми метками, которые могут быть использованы как дополнительная подсказка для классификатора. |
ClassificationSample
Описание примера для задачи классификации.
|
Поле |
Описание |
|
text |
string Текстовый пример. |
|
label |
string Ожидаемая метка для данного текста. |
FewShotTextClassificationResponse
{
"predictions": [
{
"label": "string",
"confidence": "double"
}
],
"model_version": "string"
}
Ответ, содержащий прогнозы классификатора.
|
Поле |
Описание |
|
predictions[] |
ClassificationLabel Результаты классификации с значениями |
|
model_version |
string Версия модели изменяется с каждым новым выпуском. |
ClassificationLabel
Пара меток текста и их соответствующих значений уверенности.
|
Поле |
Описание |
|
label |
string Метка класса. |
|
confidence |
double Вероятность классификации текста в конкретный класс. |
Пример выполнения запроса в интерфейс REST с помощью cURL
Отправка REST-запроса
curl \
--http1.0 \
--request POST \
"http://<server>:8080/foundationModels/v1/completion" \
--header "Content-Type: application/json; charset=utf-8" \
--header "Authorization: Bearer 0" \
--data @- <<'EOF'
{
"modelUri": "gpt://0/general",
"completionOptions": {
"stream": false,
"temperature": 0.1,
"maxTokens": "1000"
},
"messages": [
{
"role": "system",
"text": "Translate text"
},
{
"role": "user",
"text": "To be, or not to be: that is the question."
}
]
}
EOF
Результат
{"result":{"alternatives":[{"message":{"role":"assistant","text":"Быть или не быть — вот в чём вопрос."},"status":"ALTERNATIVE_STATUS_FINAL"}],"usage":{"inputTextTokens":"26","completionTokens":"11","totalTokens":"37"},"modelVersion":"07.03.2024"}}