hjxdl 0.2.22__py3-none-any.whl → 0.2.24__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.2.22'
16
- __version_tuple__ = version_tuple = (0, 2, 22)
15
+ __version__ = version = '0.2.24'
16
+ __version_tuple__ = version_tuple = (0, 2, 24)
hdl/utils/llm/vis.py CHANGED
@@ -3,6 +3,7 @@ import json
3
3
  import base64
4
4
  from io import BytesIO
5
5
  import requests
6
+ import uuid
6
7
 
7
8
  import torch
8
9
  import numpy as np
@@ -370,46 +371,52 @@ class ImgHandler:
370
371
  conn = self.db_conn
371
372
  pipeline = conn.pipeline()
372
373
  for img_file, emb in tqdm(zip(sorted_imgs, img_feats)):
373
- # 初始化 Redis,先使用 img 文件名作为 Key 和 Value,后续再更新为图片特征向量
374
- # pipeline.json().set(img_file, "$", img_file)
375
-
376
374
  if img_file.startswith("data:"):
377
375
  img_data = img_file
376
+ img_idx = f"pic-{str(uuid.uuid4())}"
378
377
  else:
379
378
  img_data = imgfile_to_base64(img_file)
379
+ img_idx = f"pic-{img_file}"
380
+
380
381
  emb = emb.astype(np.float32).tolist()
381
382
  emb_json = {
382
383
  "emb": emb,
383
384
  "data": img_data
384
385
  }
385
- pipeline.json().set(f"pic-{img_file}", "$", emb_json)
386
+ pipeline.json().set(img_idx, "$", emb_json)
386
387
  res = pipeline.execute()
387
- # print('redis set:', res)
388
388
 
389
+ # 定义向量索引的schema
389
390
  schema = (
390
391
  VectorField(
391
- "$.emb", # 这是 JSON 中存储向量的路径
392
- "FLAT", # 使用 FLAT 索引类型
392
+ "$.emb",
393
+ "FLAT",
393
394
  {
394
- "TYPE": "FLOAT32", # 向量类型
395
- "DIM": self.num_vec_dim, # 向量维度,必须与实际数据的维度一致
396
- "DISTANCE_METRIC": "COSINE", # 余弦相似度作为距离度量
395
+ "TYPE": "FLOAT32",
396
+ "DIM": self.num_vec_dim,
397
+ "DISTANCE_METRIC": "COSINE",
397
398
  },
398
- as_name="vector", # 给这个字段定义一个别名,后续可以使用
399
+ as_name="vector",
399
400
  ),
400
401
  )
401
- # vector_idx_name = "idx:pic_idx"
402
+ # 定义索引的配置
402
403
  definition = IndexDefinition(
403
404
  prefix=["pic-"],
404
405
  index_type=IndexType.JSON
405
406
  )
406
- res = conn.ft(
407
- self.pic_idx_name
408
- ).create_index(
409
- fields=schema,
410
- definition=definition
411
- )
412
- print("create_index:", res)
407
+
408
+ # 检查索引是否已经存在
409
+ try:
410
+ conn.ft(self.pic_idx_name).info() # 检查索引信息
411
+ print("Index already exists, skipping creation.")
412
+ except Exception:
413
+ # 如果索引不存在,创建新的索引
414
+ res = conn.ft(self.pic_idx_name).create_index(
415
+ fields=schema,
416
+ definition=definition
417
+ )
418
+ print("create_index:", res)
419
+
413
420
  if print_idx_info:
414
421
  print(self.pic_idx_info)
415
422
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: hjxdl
3
- Version: 0.2.22
3
+ Version: 0.2.24
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=5ycumF1SXokoLWwEctuNnj-E21mPwtpW7rXb4plLYco,413
2
+ hdl/_version.py,sha256=60O-fkBLileJecASMvt-pFLFn9U7Uv1i95gYM4vcTpM,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=FkZi3zR-36qErAA3wJw1M0P0c_MRUgR3HQcwUtJzO6w,16346
135
+ hdl/utils/llm/vis.py,sha256=QT1rr49EXyAR9iH1j4_eyiDMLRQSwpJOFaIBGycrOhA,16293
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.22.dist-info/METADATA,sha256=m2ryXuDose2d09H0Ob16-_eegovAY2y86yjKxaTiuMg,836
142
- hjxdl-0.2.22.dist-info/WHEEL,sha256=OVMc5UfuAQiSplgO0_WdW7vXVGAt9Hdd6qtN4HotdyA,91
143
- hjxdl-0.2.22.dist-info/top_level.txt,sha256=-kxwTM5JPhylp06z3zAVO3w6_h7wtBfBo2zgM6YZoTk,4
144
- hjxdl-0.2.22.dist-info/RECORD,,
141
+ hjxdl-0.2.24.dist-info/METADATA,sha256=ekKkJLBvfpN2pDDTrQmQRCaWud-UsGsn0FCrC6fzUMo,836
142
+ hjxdl-0.2.24.dist-info/WHEEL,sha256=OVMc5UfuAQiSplgO0_WdW7vXVGAt9Hdd6qtN4HotdyA,91
143
+ hjxdl-0.2.24.dist-info/top_level.txt,sha256=-kxwTM5JPhylp06z3zAVO3w6_h7wtBfBo2zgM6YZoTk,4
144
+ hjxdl-0.2.24.dist-info/RECORD,,
File without changes