name: llm_ai
service_id: 163
service_display_name: LLM
service_short_name: llmAi
service_man: '## 1. Общая информация
LLMaaS (Large Language Model as a Service) — это сервис для доступа к языковым моделям через OpenAI-совместимое API.
Платформа позволяет создавать организации
(тенанты), команды, выпускать и управлять API-ключами, устанавливать лимиты на использование.
---
## Доступные операции
- **create** — Создание организации в LLMaaS
-
**delete** — Удаление организации
- **create_team** — Создание команды внутри организации
- **modify_team** — Редактирование команды (модели, RPM, TPM)
- **delete_team** —
Удаление команды
- **create_secrets** — Создание API-ключа
- **update_secrets** — Обновление параметров API-ключа
- **delete_secrets** — Удаление API-ключа
---
##
2. Параметры создания организации
Ниже перечислены параметры, которые необходимо указать при создании организации:
* **Платформа для развертывания**
Выбирается автоматически, изменять
не нужно.
* **Период бюджета**
Срок жизни организации в днях.
Пример: `30`
---
## 3. Параметры создания команды
* **Имя команды**
Уникальное
имя команды в рамках организации.
Пример: `production`
* **Модель**
Название модели, доступной для команды.
Пример: `gpt-oss-120b`
* **Лимит запросов в минуту (RPM)**
Максимальное
количество запросов к API в минуту.
Пример: `60`
* **Лимит токенов в минуту (TPM)**
Максимальное количество токенов (входящих + исходящих) в минуту.
Пример: `100000`
---
##
4. Параметры редактирования команды
Для существующей команды можно изменить:
* **Модель**
Новая модель для команды.
Пример: `gpt-oss-20b`
* **Лимит запросов в минуту
(RPM)**
Новое значение RPM.
Пример: `120`
* **Лимит токенов в минуту (TPM)**
Новое значение TPM.
Пример: `200000`
---
## 5. Параметры создания API-ключа
Ниже
перечислены параметры, которые необходимо указать при создании API-ключа:
* **Имя ключа**
Уникальное имя ключа в рамках организации.
Пример: `prod-key`
* **Команда**
Имя
команды для привязки ключа. Если не указано — ключ привязывается к команде `main`.
Пример: `production`
* **Модель**
Название модели, доступной для данного ключа.
Пример: `gpt-oss-120b`
*
**Лимит запросов в минуту (RPM)**
Максимальное количество запросов к API в минуту.
Пример: `60`
* **Лимит токенов в минуту (TPM)**
Максимальное количество токенов (входящих
+ исходящих) в минуту.
Пример: `100000`
**Важно:** Лимиты API-ключа не могут превышать лимиты команды, к которой он привязан.
При превышении операция будет отклонена с ошибкой.
Перед
созданием ключа убедитесь, что `RPM <= team.RPM` и `TPM <= team.TPM`.
---
## 6. Параметры обновления API-ключа
Для уже существующего ключа можно изменить параметры. Все
параметры являются опциональными:
* **Имя ключа**
Имя обновляемого ключа.
Пример: `prod-key`
* **Модель**
Новое название модели.
Пример: `gpt-oss-20b`
*
**Лимит запросов в минуту (RPM)**
Новое значение RPM.
Пример: `120`
* **Лимит токенов в минуту (TPM)**
Новое значение TPM.
Пример: `200000`
**Важно:** При обновлении
лимитов API-ключа новые значения не могут превышать лимиты команды.
Если указать значения выше командных, операция завершится ошибкой.
Указывайте `RPM <= team.RPM` и `TPM <= team.TPM`.
Команда
определяется автоматически по стейту услуги — изменить привязку к другой команде через эту операцию нельзя.
---
## 7. Параметры удаления API-ключа
* **Команда**
Имя команды,
к которой привязан ключ.
Пример: `production`
* **Имя ключа**
Имя удаляемого ключа.
Пример: `prod-key`
---
## 8. Параметры удаления команды
* **Имя
команды**
Имя удаляемой команды.
Пример: `production`
---
## 9. Параметры удаления организации
Удаление организации не требует дополнительных параметров — удаляется
вся организация со всеми командами и ключами.
---
## 10. Выходные параметры
После успешного создания организации платформа возвращает:
* **connectionUrl**
URL
для доступа к inference API (OpenAI-совместимый).
Пример: `https://api.aillm.ru`
---
## 12. Пример использования API
После получения API-ключа клиент может обращаться
к LLMaaS напрямую:
**Запрос к chat completions:**
```bash
curl https://api.aillm.ru/v1/chat/completions \
-H "Authorization: Bearer sk-..." \
-H "Content-Type: application/json"
\
-d ''{
"model": "gpt-oss-120b",
"messages": [
{"role": "user", "content": "Привет!"}
]
}''
```
**Получение списка доступных моделей:**
```bash
curl
https://api.aillm.ru/v1/models \
-H "Authorization: Bearer sk-..."
```
'
lifecycle:
suspendOnDestroyDefault: false
adoptExistingOnCreateDefault: false
operations:
- svcOperationId: 271
operation: create
kind: instance
action: create
- svcOperationId: 274
operation: create_secrets
kind: subresource
action: create
- svcOperationId: 278
operation: create_team
kind: subresource
action: create
- svcOperationId: 273
operation: delete
kind: instance
action: delete
- svcOperationId: 275
operation: delete_secrets
kind: subresource
action: delete
- svcOperationId: 280
operation: delete_team
kind: subresource
action: delete
- svcOperationId: 279
operation: modify_team
kind: subresource
action: modify
- svcOperationId: 277
operation: update_secrets
kind: subresource
action: update
stateOut:
secrets: {}
teams: {}
cfsParams:
- svcOperationCfsParamId: 826
svcOperationCfsParam: resourceRealm
dataType: string
isRequired: true
defaultValue: llmAi.aillm.ru
isModifiable: false
valueList:
- llmAi.aillm.ru
- svcOperationCfsParamId: 833
svcOperationCfsParam: models
dataType: array
isRequired: true
defaultValue: ''
isModifiable: false
- svcOperationCfsParamId: 834
svcOperationCfsParam: rpmLimit
dataType: integer > 0
isRequired: true
defaultValue: '60'
isModifiable: false
- svcOperationCfsParamId: 835
svcOperationCfsParam: tpmLimit
dataType: integer > 0
isRequired: true
defaultValue: '100000'
isModifiable: false
- svcOperationCfsParamId: 857
svcOperationCfsParam: keyName
dataType: string
isRequired: true
defaultValue: ''
isModifiable: false
- svcOperationCfsParamId: 859
svcOperationCfsParam: teamName
dataType: string
isRequired: true
defaultValue: ''
isModifiable: false
- svcOperationCfsParamId: 1083
svcOperationCfsParam: variablesKeys
dataType: array-map-fixed
isRequired: true
defaultValue: ''
isModifiable: false
dataDescriptor:
teamName:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
keyName:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
models:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
valueList:
- '{}'
tpmLimit:
dataType: integer > 0
defaultValue: '100000'
isRequired: true
isModifiable: false
rpmLimit:
dataType: integer > 0
defaultValue: '60'
isRequired: true
isModifiable: false
count:
dataType: integer > 0
defaultValue: '1'
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 858
svcOperationCfsParam: teamName
dataType: string
isRequired: true
defaultValue: ''
isModifiable: false
- svcOperationCfsParamId: 860
svcOperationCfsParam: models
dataType: array
isRequired: true
defaultValue: ''
isModifiable: false
- svcOperationCfsParamId: 861
svcOperationCfsParam: rpmLimit
dataType: integer > 0
isRequired: true
defaultValue: '60'
isModifiable: false
- svcOperationCfsParamId: 862
svcOperationCfsParam: tpmLimit
dataType: integer > 0
isRequired: true
defaultValue: '100000'
isModifiable: false
- svcOperationCfsParamId: 836
svcOperationCfsParam: keyName
dataType: string
isRequired: true
defaultValue: ''
isModifiable: true
- svcOperationCfsParamId: 876
svcOperationCfsParam: teamName
dataType: string
isRequired: true
defaultValue: ''
isModifiable: true
- svcOperationCfsParamId: 868
svcOperationCfsParam: teamName
dataType: string
isRequired: true
defaultValue: ''
isModifiable: true
- svcOperationCfsParamId: 864
svcOperationCfsParam: teamName
dataType: string
isRequired: true
defaultValue: ''
isModifiable: true
- svcOperationCfsParamId: 865
svcOperationCfsParam: models
dataType: array
isRequired: true
defaultValue: ''
isModifiable: true
- svcOperationCfsParamId: 873
svcOperationCfsParam: rpmLimit
dataType: integer > 0
isRequired: true
defaultValue: '60'
isModifiable: true
- svcOperationCfsParamId: 874
svcOperationCfsParam: tpmLimit
dataType: integer > 0
isRequired: true
defaultValue: '100000'
isModifiable: true
- svcOperationCfsParamId: 852
svcOperationCfsParam: keyName
dataType: string
isRequired: true
defaultValue: ''
isModifiable: true
- svcOperationCfsParamId: 853
svcOperationCfsParam: models
dataType: array
isRequired: true
defaultValue: ''
isModifiable: true
- svcOperationCfsParamId: 854
svcOperationCfsParam: rpmLimit
dataType: integer > 0
isRequired: true
defaultValue: '60'
isModifiable: true
- svcOperationCfsParamId: 855
svcOperationCfsParam: tpmLimit
dataType: integer > 0
isRequired: true
defaultValue: '100000'
isModifiable: true
- svcOperationCfsParamId: 875
svcOperationCfsParam: teamName
dataType: string
isRequired: true
defaultValue: ''
isModifiable: true
cfsParamsByOp:
271:
- 826
274:
- 833
- 834
- 835
- 857
- 859
- 1083
278:
- 858
- 860
- 861
- 862
273: []
275:
- 836
- 876
280:
- 868
279:
- 864
- 865
- 873
- 874
277:
- 852
- 853
- 854
- 855
- 875
stateParams:
resourceRealm: llmAi.aillm.ru