Add search with image functionality
Browse files
app.py
CHANGED
@@ -306,6 +306,7 @@ def encode_text(text, model):
|
|
306 |
|
307 |
def encode_image(image_filename, model):
|
308 |
image = Image.open(image_filename)
|
|
|
309 |
image_embedding = model.vision_model.encode_image([image]).numpy()
|
310 |
return image_embedding
|
311 |
|
@@ -359,8 +360,11 @@ search_buttion = st.button("検索")
|
|
359 |
result_text = st.empty()
|
360 |
|
361 |
if search_buttion or prev_query != query_input:
|
362 |
-
|
363 |
-
|
|
|
|
|
|
|
364 |
|
365 |
if model_type == "画像":
|
366 |
target_vectors = image_vectors
|
|
|
306 |
|
307 |
def encode_image(image_filename, model):
|
308 |
image = Image.open(image_filename)
|
309 |
+
image = ClipVisionModel.remove_alpha_channel(image)
|
310 |
image_embedding = model.vision_model.encode_image([image]).numpy()
|
311 |
return image_embedding
|
312 |
|
|
|
360 |
result_text = st.empty()
|
361 |
|
362 |
if search_buttion or prev_query != query_input:
|
363 |
+
if query_type == "説明文" or query_image is None:
|
364 |
+
prev_query = query_input
|
365 |
+
query_embedding = encode_text(query_input, model)
|
366 |
+
else:
|
367 |
+
query_embedding = encode_image(query_image, model)
|
368 |
|
369 |
if model_type == "画像":
|
370 |
target_vectors = image_vectors
|