hjxdl 0.1.67__py3-none-any.whl → 0.1.69__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 +44 -3
- {hjxdl-0.1.67.dist-info → hjxdl-0.1.69.dist-info}/METADATA +1 -1
- {hjxdl-0.1.67.dist-info → hjxdl-0.1.69.dist-info}/RECORD +6 -6
- {hjxdl-0.1.67.dist-info → hjxdl-0.1.69.dist-info}/WHEEL +0 -0
- {hjxdl-0.1.67.dist-info → hjxdl-0.1.69.dist-info}/top_level.txt +0 -0
hdl/_version.py
CHANGED
hdl/utils/llm/vis.py
CHANGED
@@ -9,6 +9,8 @@ from PIL import Image
|
|
9
9
|
# from transformers import ChineseCLIPProcessor, ChineseCLIPModel
|
10
10
|
import open_clip
|
11
11
|
import natsort
|
12
|
+
from redis.commands.search.field import VectorField
|
13
|
+
from redis.commands.search.indexDefinition import IndexDefinition, IndexType
|
12
14
|
|
13
15
|
from ..database_tools.connect import conn_redis
|
14
16
|
|
@@ -254,7 +256,7 @@ class ImgHandler:
|
|
254
256
|
"""
|
255
257
|
sorted_imgs = natsort.natsorted(images)
|
256
258
|
img_feats = self.get_img_features(sorted_imgs, to_numpy=True)
|
257
|
-
pipeline = self.
|
259
|
+
pipeline = self.db_conn.pipeline()
|
258
260
|
for img_file, emb in zip(sorted_imgs, img_feats):
|
259
261
|
# 初始化 Redis,先使用 img 文件名作为 Key 和 Value,后续再更新为图片特征向量
|
260
262
|
# pipeline.json().set(img_file, "$", img_file)
|
@@ -263,8 +265,47 @@ class ImgHandler:
|
|
263
265
|
"emb": emb,
|
264
266
|
"data": imgfile_to_base64(img_file)
|
265
267
|
}
|
266
|
-
pipeline.json().set(img_file, "$", emb_json)
|
268
|
+
pipeline.json().set(f"pic-{img_file}", "$", emb_json)
|
267
269
|
res = pipeline.execute()
|
268
|
-
print('redis set:', res)
|
270
|
+
# print('redis set:', res)
|
271
|
+
|
272
|
+
schema = (
|
273
|
+
VectorField(
|
274
|
+
"$.emb", # 这是 JSON 中存储向量的路径
|
275
|
+
"FLAT", # 使用 FLAT 索引类型
|
276
|
+
{
|
277
|
+
"TYPE": "FLOAT32", # 向量类型
|
278
|
+
"DIM": self.num_vec_dim, # 向量维度,必须与实际数据的维度一致
|
279
|
+
"DISTANCE_METRIC": "COSINE", # 余弦相似度作为距离度量
|
280
|
+
},
|
281
|
+
as_name="vector", # 给这个字段定义一个别名,后续可以使用
|
282
|
+
),
|
283
|
+
)
|
284
|
+
vector_idx_name = "idx:pic_idx"
|
285
|
+
definition = IndexDefinition(
|
286
|
+
prefix=["pic-"],
|
287
|
+
index_type=IndexType.JSON
|
288
|
+
)
|
289
|
+
res = self.db_conn.ft(
|
290
|
+
vector_idx_name
|
291
|
+
).create_index(
|
292
|
+
fields=schema,
|
293
|
+
definition=definition
|
294
|
+
)
|
295
|
+
print("create_index:", res)
|
296
|
+
|
297
|
+
@property
|
298
|
+
def pic_idx_info(self):
|
299
|
+
res = self.db_conn.ping()
|
300
|
+
print("redis connected:", res)
|
301
|
+
|
302
|
+
vector_idx_name = "idx:pic_idx"
|
303
|
+
|
304
|
+
# 从 Redis 数据库中读取索引状态
|
305
|
+
info = self.db_conn.ft(vector_idx_name).info()
|
306
|
+
# 获取索引状态中的 num_docs 和 hash_indexing_failures
|
307
|
+
num_docs = info["num_docs"]
|
308
|
+
indexing_failures = info["hash_indexing_failures"]
|
309
|
+
print(f"{num_docs} documents indexed with {indexing_failures} failures")
|
269
310
|
|
270
311
|
|
@@ -1,5 +1,5 @@
|
|
1
1
|
hdl/__init__.py,sha256=GffnD0jLJdhkd-vo989v40N90sQbofkayRBwxc6TVhQ,72
|
2
|
-
hdl/_version.py,sha256=
|
2
|
+
hdl/_version.py,sha256=lVXaDORAcShTMS0Ix_T7zlcXAGst1lAMus_P8nq4GD4,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
|
@@ -131,12 +131,12 @@ hdl/utils/llm/chat.py,sha256=sk7Lw5Oa30k-l2fnJknkMmTc5zkBeEKsR981aeFhH5s,11907
|
|
131
131
|
hdl/utils/llm/embs.py,sha256=Tf0FOYrOFZp7qQpEPiSCXzlgyHH0X9HVTUtsup74a9E,7174
|
132
132
|
hdl/utils/llm/extract.py,sha256=2sK_WJzmYIc8iuWaM9DA6Nw3_6q1O4lJ5pKpcZo-bBA,6512
|
133
133
|
hdl/utils/llm/llama_chat.py,sha256=watcHGOaz-bv3x-yDucYlGk5f8FiqfFhwWogrl334fk,4387
|
134
|
-
hdl/utils/llm/vis.py,sha256=
|
134
|
+
hdl/utils/llm/vis.py,sha256=BygpjORSwbe_7SmThzt_OvzsrEym7FwCk6fubGyiDDc,10097
|
135
135
|
hdl/utils/schedulers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
136
136
|
hdl/utils/schedulers/norm_lr.py,sha256=bDwCmdEK-WkgxQMFBiMuchv8Mm7C0-GZJ6usm-PQk14,4461
|
137
137
|
hdl/utils/weather/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
138
138
|
hdl/utils/weather/weather.py,sha256=k11o6wM15kF8b9NMlEfrg68ak-SfSYLN3nOOflFUv-I,4381
|
139
|
-
hjxdl-0.1.
|
140
|
-
hjxdl-0.1.
|
141
|
-
hjxdl-0.1.
|
142
|
-
hjxdl-0.1.
|
139
|
+
hjxdl-0.1.69.dist-info/METADATA,sha256=LZ8Y6-VsUCMYG1AQ5n-GBzff1lwfa-hOev1wT79OULc,903
|
140
|
+
hjxdl-0.1.69.dist-info/WHEEL,sha256=cVxcB9AmuTcXqmwrtPhNK88dr7IR_b6qagTj0UvIEbY,91
|
141
|
+
hjxdl-0.1.69.dist-info/top_level.txt,sha256=-kxwTM5JPhylp06z3zAVO3w6_h7wtBfBo2zgM6YZoTk,4
|
142
|
+
hjxdl-0.1.69.dist-info/RECORD,,
|
File without changes
|
File without changes
|