miscs
This commit is contained in:
+42
-3
@@ -20,7 +20,7 @@ parser.add_argument("--refaire", action="store_true",
|
||||
help="Redo specific copies/labels defined in refaire.json")
|
||||
parser.add_argument("--batch", action="store_true",
|
||||
help="Generate a JSONL file of requests to send to the Gemini Batch API")
|
||||
parser.add_argument("--deal-with-batched", type=str, metavar="FILE",
|
||||
parser.add_argument("--deal-with-batched", action="store_true",
|
||||
help="Process a JSONL file containing completed batch results")
|
||||
args, _ = parser.parse_known_args()
|
||||
|
||||
@@ -236,6 +236,44 @@ class EvaluationEntry(BaseModel):
|
||||
id: str = Field(description="Entry identifier")
|
||||
result: ResultData = Field(description="Result details")
|
||||
|
||||
# These nested definitions do not work with the batch api, unroll them
|
||||
UNROLLED_SCHEMA = {
|
||||
"type": "ARRAY",
|
||||
"items": {
|
||||
"type": "OBJECT",
|
||||
"properties": {
|
||||
"id": {"type": "STRING", "description": "Entry identifier"},
|
||||
"result": {
|
||||
"type": "OBJECT",
|
||||
"properties": {
|
||||
"score": {"type": "NUMBER", "description": "The numeric score"},
|
||||
"confidence": {"type": "NUMBER", "description": "Confidence level"},
|
||||
"error": {"type": "STRING", "description": "Indicates if an error occurred"},
|
||||
"feedback": {
|
||||
"type": "ARRAY",
|
||||
"description": "List of feedback items",
|
||||
"items": {
|
||||
"type": "OBJECT",
|
||||
"properties": {
|
||||
"text": {"type": "STRING", "description": "Feedback content"},
|
||||
"box_2d": {
|
||||
"type": "ARRAY",
|
||||
"items": {"type": "INTEGER"},
|
||||
"nullable": True,
|
||||
"description": "box coordinates or null"
|
||||
}
|
||||
},
|
||||
"required": ["text"]
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": ["score", "confidence", "feedback", "error"]
|
||||
}
|
||||
},
|
||||
"required": ["id", "result"]
|
||||
}
|
||||
}
|
||||
|
||||
# The root model for parsing is be: List[EvaluationEntry]
|
||||
def generate_request(file, full_label):
|
||||
"""Generates request for Gemini."""
|
||||
@@ -780,7 +818,8 @@ if __name__ == "__main__":
|
||||
"topP": 0.95,
|
||||
"maxOutputTokens": 65535,
|
||||
"responseMimeType": "application/json",
|
||||
"responseSchema": TypeAdapter(List[EvaluationEntry]).json_schema()
|
||||
"responseSchema": UNROLLED_SCHEMA
|
||||
# TypeAdapter(List[EvaluationEntry]).json_schema()
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -800,7 +839,7 @@ if __name__ == "__main__":
|
||||
|
||||
batched_responses = {}
|
||||
if args.deal_with_batched:
|
||||
batch_results_path = Path(args.deal_with_batched)
|
||||
batch_results_path = Path(INPUT_DIR) / "batched_correction_result.jsonl"
|
||||
if batch_results_path.exists():
|
||||
print(f"Loading batch results from {batch_results_path}...")
|
||||
with open(batch_results_path, "r", encoding="utf-8") as f:
|
||||
|
||||
Reference in New Issue
Block a user