How to ask multiple questions on the same context input

Hi All, I am working on a use-case where the task is to extract following entities from first page of scientific article PDF: title, authors, affiliations, abstract and keywords. Currently, I am passing the full page text as input and prompting the model to extract all these entities (and granular details) as a JSON. However, with this approach model still makes many mistakes as the number of entities are bit too much for the model to extract in one go. So, I was thinking of splitting this into granular tasks, where in each time I prompt the model to give one entity (for eg. authors) so that it will perform better on each specific task. Is there a way I can do it with GPT3.5-Turbo chat API such that I don’t have to pass the context (full page text) each time and rather just pass it once and prompt model multiple times.

Short answer is no and I would actually doubt that would make much of a difference but without seeing your prompt that’s speculation. Could you share a prompt that isn’t working and maybe we can help tune it so that it works better.

My system message as below:

Extract title, abstract, authorship (author and affiliation) and keyword entities from the first page text of scientific article delimited by backticks.Provide them in JSON format with the following keys:
title: Title of the article (as string)
abstract: Abstract of the article exactly as it is(as string). If there are multiple sections in abstract, inlude all of them and the section names too which usually are followed by a colon mark. If there are resume or keywords section in abstract, don’t include them in the abstract. Ιf no abstract section exists, return only an empty string.
authorship: A dictionary with the following two keys:
1 affiliations: A dictionary with keys as referenced in author detail and its value as affiliation string. If address of affiliation is present, include it in the affiliation. If keys are not incremental numbers, convert them.
2 authors: A list of dictionaries, each dictionary containing two keys:
(i) author_fullname (as string): If there are job roles exclude them and return only the full name, else return the full name of author.
(ii) author_affiliations (as list of affiliation keys as strings) of each author:

keywords: List of keywords (as List of strings) only if keywords section exists, else return an empty list.

Since, I am asking the model to extract too many granular entities at once, I suspect it is failing to extract everything correctly. Hence I was thinking of asking for each entity details at each time keeping the same context, because passing the context 5-6 times will incur 5-6x cost.