Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,198 @@
info:
name: Call orchestration service
type: http
seq: 10

http:
method: POST
url: "{{deploymentUrl}}/v2/completion"
headers:
- name: Authorization
value: Bearer {{access_token}}
- name: AI-Resource-Group
value: "{{resource_group}}"
- name: Content-Type
value: application/json
- name: ai-inference-observability-persistence-mode
value: full
- name: ai-inference-observability-labels
value: ext.ai.sap.com/test=true
- name: ai-object-store-secret-name
value: inference-observability
body:
type: json
data: |-
{
"config": {
"modules": {
"prompt_templating": {
"prompt": {
"template": [
{
"role": "user",
"content": "What is the speed of light?"
}
]
},
"model": {
"name": "gpt-5-mini",
"version": "latest",
"params": {
"max_completion_tokens": 3000
}
}
}
}
}
}
auth: inherit

runtime:
scripts:
- type: after-response
code: |-
if ( res.status == 200 ){
bru.setEnvVar("inferenceId", res.getHeader("ai-inference-id"));
}

settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5

examples:
- name: example
request:
url: "{{deploymentUrl}}/v2/completion"
method: POST
headers:
- name: Authorization
value: Bearer {{access_token}}
- name: AI-Resource-Group
value: "{{resource-group}}"
- name: Content-Type
value: application/json
- name: ai-inference-observability-persistence-mode
value: full
- name: ai-inference-observability-labels
value: ext.ai.sap.com/test=true
disabled: true
- name: ai-object-store-secret-name
value: inference-observability
body:
type: json
data: |-
{
"config": {
"modules": {
"prompt_templating": {
"prompt": {
"template": [
{
"role": "user",
"content": "What is the speed of light?"
}
]
},
"model": {
"name": "gpt-5-mini",
"version": "latest",
"params": {
"max_completion_tokens": 3000
}
}
}
}
}
}
response:
status: 200
statusText: OK
headers:
- name: date
value: Thu, 26 Mar 2026 13:11:20 GMT
- name: content-type
value: application/json
- name: ai-inference-id
value: 493452f3-6f81-4300-9bb7-52a58e6dcf99
- name: content-length
value: "1996"
- name: x-upstream-service-time
value: "11624"
body:
type: json
data: |-
{
"request_id": "28ed9d67-2497-90f1-bd6d-28eb3532102f",
"intermediate_results": {
"templating": [
{
"content": "What is the speed of light?",
"role": "user"
}
],
"llm": {
"id": "chatcmpl-DNemX4kXudVcEIEjq2IIxqBNmi0GB",
"object": "chat.completion",
"created": 1774530681,
"model": "gpt-5-mini-2025-08-07",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "The speed of light in vacuum (symbol c) is exactly 299,792,458 metres per second by definition of the metre. That is about 3.00 × 10^8 m/s, ≈186,282 miles per second, or ≈1.079×10^9 km/h. \n\nNote: in materials (air, glass, water, etc.) light travels more slowly; c is the maximum speed at which information and causal effects can propagate according to relativity."
},
"finish_reason": "stop"
}
],
"usage": {
"completion_tokens": 367,
"prompt_tokens": 13,
"total_tokens": 380,
"prompt_tokens_details": {
"audio_tokens": 0,
"cached_tokens": 0
},
"completion_tokens_details": {
"accepted_prediction_tokens": 0,
"audio_tokens": 0,
"reasoning_tokens": 256,
"rejected_prediction_tokens": 0
}
}
}
},
"final_result": {
"id": "chatcmpl-DNemX4kXudVcEIEjq2IIxqBNmi0GB",
"object": "chat.completion",
"created": 1774530681,
"model": "gpt-5-mini-2025-08-07",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "The speed of light in vacuum (symbol c) is exactly 299,792,458 metres per second by definition of the metre. That is about 3.00 × 10^8 m/s, ≈186,282 miles per second, or ≈1.079×10^9 km/h. \n\nNote: in materials (air, glass, water, etc.) light travels more slowly; c is the maximum speed at which information and causal effects can propagate according to relativity."
},
"finish_reason": "stop"
}
],
"usage": {
"completion_tokens": 367,
"prompt_tokens": 13,
"total_tokens": 380,
"prompt_tokens_details": {
"audio_tokens": 0,
"cached_tokens": 0
},
"completion_tokens_details": {
"accepted_prediction_tokens": 0,
"audio_tokens": 0,
"reasoning_tokens": 256,
"rejected_prediction_tokens": 0
}
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
info:
name: Check deployment status
type: http
seq: 9

http:
method: GET
url: "{{AI_API}}/lm/deployments/{{deploymentId}}"
headers:
- name: Authorization
value: Bearer {{access_token}}
- name: AI-Resource-Group
value: "{{resource-group}}"
- name: Content-Type
value: application/json
auth: inherit

runtime:
scripts:
- type: after-response
code: |-
if ( res.status === 200 ){
let data = res.getBody();
if ( data.status == "RUNNING" ){
bru.setEnvVar("deploymentUrl", data.deploymentUrl);
}
}

settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5

examples:
- name: example
request:
url: "{{AI_API}}/lm/deployments/{{deploymentId}}"
method: GET
headers:
- name: Authorization
value: Bearer {{access_token}}
- name: AI-Resource-Group
value: "{{resource-group}}"
- name: Content-Type
value: application/json
response:
status: 200
statusText: OK
headers:
- name: date
value: Thu, 26 Mar 2026 12:21:25 GMT
- name: content-type
value: application/json
- name: content-length
value: "722"
- name: access-control-allow-origin
value: "null"
- name: access-control-allow-credentials
value: "false"
- name: cache-control
value: no-store, must-revalidate
- name: x-upstream-service-time
value: "41"
body:
type: json
data: |-
{
"id": "db664f32e41f2694",
"createdAt": "2026-03-26T11:44:12Z",
"modifiedAt": "2026-03-26T11:44:12Z",
"status": "RUNNING",
"details": {
"scaling": {
"backendDetails": {},
"backend_details": {}
},
"resources": {
"backendDetails": {},
"backend_details": {}
}
},
"scenarioId": "orchestration",
"configurationId": "a660a213-5933-4b2c-872b-c1dbb3e771c2",
"latestRunningConfigurationId": "a660a213-5933-4b2c-872b-c1dbb3e771c2",
"lastOperation": "CREATE",
"targetStatus": "RUNNING",
"submissionTime": "2026-03-26T11:45:18Z",
"startTime": "2026-03-26T11:46:33Z",
"configurationName": "orchestration-config",
"deploymentUrl": "https://api.ai.internalprod.eu-central-1.aws.ml.hana.ondemand.com/v2/inference/deployments/db664f32e41f2694"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
info:
name: Check resource group status
type: http
seq: 3

http:
method: GET
url: "{{AI_API}}/admin/resourceGroups/{{resource-group}}"
headers:
- name: Authorization
value: Bearer {{access_token}}
- name: Content-Type
value: application/json
auth: inherit

settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5

examples:
- name: example
request:
url: "{{AI_API}}/admin/resourceGroups/{{resource-group}}"
method: GET
headers:
- name: Authorization
value: Bearer {{access_token}}
- name: Content-Type
value: application/json
response:
status: 200
statusText: OK
headers:
- name: date
value: Thu, 26 Mar 2026 11:41:42 GMT
- name: content-type
value: application/json
- name: content-length
value: "281"
- name: x-upstream-service-time
value: "53"
body:
type: json
data: |-
{
"resourceGroupId": "test-inference-obs",
"status": "PROVISIONED",
"tenantId": "882ce703-31d9-4330-927c-d5e427ebfb87",
"zoneId": "882ce703-31d9-4330-927c-d5e427ebfb87",
"labels": [],
"statusMessage": "All onboarding steps are completed.",
"createdAt": "2026-03-26T11:41:25+00:00"
}
Loading