Update app.py
Browse files
app.py
CHANGED
@@ -33,13 +33,16 @@ def query_openai(messages, temperature, top_p, max_output_tokens):
|
|
33 |
# Function to process image URL input
|
34 |
def image_url_chat(image_url, text_query, temperature, top_p, max_output_tokens):
|
35 |
messages = [
|
36 |
-
{"role": "user", "content": [
|
|
|
|
|
|
|
37 |
]
|
38 |
return query_openai(messages, temperature, top_p, max_output_tokens)
|
39 |
|
40 |
# Function to process text input
|
41 |
def text_chat(text_query, temperature, top_p, max_output_tokens):
|
42 |
-
messages = [{"role": "user", "content": text_query}]
|
43 |
return query_openai(messages, temperature, top_p, max_output_tokens)
|
44 |
|
45 |
# Function to process uploaded image input
|
@@ -50,11 +53,14 @@ def image_chat(image_file, text_query, temperature, top_p, max_output_tokens):
|
|
50 |
# Encode image as base64
|
51 |
with open(image_file, "rb") as img:
|
52 |
base64_image = base64.b64encode(img.read()).decode("utf-8")
|
53 |
-
|
54 |
image_data = f"data:image/jpeg;base64,{base64_image}"
|
55 |
-
|
56 |
messages = [
|
57 |
-
{"role": "user", "content": [
|
|
|
|
|
|
|
58 |
]
|
59 |
return query_openai(messages, temperature, top_p, max_output_tokens)
|
60 |
|
@@ -68,7 +74,10 @@ def pdf_chat(pdf_file, text_query, temperature, top_p, max_output_tokens):
|
|
68 |
text = "\n".join([page.get_text("text") for page in doc][:5]) # Limit extraction for performance
|
69 |
|
70 |
messages = [
|
71 |
-
{"role": "user", "content": [
|
|
|
|
|
|
|
72 |
]
|
73 |
return query_openai(messages, temperature, top_p, max_output_tokens)
|
74 |
|
|
|
33 |
# Function to process image URL input
|
34 |
def image_url_chat(image_url, text_query, temperature, top_p, max_output_tokens):
|
35 |
messages = [
|
36 |
+
{"role": "user", "content": [
|
37 |
+
{"type": "image_url", "image_url": {"url": image_url}}, # Corrected format
|
38 |
+
{"type": "text", "text": text_query}
|
39 |
+
]}
|
40 |
]
|
41 |
return query_openai(messages, temperature, top_p, max_output_tokens)
|
42 |
|
43 |
# Function to process text input
|
44 |
def text_chat(text_query, temperature, top_p, max_output_tokens):
|
45 |
+
messages = [{"role": "user", "content": [{"type": "text", "text": text_query}]}]
|
46 |
return query_openai(messages, temperature, top_p, max_output_tokens)
|
47 |
|
48 |
# Function to process uploaded image input
|
|
|
53 |
# Encode image as base64
|
54 |
with open(image_file, "rb") as img:
|
55 |
base64_image = base64.b64encode(img.read()).decode("utf-8")
|
56 |
+
|
57 |
image_data = f"data:image/jpeg;base64,{base64_image}"
|
58 |
+
|
59 |
messages = [
|
60 |
+
{"role": "user", "content": [
|
61 |
+
{"type": "image_url", "image_url": {"url": image_data}}, # Fixed format
|
62 |
+
{"type": "text", "text": text_query}
|
63 |
+
]}
|
64 |
]
|
65 |
return query_openai(messages, temperature, top_p, max_output_tokens)
|
66 |
|
|
|
74 |
text = "\n".join([page.get_text("text") for page in doc][:5]) # Limit extraction for performance
|
75 |
|
76 |
messages = [
|
77 |
+
{"role": "user", "content": [
|
78 |
+
{"type": "text", "text": text}, # Fixed format
|
79 |
+
{"type": "text", "text": text_query}
|
80 |
+
]}
|
81 |
]
|
82 |
return query_openai(messages, temperature, top_p, max_output_tokens)
|
83 |
|