n0v33n
commited on
Commit
·
001552b
1
Parent(s):
96239e5
Update changes
Browse files
app.py
CHANGED
|
@@ -80,6 +80,27 @@ def extract_climate_data(api_key, file_path=None, url=None):
|
|
| 80 |
return {"error": f"OCR processing failed: {str(e)}"}
|
| 81 |
|
| 82 |
def process_climate_document(api_key, file, url_input):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 83 |
if file:
|
| 84 |
result = extract_climate_data(api_key, file_path=file.name)
|
| 85 |
elif url_input.strip():
|
|
@@ -119,6 +140,22 @@ def process_climate_document(api_key, file, url_input):
|
|
| 119 |
return output
|
| 120 |
|
| 121 |
def analyze_image(api_key, image):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 122 |
try:
|
| 123 |
client = initialize_client(api_key)
|
| 124 |
buffered = BytesIO()
|
|
|
|
| 80 |
return {"error": f"OCR processing failed: {str(e)}"}
|
| 81 |
|
| 82 |
def process_climate_document(api_key, file, url_input):
|
| 83 |
+
"""
|
| 84 |
+
The function `process_climate_document` extracts climate data from either a file or URL input and
|
| 85 |
+
generates a structured analysis report.
|
| 86 |
+
|
| 87 |
+
:param api_key: The `api_key` parameter is typically a unique identifier or access token that allows
|
| 88 |
+
you to authenticate and access a specific API or service. It is used in the
|
| 89 |
+
`process_climate_document` function to authenticate and make requests to the `extract_climate_data`
|
| 90 |
+
function. You need to provide a valid
|
| 91 |
+
:param file: The `file` parameter in the `process_climate_document` function is used to pass a file
|
| 92 |
+
object containing climate document data. If this parameter is provided, the function will extract
|
| 93 |
+
climate data from the file using the `extract_climate_data` function
|
| 94 |
+
:param url_input: The `url_input` parameter in the `process_climate_document` function is used to
|
| 95 |
+
provide a URL input for extracting climate data. This URL should point to a document or webpage
|
| 96 |
+
containing climate-related information that needs to be analyzed. The function will extract data
|
| 97 |
+
from this URL if it is provided
|
| 98 |
+
:return: The function `process_climate_document` returns a formatted string containing the analysis
|
| 99 |
+
results of a climate document. The output includes information about the document type, title,
|
| 100 |
+
organization, publication date, structured data (in JSON format), extracted climate data, chart
|
| 101 |
+
analysis, and extracted text. If there is an error during the extraction process, it will return an
|
| 102 |
+
error message.
|
| 103 |
+
"""
|
| 104 |
if file:
|
| 105 |
result = extract_climate_data(api_key, file_path=file.name)
|
| 106 |
elif url_input.strip():
|
|
|
|
| 140 |
return output
|
| 141 |
|
| 142 |
def analyze_image(api_key, image):
|
| 143 |
+
"""
|
| 144 |
+
The function `analyze_image` takes an image, analyzes it using a chat model, and returns JSON output
|
| 145 |
+
with information about the image content.
|
| 146 |
+
|
| 147 |
+
:param api_key: The `api_key` parameter is a string that represents the API key required for
|
| 148 |
+
authentication to access the chat API service. This key is used to initialize the client for making
|
| 149 |
+
requests to the service
|
| 150 |
+
:param image: The `analyze_image` function you provided seems to be a Python function that takes an
|
| 151 |
+
API key and an image as input parameters. The function is designed to analyze the image using a chat
|
| 152 |
+
completion model and provide a JSON output with specific fields related to the image content
|
| 153 |
+
:return: The `analyze_image` function returns a JSON string containing information about the
|
| 154 |
+
analyzed image. The JSON output includes fields such as image_type, climate_feature, location,
|
| 155 |
+
date_captured, cloud_density, temperature_anomaly, and description. If the image analysis is
|
| 156 |
+
successful, the function returns the analyzed results in JSON format. If there is an error during
|
| 157 |
+
processing, it returns an error message with default values for
|
| 158 |
+
"""
|
| 159 |
try:
|
| 160 |
client = initialize_client(api_key)
|
| 161 |
buffered = BytesIO()
|