hjxdl 0.2.24__py3-none-any.whl → 0.2.25__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- hdl/_version.py +2 -2
- hdl/utils/llm/vis.py +19 -4
- {hjxdl-0.2.24.dist-info → hjxdl-0.2.25.dist-info}/METADATA +1 -1
- {hjxdl-0.2.24.dist-info → hjxdl-0.2.25.dist-info}/RECORD +6 -6
- {hjxdl-0.2.24.dist-info → hjxdl-0.2.25.dist-info}/WHEEL +0 -0
- {hjxdl-0.2.24.dist-info → hjxdl-0.2.25.dist-info}/top_level.txt +0 -0
hdl/_version.py
CHANGED
hdl/utils/llm/vis.py
CHANGED
@@ -4,6 +4,7 @@ import base64
|
|
4
4
|
from io import BytesIO
|
5
5
|
import requests
|
6
6
|
import uuid
|
7
|
+
import hashlib
|
7
8
|
|
8
9
|
import torch
|
9
10
|
import numpy as np
|
@@ -132,8 +133,8 @@ class ImgHandler:
|
|
132
133
|
def __init__(
|
133
134
|
self,
|
134
135
|
model_path,
|
135
|
-
db_host,
|
136
|
-
db_port,
|
136
|
+
db_host = "127.0.0.1",
|
137
|
+
db_port = 8888,
|
137
138
|
conn=None,
|
138
139
|
model_name: str = None,
|
139
140
|
device: str = "cpu",
|
@@ -353,7 +354,7 @@ class ImgHandler:
|
|
353
354
|
conn=None,
|
354
355
|
print_idx_info: bool = False,
|
355
356
|
):
|
356
|
-
"""Save image features to a Redis database.
|
357
|
+
"""Save image features to a Redis database, avoiding duplicates.
|
357
358
|
|
358
359
|
Args:
|
359
360
|
images (list): A list of image file paths.
|
@@ -370,6 +371,7 @@ class ImgHandler:
|
|
370
371
|
if conn is None:
|
371
372
|
conn = self.db_conn
|
372
373
|
pipeline = conn.pipeline()
|
374
|
+
|
373
375
|
for img_file, emb in tqdm(zip(sorted_imgs, img_feats)):
|
374
376
|
if img_file.startswith("data:"):
|
375
377
|
img_data = img_file
|
@@ -378,13 +380,26 @@ class ImgHandler:
|
|
378
380
|
img_data = imgfile_to_base64(img_file)
|
379
381
|
img_idx = f"pic-{img_file}"
|
380
382
|
|
383
|
+
# 使用图片特征生成唯一哈希值
|
384
|
+
emb_hash = hashlib.sha256(emb.tobytes()).hexdigest()
|
385
|
+
|
386
|
+
# 检查该哈希值是否已存在,避免重复存储
|
387
|
+
if conn.exists(f"pic-hash-{emb_hash}"):
|
388
|
+
print(f"Image {img_file} already exists, skipping.")
|
389
|
+
continue
|
390
|
+
|
391
|
+
# 存储新图片的特征和数据
|
381
392
|
emb = emb.astype(np.float32).tolist()
|
382
393
|
emb_json = {
|
383
394
|
"emb": emb,
|
384
395
|
"data": img_data
|
385
396
|
}
|
386
397
|
pipeline.json().set(img_idx, "$", emb_json)
|
387
|
-
|
398
|
+
|
399
|
+
# 将哈希值作为键存储,以便后续检查
|
400
|
+
pipeline.set(f"pic-hash-{emb_hash}", img_idx)
|
401
|
+
|
402
|
+
res = pipeline.execute()
|
388
403
|
|
389
404
|
# 定义向量索引的schema
|
390
405
|
schema = (
|
@@ -1,5 +1,5 @@
|
|
1
1
|
hdl/__init__.py,sha256=GffnD0jLJdhkd-vo989v40N90sQbofkayRBwxc6TVhQ,72
|
2
|
-
hdl/_version.py,sha256=
|
2
|
+
hdl/_version.py,sha256=UmsAAHFuqYBzGCBQpGNQPt7zCgBErX1ViQbYB7gdPPg,413
|
3
3
|
hdl/args/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
4
4
|
hdl/args/loss_args.py,sha256=s7YzSdd7IjD24rZvvOrxLLFqMZQb9YylxKeyelSdrTk,70
|
5
5
|
hdl/controllers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -132,13 +132,13 @@ hdl/utils/llm/chatgr.py,sha256=GO2G7g6YybduA5VCUuGjvEsJfC_6L7rycSnPeHMcxyM,2820
|
|
132
132
|
hdl/utils/llm/embs.py,sha256=Tf0FOYrOFZp7qQpEPiSCXzlgyHH0X9HVTUtsup74a9E,7174
|
133
133
|
hdl/utils/llm/extract.py,sha256=2sK_WJzmYIc8iuWaM9DA6Nw3_6q1O4lJ5pKpcZo-bBA,6512
|
134
134
|
hdl/utils/llm/llama_chat.py,sha256=watcHGOaz-bv3x-yDucYlGk5f8FiqfFhwWogrl334fk,4387
|
135
|
-
hdl/utils/llm/vis.py,sha256=
|
135
|
+
hdl/utils/llm/vis.py,sha256=skeoBgFNes8swPBeWIsn3oKZ4Jv4Cl5GGrxsRDNupac,16854
|
136
136
|
hdl/utils/llm/visrag.py,sha256=_PuKtmQIXD5bnmXwDWhTLdzOhgC42JiqdMNb1uKA7n8,9190
|
137
137
|
hdl/utils/schedulers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
138
138
|
hdl/utils/schedulers/norm_lr.py,sha256=bDwCmdEK-WkgxQMFBiMuchv8Mm7C0-GZJ6usm-PQk14,4461
|
139
139
|
hdl/utils/weather/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
140
140
|
hdl/utils/weather/weather.py,sha256=k11o6wM15kF8b9NMlEfrg68ak-SfSYLN3nOOflFUv-I,4381
|
141
|
-
hjxdl-0.2.
|
142
|
-
hjxdl-0.2.
|
143
|
-
hjxdl-0.2.
|
144
|
-
hjxdl-0.2.
|
141
|
+
hjxdl-0.2.25.dist-info/METADATA,sha256=i8tbHzSQf9nal7CU2P7Whe3AChbtkBHJPUIIKQaVqQo,836
|
142
|
+
hjxdl-0.2.25.dist-info/WHEEL,sha256=OVMc5UfuAQiSplgO0_WdW7vXVGAt9Hdd6qtN4HotdyA,91
|
143
|
+
hjxdl-0.2.25.dist-info/top_level.txt,sha256=-kxwTM5JPhylp06z3zAVO3w6_h7wtBfBo2zgM6YZoTk,4
|
144
|
+
hjxdl-0.2.25.dist-info/RECORD,,
|
File without changes
|
File without changes
|