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 CHANGED
@@ -12,5 +12,5 @@ __version__: str
12
12
  __version_tuple__: VERSION_TUPLE
13
13
  version_tuple: VERSION_TUPLE
14
14
 
15
- __version__ = version = '0.1.67'
16
- __version_tuple__ = version_tuple = (0, 1, 67)
15
+ __version__ = version = '0.1.69'
16
+ __version_tuple__ = version_tuple = (0, 1, 69)
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.ih.db_conn.pipeline()
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,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: hjxdl
3
- Version: 0.1.67
3
+ Version: 0.1.69
4
4
  Summary: A collection of functions for Jupyter notebooks
5
5
  Home-page: https://github.com/huluxiaohuowa/hdl
6
6
  Author: Jianxing Hu
@@ -1,5 +1,5 @@
1
1
  hdl/__init__.py,sha256=GffnD0jLJdhkd-vo989v40N90sQbofkayRBwxc6TVhQ,72
2
- hdl/_version.py,sha256=FcaV_ACOb2e682h3wmnM4BoU2t4Y9YegpmtQ5bKxxNg,413
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=dkrSWZJcnLFy5ZmT8aDTy2EdvfzWbYOwDjUL47BbmxI,8547
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.67.dist-info/METADATA,sha256=dxyZsd_-4xjvQ6k6WZcaxsxYI6gJzQ38iO2CAFZf2OY,903
140
- hjxdl-0.1.67.dist-info/WHEEL,sha256=cVxcB9AmuTcXqmwrtPhNK88dr7IR_b6qagTj0UvIEbY,91
141
- hjxdl-0.1.67.dist-info/top_level.txt,sha256=-kxwTM5JPhylp06z3zAVO3w6_h7wtBfBo2zgM6YZoTk,4
142
- hjxdl-0.1.67.dist-info/RECORD,,
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