Skip to content
Draft
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
8 changes: 8 additions & 0 deletions .mock/definition/projects.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1031,12 +1031,20 @@ service:
ids:
type: optional<string>
docs: Comma-separated list of user IDs to filter by
implicit:
type: optional<boolean>
docs: >-
Include/Exclude implicit project members in the results. If not
provided, explicit + implicit members are returned.
no_annotators:
type: optional<boolean>
docs: Exclude annotators from the results
page:
type: optional<integer>
docs: A page number within the paginated result set.
page_size:
type: optional<integer>
docs: Number of results to return per page.
search:
type: optional<string>
docs: Search term for filtering members by name, email, or username
Expand Down
115 changes: 115 additions & 0 deletions .mock/definition/stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,19 @@
types:
ApiProjectsModelStatsAgreementRetrieveResponse:
properties:
agreement: optional<double>
source:
openapi: openapi/openapi.yaml
ApiProjectsModelStatsAgreementGroundtruthRetrieveResponse:
properties:
agreement: optional<double>
source:
openapi: openapi/openapi.yaml
ApiProjectsModelStatsPredictionRetrieveResponse:
properties:
average_prediction_agreement_per_model: optional<double>
source:
openapi: openapi/openapi.yaml
ApiProjectsStatsAgreementAnnotatorRetrieveResponse:
properties:
Agreement_per_annotator:
Expand Down Expand Up @@ -55,6 +70,106 @@ service:
auth: false
base-path: ''
endpoints:
api_projects_model_stats_agreement_retrieve:
path: /api/projects/{id}/model-stats/{model_version}/agreement
method: GET
auth: true
docs: >-
Overall agreement between a given model version's predictions and all
annotators on overlapping tasks.

Computed as the average of per-annotator agreement vs this model version
over annotators who overlap on at least one task.

Mirrors IAA per annotator, but one side is the model.

:return: {"agreement": float[0..1]}
source:
openapi: openapi/openapi.yaml
path-parameters:
id: integer
model_version: string
display-name: Get model-version overall agreement vs annotators
response:
docs: Model-version overall agreement vs annotators
type: ApiProjectsModelStatsAgreementRetrieveResponse
examples:
- path-parameters:
id: 1
model_version: model_version
response:
body:
agreement: 1.1
api_projects_model_stats_agreement_groundtruth_retrieve:
path: /api/projects/{id}/model-stats/{model_version}/agreement-groundtruth
method: GET
auth: true
docs: >-
Ground truth agreement for annotations that match predictions of a
specific model version.

This mirrors gt_per_user_agreement but filters stats by tasks where
predictions have given model_version.

:return: {"agreement": float[0..1]}
source:
openapi: openapi/openapi.yaml
path-parameters:
id: integer
model_version: string
display-name: Get model-version ground truth agreement
request:
name: ApiProjectsModelStatsAgreementGroundtruthRetrieveRequest
query-parameters:
per_label:
type: optional<boolean>
default: false
docs: Calculate agreement per label
response:
docs: Model-version ground truth agreement
type: ApiProjectsModelStatsAgreementGroundtruthRetrieveResponse
examples:
- path-parameters:
id: 1
model_version: model_version
response:
body:
agreement: 1.1
api_projects_model_stats_prediction_retrieve:
path: /api/projects/{id}/model-stats/{model_version}/prediction
method: GET
auth: true
docs: >-
Mean agreement of annotator annotations vs predictions for a specific
model version.

Mirrors prediction_per_user_agreement but filtered by
prediction.model_version.

:return: {"average_prediction_agreement_per_model": float[0..1]}
source:
openapi: openapi/openapi.yaml
path-parameters:
id: integer
model_version: string
display-name: Get model-version prediction agreement
request:
name: ApiProjectsModelStatsPredictionRetrieveRequest
query-parameters:
per_label:
type: optional<boolean>
default: false
docs: Calculate agreement per label
response:
docs: Model-version prediction agreement
type: ApiProjectsModelStatsPredictionRetrieveResponse
examples:
- path-parameters:
id: 1
model_version: model_version
response:
body:
average_prediction_agreement_per_model: 1.1
api_projects_stats_agreement_annotator_retrieve:
path: /api/projects/{id}/stats/agreement_annotator/{user_id}
method: GET
Expand Down
123 changes: 123 additions & 0 deletions .mock/openapi/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7262,6 +7262,11 @@ paths:
name: ids
schema:
type: string
- description: Include/Exclude implicit project members in the results. If not provided, explicit + implicit members are returned.
in: query
name: implicit
schema:
type: boolean
- description: Exclude annotators from the results
in: query
name: no_annotators
Expand All @@ -7273,6 +7278,12 @@ paths:
required: false
schema:
type: integer
- description: Number of results to return per page.
in: query
name: page_size
required: false
schema:
type: integer
- description: Search term for filtering members by name, email, or username
in: query
name: search
Expand All @@ -7295,6 +7306,118 @@ paths:
summary: Get project members paginated
tags:
- Projects
/api/projects/{id}/model-stats/{model_version}/agreement:
get:
description: |-
Overall agreement between a given model version's predictions and all annotators on overlapping tasks.
Computed as the average of per-annotator agreement vs this model version over annotators who overlap on at least one task.
Mirrors IAA per annotator, but one side is the model.
:return: {"agreement": float[0..1]}
operationId: api_projects_model_stats_agreement_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
- in: path
name: model_version
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
properties:
agreement:
type: number
type: object
description: Model-version overall agreement vs annotators
security:
- Token: []
summary: Get model-version overall agreement vs annotators
tags:
- Stats
/api/projects/{id}/model-stats/{model_version}/agreement-groundtruth:
get:
description: |-
Ground truth agreement for annotations that match predictions of a specific model version.
This mirrors gt_per_user_agreement but filters stats by tasks where predictions have given model_version.
:return: {"agreement": float[0..1]}
operationId: api_projects_model_stats_agreement_groundtruth_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
- in: path
name: model_version
required: true
schema:
type: string
- description: Calculate agreement per label
in: query
name: per_label
schema:
default: false
type: boolean
responses:
'200':
content:
application/json:
schema:
properties:
agreement:
type: number
type: object
description: Model-version ground truth agreement
security:
- Token: []
summary: Get model-version ground truth agreement
tags:
- Stats
/api/projects/{id}/model-stats/{model_version}/prediction:
get:
description: |-
Mean agreement of annotator annotations vs predictions for a specific model version.
Mirrors prediction_per_user_agreement but filtered by prediction.model_version.
:return: {"average_prediction_agreement_per_model": float[0..1]}
operationId: api_projects_model_stats_prediction_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
- in: path
name: model_version
required: true
schema:
type: string
- description: Calculate agreement per label
in: query
name: per_label
schema:
default: false
type: boolean
responses:
'200':
content:
application/json:
schema:
properties:
average_prediction_agreement_per_model:
type: number
type: object
description: Model-version prediction agreement
security:
- Token: []
summary: Get model-version prediction agreement
tags:
- Stats
/api/projects/{id}/project-extra-params/:
get:
description: Retrieve the annotator weights for statistics and Cohen's Kappa for a specific project.
Expand Down
Loading