|
1 | 1 | @endpoint(llm-observability) @endpoint(llm-observability-v2) |
2 | 2 | Feature: LLM Observability |
3 | | - Manage LLM Observability projects, datasets, dataset records, and |
4 | | - experiments via the Experiments API. |
| 3 | + Manage LLM Observability projects, datasets, dataset records, experiments, |
| 4 | + and annotations. |
5 | 5 |
|
6 | 6 | Background: |
7 | 7 | Given a valid "apiKeyAuth" key in the system |
8 | 8 | And a valid "appKeyAuth" key in the system |
9 | 9 | And an instance of "LLMObservability" API |
10 | 10 |
|
| 11 | + @generated @skip @team:DataDog/ml-observability |
| 12 | + Scenario: Add annotation queue interactions returns "Bad Request" response |
| 13 | + Given operation "CreateLLMObsAnnotationQueueInteractions" enabled |
| 14 | + And new "CreateLLMObsAnnotationQueueInteractions" request |
| 15 | + And request contains "queue_id" parameter from "REPLACE.ME" |
| 16 | + And body with value {"data": {"attributes": {"interactions": [{"content_id": "trace-abc-123", "type": "trace"}]}, "type": "interactions"}} |
| 17 | + When the request is sent |
| 18 | + Then the response status is 400 Bad Request |
| 19 | + |
| 20 | + @generated @skip @team:DataDog/ml-observability |
| 21 | + Scenario: Add annotation queue interactions returns "Created" response |
| 22 | + Given operation "CreateLLMObsAnnotationQueueInteractions" enabled |
| 23 | + And new "CreateLLMObsAnnotationQueueInteractions" request |
| 24 | + And request contains "queue_id" parameter from "REPLACE.ME" |
| 25 | + And body with value {"data": {"attributes": {"interactions": [{"content_id": "trace-abc-123", "type": "trace"}]}, "type": "interactions"}} |
| 26 | + When the request is sent |
| 27 | + Then the response status is 201 Created |
| 28 | + |
| 29 | + @generated @skip @team:DataDog/ml-observability |
| 30 | + Scenario: Add annotation queue interactions returns "Not Found" response |
| 31 | + Given operation "CreateLLMObsAnnotationQueueInteractions" enabled |
| 32 | + And new "CreateLLMObsAnnotationQueueInteractions" request |
| 33 | + And request contains "queue_id" parameter from "REPLACE.ME" |
| 34 | + And body with value {"data": {"attributes": {"interactions": [{"content_id": "trace-abc-123", "type": "trace"}]}, "type": "interactions"}} |
| 35 | + When the request is sent |
| 36 | + Then the response status is 404 Not Found |
| 37 | + |
11 | 38 | @generated @skip @team:DataDog/ml-observability |
12 | 39 | Scenario: Append records to an LLM Observability dataset returns "Bad Request" response |
13 | 40 | Given operation "CreateLLMObsDatasetRecords" enabled |
@@ -48,6 +75,22 @@ Feature: LLM Observability |
48 | 75 | When the request is sent |
49 | 76 | Then the response status is 200 OK |
50 | 77 |
|
| 78 | + @generated @skip @team:DataDog/ml-observability |
| 79 | + Scenario: Create an LLM Observability annotation queue returns "Bad Request" response |
| 80 | + Given operation "CreateLLMObsAnnotationQueue" enabled |
| 81 | + And new "CreateLLMObsAnnotationQueue" request |
| 82 | + And body with value {"data": {"attributes": {"description": "Queue for annotating customer support traces", "name": "My annotation queue", "project_id": "a33671aa-24fd-4dcd-9b33-a8ec7dde7751"}, "type": "queues"}} |
| 83 | + When the request is sent |
| 84 | + Then the response status is 400 Bad Request |
| 85 | + |
| 86 | + @generated @skip @team:DataDog/ml-observability |
| 87 | + Scenario: Create an LLM Observability annotation queue returns "Created" response |
| 88 | + Given operation "CreateLLMObsAnnotationQueue" enabled |
| 89 | + And new "CreateLLMObsAnnotationQueue" request |
| 90 | + And body with value {"data": {"attributes": {"description": "Queue for annotating customer support traces", "name": "My annotation queue", "project_id": "a33671aa-24fd-4dcd-9b33-a8ec7dde7751"}, "type": "queues"}} |
| 91 | + When the request is sent |
| 92 | + Then the response status is 201 Created |
| 93 | + |
51 | 94 | @generated @skip @team:DataDog/ml-observability |
52 | 95 | Scenario: Create an LLM Observability dataset returns "Bad Request" response |
53 | 96 | Given operation "CreateLLMObsDataset" enabled |
@@ -221,6 +264,87 @@ Feature: LLM Observability |
221 | 264 | When the request is sent |
222 | 265 | Then the response status is 204 No Content |
223 | 266 |
|
| 267 | + @generated @skip @team:DataDog/ml-observability |
| 268 | + Scenario: Delete an LLM Observability annotation queue returns "No Content" response |
| 269 | + Given operation "DeleteLLMObsAnnotationQueue" enabled |
| 270 | + And new "DeleteLLMObsAnnotationQueue" request |
| 271 | + And request contains "queue_id" parameter from "REPLACE.ME" |
| 272 | + When the request is sent |
| 273 | + Then the response status is 204 No Content |
| 274 | + |
| 275 | + @generated @skip @team:DataDog/ml-observability |
| 276 | + Scenario: Delete an LLM Observability annotation queue returns "Not Found" response |
| 277 | + Given operation "DeleteLLMObsAnnotationQueue" enabled |
| 278 | + And new "DeleteLLMObsAnnotationQueue" request |
| 279 | + And request contains "queue_id" parameter from "REPLACE.ME" |
| 280 | + When the request is sent |
| 281 | + Then the response status is 404 Not Found |
| 282 | + |
| 283 | + @generated @skip @team:DataDog/ml-observability |
| 284 | + Scenario: Delete annotation queue interactions returns "Bad Request" response |
| 285 | + Given operation "DeleteLLMObsAnnotationQueueInteractions" enabled |
| 286 | + And new "DeleteLLMObsAnnotationQueueInteractions" request |
| 287 | + And request contains "queue_id" parameter from "REPLACE.ME" |
| 288 | + And body with value {"data": {"attributes": {"interaction_ids": ["00000000-0000-0000-0000-000000000000", "00000000-0000-0000-0000-000000000001"]}, "type": "interactions"}} |
| 289 | + When the request is sent |
| 290 | + Then the response status is 400 Bad Request |
| 291 | + |
| 292 | + @generated @skip @team:DataDog/ml-observability |
| 293 | + Scenario: Delete annotation queue interactions returns "No Content" response |
| 294 | + Given operation "DeleteLLMObsAnnotationQueueInteractions" enabled |
| 295 | + And new "DeleteLLMObsAnnotationQueueInteractions" request |
| 296 | + And request contains "queue_id" parameter from "REPLACE.ME" |
| 297 | + And body with value {"data": {"attributes": {"interaction_ids": ["00000000-0000-0000-0000-000000000000", "00000000-0000-0000-0000-000000000001"]}, "type": "interactions"}} |
| 298 | + When the request is sent |
| 299 | + Then the response status is 204 No Content |
| 300 | + |
| 301 | + @generated @skip @team:DataDog/ml-observability |
| 302 | + Scenario: Delete annotation queue interactions returns "Not Found" response |
| 303 | + Given operation "DeleteLLMObsAnnotationQueueInteractions" enabled |
| 304 | + And new "DeleteLLMObsAnnotationQueueInteractions" request |
| 305 | + And request contains "queue_id" parameter from "REPLACE.ME" |
| 306 | + And body with value {"data": {"attributes": {"interaction_ids": ["00000000-0000-0000-0000-000000000000", "00000000-0000-0000-0000-000000000001"]}, "type": "interactions"}} |
| 307 | + When the request is sent |
| 308 | + Then the response status is 404 Not Found |
| 309 | + |
| 310 | + @generated @skip @team:DataDog/ml-observability |
| 311 | + Scenario: Get annotated queue interactions returns "Bad Request" response |
| 312 | + Given operation "GetLLMObsAnnotatedInteractions" enabled |
| 313 | + And new "GetLLMObsAnnotatedInteractions" request |
| 314 | + And request contains "queue_id" parameter from "REPLACE.ME" |
| 315 | + When the request is sent |
| 316 | + Then the response status is 400 Bad Request |
| 317 | + |
| 318 | + @generated @skip @team:DataDog/ml-observability |
| 319 | + Scenario: Get annotated queue interactions returns "Not Found" response |
| 320 | + Given operation "GetLLMObsAnnotatedInteractions" enabled |
| 321 | + And new "GetLLMObsAnnotatedInteractions" request |
| 322 | + And request contains "queue_id" parameter from "REPLACE.ME" |
| 323 | + When the request is sent |
| 324 | + Then the response status is 404 Not Found |
| 325 | + |
| 326 | + @generated @skip @team:DataDog/ml-observability |
| 327 | + Scenario: Get annotated queue interactions returns "OK" response |
| 328 | + Given operation "GetLLMObsAnnotatedInteractions" enabled |
| 329 | + And new "GetLLMObsAnnotatedInteractions" request |
| 330 | + And request contains "queue_id" parameter from "REPLACE.ME" |
| 331 | + When the request is sent |
| 332 | + Then the response status is 200 OK |
| 333 | + |
| 334 | + @generated @skip @team:DataDog/ml-observability |
| 335 | + Scenario: List LLM Observability annotation queues returns "Bad Request" response |
| 336 | + Given operation "ListLLMObsAnnotationQueues" enabled |
| 337 | + And new "ListLLMObsAnnotationQueues" request |
| 338 | + When the request is sent |
| 339 | + Then the response status is 400 Bad Request |
| 340 | + |
| 341 | + @generated @skip @team:DataDog/ml-observability |
| 342 | + Scenario: List LLM Observability annotation queues returns "OK" response |
| 343 | + Given operation "ListLLMObsAnnotationQueues" enabled |
| 344 | + And new "ListLLMObsAnnotationQueues" request |
| 345 | + When the request is sent |
| 346 | + Then the response status is 200 OK |
| 347 | + |
224 | 348 | @generated @skip @team:DataDog/ml-observability |
225 | 349 | Scenario: List LLM Observability dataset records returns "Bad Request" response |
226 | 350 | Given operation "ListLLMObsDatasetRecords" enabled |
@@ -357,6 +481,33 @@ Feature: LLM Observability |
357 | 481 | When the request is sent |
358 | 482 | Then the response status is 200 OK |
359 | 483 |
|
| 484 | + @generated @skip @team:DataDog/ml-observability |
| 485 | + Scenario: Update an LLM Observability annotation queue returns "Bad Request" response |
| 486 | + Given operation "UpdateLLMObsAnnotationQueue" enabled |
| 487 | + And new "UpdateLLMObsAnnotationQueue" request |
| 488 | + And request contains "queue_id" parameter from "REPLACE.ME" |
| 489 | + And body with value {"data": {"attributes": {"description": "Updated description", "name": "Updated queue name"}, "type": "queues"}} |
| 490 | + When the request is sent |
| 491 | + Then the response status is 400 Bad Request |
| 492 | + |
| 493 | + @generated @skip @team:DataDog/ml-observability |
| 494 | + Scenario: Update an LLM Observability annotation queue returns "Not Found" response |
| 495 | + Given operation "UpdateLLMObsAnnotationQueue" enabled |
| 496 | + And new "UpdateLLMObsAnnotationQueue" request |
| 497 | + And request contains "queue_id" parameter from "REPLACE.ME" |
| 498 | + And body with value {"data": {"attributes": {"description": "Updated description", "name": "Updated queue name"}, "type": "queues"}} |
| 499 | + When the request is sent |
| 500 | + Then the response status is 404 Not Found |
| 501 | + |
| 502 | + @generated @skip @team:DataDog/ml-observability |
| 503 | + Scenario: Update an LLM Observability annotation queue returns "OK" response |
| 504 | + Given operation "UpdateLLMObsAnnotationQueue" enabled |
| 505 | + And new "UpdateLLMObsAnnotationQueue" request |
| 506 | + And request contains "queue_id" parameter from "REPLACE.ME" |
| 507 | + And body with value {"data": {"attributes": {"description": "Updated description", "name": "Updated queue name"}, "type": "queues"}} |
| 508 | + When the request is sent |
| 509 | + Then the response status is 200 OK |
| 510 | + |
360 | 511 | @generated @skip @team:DataDog/ml-observability |
361 | 512 | Scenario: Update an LLM Observability dataset returns "Bad Request" response |
362 | 513 | Given operation "UpdateLLMObsDataset" enabled |
|
0 commit comments