|
7 | 7 |
|
8 | 8 | import redis
|
9 | 9 |
|
| 10 | +from redis.commands.vectorset.commands import ( |
| 11 | + QuantizationOptions |
| 12 | +) |
| 13 | + |
10 | 14 | r = redis.Redis(decode_responses=True)
|
11 | 15 | # HIDE_END
|
12 | 16 |
|
13 | 17 | # REMOVE_START
|
14 |
| -r.delete("points") |
| 18 | +r.delete( |
| 19 | + "points", "quantSetQ8", "quantSetNoQ", |
| 20 | + "quantSetBin", "setNotReduced", "setReduced" |
| 21 | +) |
15 | 22 | # REMOVE_END
|
16 | 23 |
|
17 | 24 | # STEP_START vadd
|
|
208 | 215 |
|
209 | 216 | assert res30 == ['pt:C', 'pt:B']
|
210 | 217 | # REMOVE_END
|
| 218 | + |
| 219 | +# STEP_START add_quant |
| 220 | +# Import `QuantizationOptions` enum using: |
| 221 | +# |
| 222 | +# from redis.commands.vectorset.commands import ( |
| 223 | +# QuantizationOptions |
| 224 | +# ) |
| 225 | +res31 = r.vset().vadd( |
| 226 | + "quantSetQ8", [1.262185, 1.958231], |
| 227 | + "quantElement", |
| 228 | + quantization=QuantizationOptions.Q8 |
| 229 | +) |
| 230 | +print(res31) # >>> 1 |
| 231 | + |
| 232 | +res32 = r.vset().vemb("quantSetQ8", "quantElement") |
| 233 | +print(f"Q8: {res32}") |
| 234 | +# >>> Q8: [1.2643694877624512, 1.958230972290039] |
| 235 | + |
| 236 | +res33 = r.vset().vadd( |
| 237 | + "quantSetNoQ", [1.262185, 1.958231], |
| 238 | + "quantElement", |
| 239 | + quantization=QuantizationOptions.NOQUANT |
| 240 | +) |
| 241 | +print(res33) # >>> 1 |
| 242 | + |
| 243 | +res34 = r.vset().vemb("quantSetNoQ", "quantElement") |
| 244 | +print(f"NOQUANT: {res34}") |
| 245 | +# >>> NOQUANT: [1.262184977531433, 1.958230972290039] |
| 246 | + |
| 247 | +res35 = r.vset().vadd( |
| 248 | + "quantSetBin", [1.262185, 1.958231], |
| 249 | + "quantElement", |
| 250 | + quantization=QuantizationOptions.BIN |
| 251 | +) |
| 252 | +print(res35) # >>> 1 |
| 253 | + |
| 254 | +res36 = r.vset().vemb("quantSetBin", "quantElement") |
| 255 | +print(f"BIN: {res36}") |
| 256 | +# >>> BIN: [1, 1] |
| 257 | +# STEP_END |
| 258 | +# REMOVE_START |
| 259 | +assert res31 == 1 |
| 260 | +# REMOVE_END |
| 261 | + |
| 262 | +# STEP_START add_reduce |
| 263 | +# Create a list of 300 arbitrary values. |
| 264 | +values = [x / 299 for x in range(300)] |
| 265 | + |
| 266 | +res37 = r.vset().vadd( |
| 267 | + "setNotReduced", |
| 268 | + values, |
| 269 | + "element" |
| 270 | +) |
| 271 | +print(res37) # >>> 1 |
| 272 | + |
| 273 | +res38 = r.vset().vdim("setNotReduced") |
| 274 | +print(res38) # >>> 300 |
| 275 | + |
| 276 | +res39 = r.vset().vadd( |
| 277 | + "setReduced", |
| 278 | + values, |
| 279 | + "element", |
| 280 | + reduce_dim=100 |
| 281 | +) |
| 282 | +print(res39) # >>> 1 |
| 283 | + |
| 284 | +res40 = r.vset().vdim("setReduced") # >>> 100 |
| 285 | +print(res40) |
| 286 | +# STEP_END |
0 commit comments