-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add Annotator Trainability #244
base: main
Are you sure you want to change the base?
Changes from 17 commits
1f51e6b
0ab43fb
04c329d
89f97db
f332421
720fc2c
eb58bbe
833ae72
f12ad40
c484380
07db3b8
f29ed6f
1032397
7b684dc
e8639ba
0c2c61b
f111d13
0ca3068
83c510b
59f1c6e
be6b00b
0151f12
a4f7ac9
26fe354
f1b1d62
628cd7b
24d94fe
4161b41
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -32,6 +32,13 @@ properties: | |
description: The URL to the homepage of the tool | ||
type: string | ||
format: uri | ||
trainable: | ||
description: Whether the tool implements trainability | ||
type: boolean | ||
default: false | ||
trainedAnnotatorStatus: | ||
description: Information about the trained component of the annotator | ||
$ref: TrainedAnnotatorStatus.yaml | ||
type: | ||
$ref: ../parameters/ToolType.yaml | ||
apiVersion: | ||
|
@@ -50,6 +57,7 @@ required: | |
- url | ||
- type | ||
- apiVersion | ||
- trainable | ||
example: | ||
name: awesome-nlp-tool | ||
version: 1.0.6 | ||
|
@@ -59,5 +67,6 @@ example: | |
author: Awesome Team | ||
authorEmail: [email protected] | ||
url: https://example.com | ||
trainable: false | ||
type: nlpsandbox:date-annotator | ||
apiVersion: 1.2.0 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
type: object | ||
boyleconnor marked this conversation as resolved.
Show resolved
Hide resolved
|
||
description: Information about whether the annotator is using a trained model, and which one it is | ||
properties: | ||
loaded: | ||
description: Whether the annotator is using a trained model | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I would be more descriptive here. For example, whether the trained model is ready to be used for inference. Also the "loading" status may be more related to inference that "training status". Consider moving this property to an "inference status" schema? What about introducing a ToolStatus - or |
||
type: boolean | ||
dataset: | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Where does this value come from? |
||
description: Which dataset the annotator's trained model was trained on | ||
type: string |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
type: string | ||
description: Whether this annotator instance has been used to generate a trained model | ||
enum: | ||
- not yet started | ||
boyleconnor marked this conversation as resolved.
Show resolved
Hide resolved
|
||
- ongoing | ||
- finished |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
get: | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Rename There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. If the endpoint of this path will be There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. What about There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The other one will be |
||
tags: | ||
- Training | ||
summary: Get status of annotator training | ||
description: Get status of the tool's training process (404 if annotator is not trainable) | ||
operationId: getAnnotatorTrainingStatus | ||
responses: | ||
'200': | ||
description: Success | ||
content: | ||
application/json: | ||
schema: | ||
$ref: ../components/schemas/TrainingStatus.yaml | ||
'404': | ||
boyleconnor marked this conversation as resolved.
Show resolved
Hide resolved
|
||
$ref: ../components/responses/NotFound.yaml | ||
'500': | ||
$ref: ../components/responses/InternalServerError.yaml |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
post: | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Loading a trained model is a step of an initialization process. What about having a path |
||
tags: | ||
- Training | ||
summary: Load the results of training | ||
description: Load the results of training (e.g. a machine learning model) into memory from mounted volume | ||
operationId: loadTrainedAnnotator | ||
responses: | ||
'201': | ||
description: Trained annotator loaded | ||
links: | ||
GetTrainingStatus: | ||
operationId: getAnnotatorTrainingStatus | ||
'403': | ||
$ref: ../components/responses/Unauthorized.yaml | ||
'404': | ||
$ref: ../components/responses/NotFound.yaml | ||
'500': | ||
$ref: ../components/responses/InternalServerError.yaml |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
post: | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Name it simply There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The endpoint will be |
||
tags: | ||
- Training | ||
summary: Initiate annotator training (async) | ||
description: Start training the tool's annotation model | ||
operationId: trainAnnotator | ||
responses: | ||
'201': | ||
description: Training initialized | ||
links: | ||
GetTrainingStatus: | ||
operationId: annotatorTrainingStatus | ||
'404': | ||
$ref: ../components/responses/NotFound.yaml | ||
'500': | ||
$ref: ../components/responses/InternalServerError.yaml |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The term "annotator" refers to a specific type of tool. Prefer the term "tool" here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's not efficient to query the entire Tool object just to know this status. I'd keep
Tool
for static information, and create a specific endpoint to get training status information with a light response.