Spaces:
Sleeping
Sleeping
wjm55
commited on
Commit
·
08bb4cc
1
Parent(s):
9a02fc3
Enhance image search results display by adding distance metadata and updating the results table. Introduced MetadataQuery for distance calculation and modified the HTML table to include a new column for distance.
Browse files- .gitignore +1 -0
- app.py +6 -1
.gitignore
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
.env
|
app.py
CHANGED
@@ -1,6 +1,7 @@
|
|
1 |
import gradio as gr
|
2 |
from sentence_transformers import SentenceTransformer
|
3 |
import weaviate
|
|
|
4 |
from weaviate.classes.init import Auth
|
5 |
from dotenv import load_dotenv
|
6 |
import os
|
@@ -27,13 +28,15 @@ def search_images(query):
|
|
27 |
query_vector = model.encode(query)
|
28 |
results = lux_collection.query.near_vector(
|
29 |
near_vector=query_vector.tolist(),
|
30 |
-
limit=20
|
|
|
31 |
)
|
32 |
|
33 |
# Format results for display
|
34 |
formatted_results = []
|
35 |
for result in results.objects:
|
36 |
formatted_results.append({
|
|
|
37 |
"label": result.properties['label'],
|
38 |
"lux_url": result.properties['lux_url'],
|
39 |
"image_url": result.properties.get('image_url', "No image available")
|
@@ -61,6 +64,7 @@ def create_interface():
|
|
61 |
html = """
|
62 |
<table style="width:100%; border-collapse: collapse;">
|
63 |
<tr>
|
|
|
64 |
<th style="border: 1px solid #ddd; padding: 8px;">Label</th>
|
65 |
<th style="border: 1px solid #ddd; padding: 8px;">Lux URL</th>
|
66 |
<th style="border: 1px solid #ddd; padding: 8px;">Image</th>
|
@@ -71,6 +75,7 @@ def create_interface():
|
|
71 |
image_cell = f'<img src="{r["image_url"]}" style="max-width:200px; max-height:200px;">' if r["image_url"] and r["image_url"] != "No image available" else "No image available"
|
72 |
html += f"""
|
73 |
<tr>
|
|
|
74 |
<td style="border: 1px solid #ddd; padding: 8px;">{r["label"]}</td>
|
75 |
<td style="border: 1px solid #ddd; padding: 8px;"><a href="{r["lux_url"]}" target="_blank">{r["lux_url"]}</a></td>
|
76 |
<td style="border: 1px solid #ddd; padding: 8px;">{image_cell}</td>
|
|
|
1 |
import gradio as gr
|
2 |
from sentence_transformers import SentenceTransformer
|
3 |
import weaviate
|
4 |
+
from weaviate.classes.query import MetadataQuery
|
5 |
from weaviate.classes.init import Auth
|
6 |
from dotenv import load_dotenv
|
7 |
import os
|
|
|
28 |
query_vector = model.encode(query)
|
29 |
results = lux_collection.query.near_vector(
|
30 |
near_vector=query_vector.tolist(),
|
31 |
+
limit=20,
|
32 |
+
return_metadata=MetadataQuery(distance=True)
|
33 |
)
|
34 |
|
35 |
# Format results for display
|
36 |
formatted_results = []
|
37 |
for result in results.objects:
|
38 |
formatted_results.append({
|
39 |
+
"distance": round(result.metadata.distance, 2),
|
40 |
"label": result.properties['label'],
|
41 |
"lux_url": result.properties['lux_url'],
|
42 |
"image_url": result.properties.get('image_url', "No image available")
|
|
|
64 |
html = """
|
65 |
<table style="width:100%; border-collapse: collapse;">
|
66 |
<tr>
|
67 |
+
<th style="border: 1px solid #ddd; padding: 8px;">Distance</th>
|
68 |
<th style="border: 1px solid #ddd; padding: 8px;">Label</th>
|
69 |
<th style="border: 1px solid #ddd; padding: 8px;">Lux URL</th>
|
70 |
<th style="border: 1px solid #ddd; padding: 8px;">Image</th>
|
|
|
75 |
image_cell = f'<img src="{r["image_url"]}" style="max-width:200px; max-height:200px;">' if r["image_url"] and r["image_url"] != "No image available" else "No image available"
|
76 |
html += f"""
|
77 |
<tr>
|
78 |
+
<td style="border: 1px solid #ddd; padding: 8px;">{r["distance"]}</td>
|
79 |
<td style="border: 1px solid #ddd; padding: 8px;">{r["label"]}</td>
|
80 |
<td style="border: 1px solid #ddd; padding: 8px;"><a href="{r["lux_url"]}" target="_blank">{r["lux_url"]}</a></td>
|
81 |
<td style="border: 1px solid #ddd; padding: 8px;">{image_cell}</td>
|