Spaces:
Running
on
Zero
Running
on
Zero
File size: 1,435 Bytes
e1aa577 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
# A file containing the json schema for the output of all the LLM chains
prediction_schema = {
"$defs": {
"Result": {
"description": "A single result",
"properties": {
"id": {
"description": "The sample id",
"title": "Id",
"type": "integer"
},
"prediction": {
"description": "The prediction of the sample.",
"title": "Prediction",
"type": "string"
}
},
"required": [
"id",
"prediction"
],
"title": "Result",
"type": "object"
}
},
"description": "A List of task classification results",
"properties": {
"results": {
"description": "Each item contain the id and the prediction of the sample",
"items": {
"$ref": "#/$defs/Result"
},
"title": "Results",
"type": "array"
}
},
"required": [
"results"
],
"title": "Results_List",
"type": "object"
}
def update_classification_prediction_schema(schema, label_schema:list)->dict:
"""
Updates the classification prediction schema with the label schema from the yaml file
:param yaml_data: The yaml data
"""
schema['$defs']['Result']['properties']['prediction']['enum'] = label_schema
schema['$defs']['Result']['properties']['prediction'][
'description'] += 'The answer must be one of the following options: {} !!'.format(label_schema)
return schema |