I would just keep working on your prompt.
Here is an example of a schema I add at the end of my prompt. After examples.
{
“$schema”: “http://json-schema.org/draft-07/schema#”,
“type”: “object”,
“properties”: {
“reviews”: {
“type”: “array”,
“items”: {
“type”: “object”,
“properties”: {
“review_id”: {
“type”: “string”,
“description”: “Unique identifier for the review”
},
“text”: {
“type”: “string”,
“description”: “The review text”
},
“review_rating”: {
“type”: “integer”,
“description”: “Overall rating given by the reviewer”
},
“sentiment”: {
“type”: “integer”,
“description”: “Sentiment score of the review”
},
“dishes”: {
“type”: “object”,
“description”: “Specific dishes mentioned in the review along with their ratings”,
“properties”: {
“wine pairing events”: {
“type”: “integer”
},
“selection”: {
“type”: “integer”
},
“quick bite”: {
“type”: “integer”
},
“Spicy Pilgrim”: {
“type”: “integer”
}
}
},
“value”: {
“type”: “integer”,
“description”: “Rating for the value of the experience”
},
“food_quality”: {
“type”: “integer”,
“description”: “Rating for the quality of food”
},
“food_taste”: {
“type”: “integer”,
“description”: “Rating for the taste of food”
},
“atmosphere”: {
“type”: “integer”,
“description”: “Rating for the atmosphere”
},
“service”: {
“type”: “integer”,
“description”: “Rating for the service”
},
“journey”: {
“type”: “object”,
“description”: “Ratings for different stages of the dining journey”,
“properties”: {
“Booking”: {
“type”: “integer”
},
“Arrival”: {
“type”: “integer”
},
“Ordering”: {
“type”: “integer”
},
“Dining”: {
“type”: “integer”
},
“Payment”: {
“type”: “integer”
},
“PostVisit”: {
“type”: “integer”
}
}
}
},
“required”: [“review_id”, “text”, “review_rating”, “sentiment”, “dishes”, “value”, “food_quality”, “food_taste”, “atmosphere”, “service”, “journey”]
}
}
},
“required”: [“reviews”]
}