Spaces:
Sleeping
Sleeping
使用google gemi來解釋圖片
Browse files
test.py
CHANGED
@@ -160,6 +160,48 @@ def handle_text_message(event):
|
|
160 |
|
161 |
# === 處理圖片訊息 ===
|
162 |
@handler.add(MessageEvent, message=ImageMessageContent)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
163 |
def handle_image_message(event):
|
164 |
|
165 |
# === 以下是處理圖片回傳部分 === #
|
@@ -222,4 +264,5 @@ def handle_image_message(event):
|
|
222 |
TextMessage(text=response.output_text),
|
223 |
],
|
224 |
)
|
225 |
-
)
|
|
|
|
160 |
|
161 |
# === 處理圖片訊息 ===
|
162 |
@handler.add(MessageEvent, message=ImageMessageContent)
|
163 |
+
def handle_image_message(event):
|
164 |
+
# === 以下是處理圖片回傳部分 === #
|
165 |
+
with ApiClient(configuration) as api_client:
|
166 |
+
blob_api = MessagingApiBlob(api_client)
|
167 |
+
content = blob_api.get_message_content(message_id=event.message.id)
|
168 |
+
|
169 |
+
# Step 4:將圖片存到本地端
|
170 |
+
with tempfile.NamedTemporaryFile(
|
171 |
+
dir=static_tmp_path, suffix=".jpg", delete=False
|
172 |
+
) as tf:
|
173 |
+
tf.write(content)
|
174 |
+
filename = os.path.basename(tf.name)
|
175 |
+
|
176 |
+
image_url = f"https://{base_url}/images/{filename}"
|
177 |
+
|
178 |
+
app.logger.info(f"Image URL: {image_url}")
|
179 |
+
|
180 |
+
# === 以下是解釋圖片 === #
|
181 |
+
image = Image.open(tf.name)
|
182 |
+
response = google_client.models.generate_content(
|
183 |
+
model="gemini-2.0-flash",
|
184 |
+
contents=[image, "用繁體中文描述這張圖片"],
|
185 |
+
)
|
186 |
+
app.logger.info(response.output_text)
|
187 |
+
|
188 |
+
# === 以下是回傳圖片部分 === #
|
189 |
+
|
190 |
+
with ApiClient(configuration) as api_client:
|
191 |
+
line_bot_api = MessagingApi(api_client)
|
192 |
+
line_bot_api.reply_message(
|
193 |
+
ReplyMessageRequest(
|
194 |
+
reply_token=event.reply_token,
|
195 |
+
messages=[
|
196 |
+
ImageMessage(
|
197 |
+
original_content_url=image_url, preview_image_url=image_url
|
198 |
+
),
|
199 |
+
TextMessage(text=response.text),
|
200 |
+
],
|
201 |
+
)
|
202 |
+
)
|
203 |
+
'''
|
204 |
+
@handler.add(MessageEvent, message=ImageMessageContent)
|
205 |
def handle_image_message(event):
|
206 |
|
207 |
# === 以下是處理圖片回傳部分 === #
|
|
|
264 |
TextMessage(text=response.output_text),
|
265 |
],
|
266 |
)
|
267 |
+
)
|
268 |
+
'''
|