danial0203 commited on
Commit
7e4ce2f
·
verified ·
1 Parent(s): 3864af9

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +23 -23
app.py CHANGED
@@ -96,38 +96,38 @@ Return the response in the following JSON response format:
96
  "max_tokens": 4096
97
  }
98
 
99
- try:
100
- response = requests.post("https://api.openai.com/v1/chat/completions", headers=headers, json=payload)
101
- logging.info(f"Full API response: {response.text}")
102
- if response.status_code == 200:
103
- json_response = response.json()
104
- response_content = json_response["choices"][0]["message"]["content"]
105
- if response_content:
106
- try:
107
- json_string = response_content[response_content.find("{"): response_content.rfind("}") + 1]
108
- json_data = json.loads(json_string)
109
- if "data" in json_data and json_data["data"]:
110
- return json_data["data"]
111
- else:
112
- logging.error(f"No records found in page/file: {page_identifier}")
113
- error_pages.append(page_identifier)
114
- return []
115
- except json.JSONDecodeError:
116
- logging.error(f"JSON parsing error in response for page/file {page_identifier}")
117
  error_pages.append(page_identifier)
118
  return []
119
- else:
120
- logging.error(f"No content in JSON response for page/file {page_identifier}")
121
  error_pages.append(page_identifier)
122
  return []
123
  else:
124
- logging.error(f"Error in API call for page/file {page_identifier}: HTTP {response.status_code} - {response.text}")
125
  error_pages.append(page_identifier)
126
  return []
127
- except requests.exceptions.RequestException as e:
128
- logging.error(f"Network or API error when processing page/file {page_identifier}: {e}")
129
  error_pages.append(page_identifier)
130
  return []
 
 
 
 
131
 
132
  def process_pdf_and_generate_csv(file_path):
133
  error_pages = [] # Initialize the list to track error pages or files
 
96
  "max_tokens": 4096
97
  }
98
 
99
+ try:
100
+ response = requests.post("https://api.openai.com/v1/chat/completions", headers=headers, json=payload)
101
+ logging.info(f"Full API response: {response.text}")
102
+ if response.status_code == 200:
103
+ response_text = response.text
104
+ # Use regex to extract JSON from the API response content
105
+ matches = re.findall(r"```json\n(\{.*?\})\n```", response_text, re.DOTALL)
106
+ if matches:
107
+ try:
108
+ json_data = json.loads(matches[0]) # Assuming the first match is the required JSON data
109
+ if "data" in json_data and json_data["data"]:
110
+ return json_data["data"]
111
+ else:
112
+ logging.error(f"No records found in page/file: {page_identifier}")
 
 
 
 
113
  error_pages.append(page_identifier)
114
  return []
115
+ except json.JSONDecodeError:
116
+ logging.error(f"JSON parsing error in response for page/file {page_identifier}")
117
  error_pages.append(page_identifier)
118
  return []
119
  else:
120
+ logging.error(f"No valid JSON found in response for page/file {page_identifier}")
121
  error_pages.append(page_identifier)
122
  return []
123
+ else:
124
+ logging.error(f"Error in API call for page/file {page_identifier}: HTTP {response.status_code} - {response.text}")
125
  error_pages.append(page_identifier)
126
  return []
127
+ except requests.exceptions.RequestException as e:
128
+ logging.error(f"Network or API error when processing page/file {page_identifier}: {e}")
129
+ error_pages.append(page_identifier)
130
+ return []
131
 
132
  def process_pdf_and_generate_csv(file_path):
133
  error_pages = [] # Initialize the list to track error pages or files