Migrate infinity at startup (#3858)
Browse files### What problem does this PR solve?
Migrate infinity at startup
#3809
https://github.com/infiniflow/infinity/issues/2321
### Type of change
- [x] New Feature (non-breaking change which adds functionality)
- conf/infinity_mapping.json +12 -12
- docker/docker-compose-base.yml +1 -1
- poetry.lock +118 -132
- pyproject.toml +1 -1
- rag/utils/infinity_conn.py +82 -35
- sdk/python/ragflow_sdk/modules/agent.py +1 -2
conf/infinity_mapping.json
CHANGED
|
@@ -5,17 +5,17 @@
|
|
| 5 |
"create_time": {"type": "varchar", "default": ""},
|
| 6 |
"create_timestamp_flt": {"type": "float", "default": 0.0},
|
| 7 |
"img_id": {"type": "varchar", "default": ""},
|
| 8 |
-
"docnm_kwd": {"type": "varchar", "default": ""},
|
| 9 |
-
"title_tks": {"type": "varchar", "default": ""},
|
| 10 |
-
"title_sm_tks": {"type": "varchar", "default": ""},
|
| 11 |
-
"name_kwd": {"type": "varchar", "default": ""},
|
| 12 |
-
"important_kwd": {"type": "varchar", "default": ""},
|
| 13 |
-
"important_tks": {"type": "varchar", "default": ""},
|
| 14 |
-
"question_kwd": {"type": "varchar", "default": ""},
|
| 15 |
-
"question_tks": {"type": "varchar", "default": ""},
|
| 16 |
"content_with_weight": {"type": "varchar", "default": ""},
|
| 17 |
-
"content_ltks": {"type": "varchar", "default": ""},
|
| 18 |
-
"content_sm_ltks": {"type": "varchar", "default": ""},
|
| 19 |
"page_num_int": {"type": "varchar", "default": ""},
|
| 20 |
"top_int": {"type": "varchar", "default": ""},
|
| 21 |
"position_int": {"type": "varchar", "default": ""},
|
|
@@ -23,7 +23,7 @@
|
|
| 23 |
"weight_flt": {"type": "float", "default": 0.0},
|
| 24 |
"rank_int": {"type": "integer", "default": 0},
|
| 25 |
"available_int": {"type": "integer", "default": 1},
|
| 26 |
-
"knowledge_graph_kwd": {"type": "varchar", "default": ""},
|
| 27 |
-
"entities_kwd": {"type": "varchar", "default": ""},
|
| 28 |
"pagerank_fea": {"type": "integer", "default": 0}
|
| 29 |
}
|
|
|
|
| 5 |
"create_time": {"type": "varchar", "default": ""},
|
| 6 |
"create_timestamp_flt": {"type": "float", "default": 0.0},
|
| 7 |
"img_id": {"type": "varchar", "default": ""},
|
| 8 |
+
"docnm_kwd": {"type": "varchar", "default": "", "analyzer": "whitespace"},
|
| 9 |
+
"title_tks": {"type": "varchar", "default": "", "analyzer": "whitespace"},
|
| 10 |
+
"title_sm_tks": {"type": "varchar", "default": "", "analyzer": "whitespace"},
|
| 11 |
+
"name_kwd": {"type": "varchar", "default": "", "analyzer": "whitespace"},
|
| 12 |
+
"important_kwd": {"type": "varchar", "default": "", "analyzer": "whitespace"},
|
| 13 |
+
"important_tks": {"type": "varchar", "default": "", "analyzer": "whitespace"},
|
| 14 |
+
"question_kwd": {"type": "varchar", "default": "", "analyzer": "whitespace"},
|
| 15 |
+
"question_tks": {"type": "varchar", "default": "", "analyzer": "whitespace"},
|
| 16 |
"content_with_weight": {"type": "varchar", "default": ""},
|
| 17 |
+
"content_ltks": {"type": "varchar", "default": "", "analyzer": "whitespace"},
|
| 18 |
+
"content_sm_ltks": {"type": "varchar", "default": "", "analyzer": "whitespace"},
|
| 19 |
"page_num_int": {"type": "varchar", "default": ""},
|
| 20 |
"top_int": {"type": "varchar", "default": ""},
|
| 21 |
"position_int": {"type": "varchar", "default": ""},
|
|
|
|
| 23 |
"weight_flt": {"type": "float", "default": 0.0},
|
| 24 |
"rank_int": {"type": "integer", "default": 0},
|
| 25 |
"available_int": {"type": "integer", "default": 1},
|
| 26 |
+
"knowledge_graph_kwd": {"type": "varchar", "default": "", "analyzer": "whitespace"},
|
| 27 |
+
"entities_kwd": {"type": "varchar", "default": "", "analyzer": "whitespace"},
|
| 28 |
"pagerank_fea": {"type": "integer", "default": 0}
|
| 29 |
}
|
docker/docker-compose-base.yml
CHANGED
|
@@ -36,7 +36,7 @@ services:
|
|
| 36 |
container_name: ragflow-infinity
|
| 37 |
profiles:
|
| 38 |
- infinity
|
| 39 |
-
image: infiniflow/infinity:v0.5.0-
|
| 40 |
volumes:
|
| 41 |
- infinity_data:/var/infinity
|
| 42 |
- ./infinity_conf.toml:/infinity_conf.toml
|
|
|
|
| 36 |
container_name: ragflow-infinity
|
| 37 |
profiles:
|
| 38 |
- infinity
|
| 39 |
+
image: infiniflow/infinity:v0.5.0-dev6
|
| 40 |
volumes:
|
| 41 |
- infinity_data:/var/infinity
|
| 42 |
- ./infinity_conf.toml:/infinity_conf.toml
|
poetry.lock
CHANGED
|
@@ -1,4 +1,4 @@
|
|
| 1 |
-
# This file is automatically @generated by Poetry 1.8.
|
| 2 |
|
| 3 |
[[package]]
|
| 4 |
name = "accelerate"
|
|
@@ -145,7 +145,7 @@ name = "aiolimiter"
|
|
| 145 |
version = "1.2.1"
|
| 146 |
description = "asyncio rate limiter, a leaky bucket implementation"
|
| 147 |
optional = false
|
| 148 |
-
python-versions = "
|
| 149 |
files = [
|
| 150 |
{file = "aiolimiter-1.2.1-py3-none-any.whl", hash = "sha256:d3f249e9059a20badcb56b61601a83556133655c11d1eb3dd3e04ff069e5f3c7"},
|
| 151 |
{file = "aiolimiter-1.2.1.tar.gz", hash = "sha256:e02a37ea1a855d9e832252a105420ad4d15011505512a1a1d814647451b5cca9"},
|
|
@@ -196,13 +196,13 @@ files = [
|
|
| 196 |
|
| 197 |
[[package]]
|
| 198 |
name = "akshare"
|
| 199 |
-
version = "1.15.
|
| 200 |
description = "AKShare is an elegant and simple financial data interface library for Python, built for human beings!"
|
| 201 |
optional = false
|
| 202 |
python-versions = ">=3.8"
|
| 203 |
files = [
|
| 204 |
-
{file = "akshare-1.15.
|
| 205 |
-
{file = "akshare-1.15.
|
| 206 |
]
|
| 207 |
|
| 208 |
[package.dependencies]
|
|
@@ -416,7 +416,7 @@ name = "aspose-slides"
|
|
| 416 |
version = "24.12.0"
|
| 417 |
description = "Aspose.Slides for Python via .NET is a presentation file formats processing library for working with Microsoft PowerPoint files without using Microsoft PowerPoint."
|
| 418 |
optional = false
|
| 419 |
-
python-versions = "
|
| 420 |
files = [
|
| 421 |
{file = "Aspose.Slides-24.12.0-py3-none-macosx_10_14_x86_64.whl", hash = "sha256:ccfaa61a863ed28cd37b221e31a0edf4a83802599d76fb50861c25149ac5e5e3"},
|
| 422 |
{file = "Aspose.Slides-24.12.0-py3-none-macosx_11_0_arm64.whl", hash = "sha256:b050659129c5ca92e52fbcd7d5091caa244db731adb68fbea1fd0a8b9fd62a5a"},
|
|
@@ -568,7 +568,7 @@ name = "bce-python-sdk"
|
|
| 568 |
version = "0.9.23"
|
| 569 |
description = "BCE SDK for python"
|
| 570 |
optional = false
|
| 571 |
-
python-versions = "!=3.0
|
| 572 |
files = [
|
| 573 |
{file = "bce_python_sdk-0.9.23-py3-none-any.whl", hash = "sha256:8debe21a040e00060f6044877d594765ed7b18bc765c6bf16b878bca864140a3"},
|
| 574 |
{file = "bce_python_sdk-0.9.23.tar.gz", hash = "sha256:19739fed5cd0725356fc5ffa2acbdd8fb23f2a81edb91db21a03174551d0cf41"},
|
|
@@ -1366,101 +1366,101 @@ test-no-images = ["pytest", "pytest-cov", "pytest-rerunfailures", "pytest-xdist"
|
|
| 1366 |
|
| 1367 |
[[package]]
|
| 1368 |
name = "cramjam"
|
| 1369 |
-
version = "2.9.
|
| 1370 |
description = "Thin Python bindings to de/compression algorithms in Rust"
|
| 1371 |
optional = false
|
| 1372 |
python-versions = ">=3.8"
|
| 1373 |
files = [
|
| 1374 |
-
{file = "cramjam-2.9.
|
| 1375 |
-
{file = "cramjam-2.9.
|
| 1376 |
-
{file = "cramjam-2.9.
|
| 1377 |
-
{file = "cramjam-2.9.
|
| 1378 |
-
{file = "cramjam-2.9.
|
| 1379 |
-
{file = "cramjam-2.9.
|
| 1380 |
-
{file = "cramjam-2.9.
|
| 1381 |
-
{file = "cramjam-2.9.
|
| 1382 |
-
{file = "cramjam-2.9.
|
| 1383 |
-
{file = "cramjam-2.9.
|
| 1384 |
-
{file = "cramjam-2.9.
|
| 1385 |
-
{file = "cramjam-2.9.
|
| 1386 |
-
{file = "cramjam-2.9.
|
| 1387 |
-
{file = "cramjam-2.9.
|
| 1388 |
-
{file = "cramjam-2.9.
|
| 1389 |
-
{file = "cramjam-2.9.
|
| 1390 |
-
{file = "cramjam-2.9.
|
| 1391 |
-
{file = "cramjam-2.9.
|
| 1392 |
-
{file = "cramjam-2.9.
|
| 1393 |
-
{file = "cramjam-2.9.
|
| 1394 |
-
{file = "cramjam-2.9.
|
| 1395 |
-
{file = "cramjam-2.9.
|
| 1396 |
-
{file = "cramjam-2.9.
|
| 1397 |
-
{file = "cramjam-2.9.
|
| 1398 |
-
{file = "cramjam-2.9.
|
| 1399 |
-
{file = "cramjam-2.9.
|
| 1400 |
-
{file = "cramjam-2.9.
|
| 1401 |
-
{file = "cramjam-2.9.
|
| 1402 |
-
{file = "cramjam-2.9.
|
| 1403 |
-
{file = "cramjam-2.9.
|
| 1404 |
-
{file = "cramjam-2.9.
|
| 1405 |
-
{file = "cramjam-2.9.
|
| 1406 |
-
{file = "cramjam-2.9.
|
| 1407 |
-
{file = "cramjam-2.9.
|
| 1408 |
-
{file = "cramjam-2.9.
|
| 1409 |
-
{file = "cramjam-2.9.
|
| 1410 |
-
{file = "cramjam-2.9.
|
| 1411 |
-
{file = "cramjam-2.9.
|
| 1412 |
-
{file = "cramjam-2.9.
|
| 1413 |
-
{file = "cramjam-2.9.
|
| 1414 |
-
{file = "cramjam-2.9.
|
| 1415 |
-
{file = "cramjam-2.9.
|
| 1416 |
-
{file = "cramjam-2.9.
|
| 1417 |
-
{file = "cramjam-2.9.
|
| 1418 |
-
{file = "cramjam-2.9.
|
| 1419 |
-
{file = "cramjam-2.9.
|
| 1420 |
-
{file = "cramjam-2.9.
|
| 1421 |
-
{file = "cramjam-2.9.
|
| 1422 |
-
{file = "cramjam-2.9.
|
| 1423 |
-
{file = "cramjam-2.9.
|
| 1424 |
-
{file = "cramjam-2.9.
|
| 1425 |
-
{file = "cramjam-2.9.
|
| 1426 |
-
{file = "cramjam-2.9.
|
| 1427 |
-
{file = "cramjam-2.9.
|
| 1428 |
-
{file = "cramjam-2.9.
|
| 1429 |
-
{file = "cramjam-2.9.
|
| 1430 |
-
{file = "cramjam-2.9.
|
| 1431 |
-
{file = "cramjam-2.9.
|
| 1432 |
-
{file = "cramjam-2.9.
|
| 1433 |
-
{file = "cramjam-2.9.
|
| 1434 |
-
{file = "cramjam-2.9.
|
| 1435 |
-
{file = "cramjam-2.9.
|
| 1436 |
-
{file = "cramjam-2.9.
|
| 1437 |
-
{file = "cramjam-2.9.
|
| 1438 |
-
{file = "cramjam-2.9.
|
| 1439 |
-
{file = "cramjam-2.9.
|
| 1440 |
-
{file = "cramjam-2.9.
|
| 1441 |
-
{file = "cramjam-2.9.
|
| 1442 |
-
{file = "cramjam-2.9.
|
| 1443 |
-
{file = "cramjam-2.9.
|
| 1444 |
-
{file = "cramjam-2.9.
|
| 1445 |
-
{file = "cramjam-2.9.
|
| 1446 |
-
{file = "cramjam-2.9.
|
| 1447 |
-
{file = "cramjam-2.9.
|
| 1448 |
-
{file = "cramjam-2.9.
|
| 1449 |
-
{file = "cramjam-2.9.
|
| 1450 |
-
{file = "cramjam-2.9.
|
| 1451 |
-
{file = "cramjam-2.9.
|
| 1452 |
-
{file = "cramjam-2.9.
|
| 1453 |
-
{file = "cramjam-2.9.
|
| 1454 |
-
{file = "cramjam-2.9.
|
| 1455 |
-
{file = "cramjam-2.9.
|
| 1456 |
-
{file = "cramjam-2.9.
|
| 1457 |
-
{file = "cramjam-2.9.
|
| 1458 |
-
{file = "cramjam-2.9.
|
| 1459 |
-
{file = "cramjam-2.9.
|
| 1460 |
-
{file = "cramjam-2.9.
|
| 1461 |
-
{file = "cramjam-2.9.
|
| 1462 |
-
{file = "cramjam-2.9.
|
| 1463 |
-
{file = "cramjam-2.9.
|
| 1464 |
]
|
| 1465 |
|
| 1466 |
[package.extras]
|
|
@@ -1502,7 +1502,7 @@ name = "cryptography"
|
|
| 1502 |
version = "44.0.0"
|
| 1503 |
description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers."
|
| 1504 |
optional = false
|
| 1505 |
-
python-versions = "!=3.9.0
|
| 1506 |
files = [
|
| 1507 |
{file = "cryptography-44.0.0-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:84111ad4ff3f6253820e6d3e58be2cc2a00adb29335d4cacb5ab4d4d34f2a123"},
|
| 1508 |
{file = "cryptography-44.0.0-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b15492a11f9e1b62ba9d73c210e2416724633167de94607ec6069ef724fad092"},
|
|
@@ -1510,6 +1510,7 @@ files = [
|
|
| 1510 |
{file = "cryptography-44.0.0-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:761817a3377ef15ac23cd7834715081791d4ec77f9297ee694ca1ee9c2c7e5eb"},
|
| 1511 |
{file = "cryptography-44.0.0-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:3c672a53c0fb4725a29c303be906d3c1fa99c32f58abe008a82705f9ee96f40b"},
|
| 1512 |
{file = "cryptography-44.0.0-cp37-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:4ac4c9f37eba52cb6fbeaf5b59c152ea976726b865bd4cf87883a7e7006cc543"},
|
|
|
|
| 1513 |
{file = "cryptography-44.0.0-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:ed3534eb1090483c96178fcb0f8893719d96d5274dfde98aa6add34614e97c8e"},
|
| 1514 |
{file = "cryptography-44.0.0-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:f3f6fdfa89ee2d9d496e2c087cebef9d4fcbb0ad63c40e821b39f74bf48d9c5e"},
|
| 1515 |
{file = "cryptography-44.0.0-cp37-abi3-win32.whl", hash = "sha256:eb33480f1bad5b78233b0ad3e1b0be21e8ef1da745d8d2aecbb20671658b9053"},
|
|
@@ -1520,6 +1521,7 @@ files = [
|
|
| 1520 |
{file = "cryptography-44.0.0-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:c5eb858beed7835e5ad1faba59e865109f3e52b3783b9ac21e7e47dc5554e289"},
|
| 1521 |
{file = "cryptography-44.0.0-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:f53c2c87e0fb4b0c00fa9571082a057e37690a8f12233306161c8f4b819960b7"},
|
| 1522 |
{file = "cryptography-44.0.0-cp39-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:9e6fc8a08e116fb7c7dd1f040074c9d7b51d74a8ea40d4df2fc7aa08b76b9e6c"},
|
|
|
|
| 1523 |
{file = "cryptography-44.0.0-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:d2436114e46b36d00f8b72ff57e598978b37399d2786fd39793c36c6d5cb1c64"},
|
| 1524 |
{file = "cryptography-44.0.0-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:a01956ddfa0a6790d594f5b34fc1bfa6098aca434696a03cfdbe469b8ed79285"},
|
| 1525 |
{file = "cryptography-44.0.0-cp39-abi3-win32.whl", hash = "sha256:eca27345e1214d1b9f9490d200f9db5a874479be914199194e746c893788d417"},
|
|
@@ -1709,7 +1711,7 @@ name = "deprecated"
|
|
| 1709 |
version = "1.2.15"
|
| 1710 |
description = "Python @deprecated decorator to deprecate old python classes, functions or methods."
|
| 1711 |
optional = false
|
| 1712 |
-
python-versions = "!=3.0
|
| 1713 |
files = [
|
| 1714 |
{file = "Deprecated-1.2.15-py2.py3-none-any.whl", hash = "sha256:353bc4a8ac4bfc96800ddab349d89c25dec1079f65fd53acdcc1e0b975b21320"},
|
| 1715 |
{file = "deprecated-1.2.15.tar.gz", hash = "sha256:683e561a90de76239796e6b6feac66b99030d2dd3fcf61ef996330f14bbb9b0d"},
|
|
@@ -2040,7 +2042,7 @@ name = "fastembed"
|
|
| 2040 |
version = "0.3.6"
|
| 2041 |
description = "Fast, light, accurate library built for retrieval embedding generation"
|
| 2042 |
optional = false
|
| 2043 |
-
python-versions = "
|
| 2044 |
files = [
|
| 2045 |
{file = "fastembed-0.3.6-py3-none-any.whl", hash = "sha256:2bf70edae28bb4ccd9e01617098c2075b0ba35b88025a3d22b0e1e85b2c488ce"},
|
| 2046 |
{file = "fastembed-0.3.6.tar.gz", hash = "sha256:c93c8ec99b8c008c2d192d6297866b8d70ec7ac8f5696b34eb5ea91f85efd15f"},
|
|
@@ -2093,7 +2095,6 @@ files = [
|
|
| 2093 |
{file = "fastparquet-2024.11.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0e2d7f02f57231e6c86d26e9ea71953737202f20e948790e5d4db6d6a1a150dc"},
|
| 2094 |
{file = "fastparquet-2024.11.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:fbe4468146b633d8f09d7b196fea0547f213cb5ce5f76e9d1beb29eaa9593a93"},
|
| 2095 |
{file = "fastparquet-2024.11.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:29d5c718817bcd765fc519b17f759cad4945974421ecc1931d3bdc3e05e57fa9"},
|
| 2096 |
-
{file = "fastparquet-2024.11.0-cp312-cp312-win_amd64.whl", hash = "sha256:74a0b3c40ab373442c0fda96b75a36e88745d8b138fcc3a6143e04682cbbb8ca"},
|
| 2097 |
{file = "fastparquet-2024.11.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:59e5c5b51083d5b82572cdb7aed0346e3181e3ac9d2e45759da2e804bdafa7ee"},
|
| 2098 |
{file = "fastparquet-2024.11.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:bdadf7b6bad789125b823bfc5b0a719ba5c4a2ef965f973702d3ea89cff057f6"},
|
| 2099 |
{file = "fastparquet-2024.11.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:46b2db02fc2a1507939d35441c8ab211d53afd75d82eec9767d1c3656402859b"},
|
|
@@ -2796,13 +2797,13 @@ grpc = ["grpcio (>=1.38.0,<2.0dev)", "grpcio-status (>=1.38.0,<2.0.dev0)"]
|
|
| 2796 |
|
| 2797 |
[[package]]
|
| 2798 |
name = "google-cloud-resource-manager"
|
| 2799 |
-
version = "1.
|
| 2800 |
description = "Google Cloud Resource Manager API client library"
|
| 2801 |
optional = false
|
| 2802 |
python-versions = ">=3.7"
|
| 2803 |
files = [
|
| 2804 |
-
{file = "google_cloud_resource_manager-1.
|
| 2805 |
-
{file = "google_cloud_resource_manager-1.
|
| 2806 |
]
|
| 2807 |
|
| 2808 |
[package.dependencies]
|
|
@@ -2965,7 +2966,7 @@ name = "graspologic"
|
|
| 2965 |
version = "3.4.1"
|
| 2966 |
description = "A set of Python modules for graph statistics"
|
| 2967 |
optional = false
|
| 2968 |
-
python-versions = "
|
| 2969 |
files = [
|
| 2970 |
{file = "graspologic-3.4.1-py3-none-any.whl", hash = "sha256:c6563e087eda599bad1de831d4b7321c0daa7a82f4e85a7d7737ff67e07cdda2"},
|
| 2971 |
{file = "graspologic-3.4.1.tar.gz", hash = "sha256:7561f0b852a2bccd351bff77e8db07d9892f9dfa35a420fdec01690e4fdc8075"},
|
|
@@ -3650,7 +3651,7 @@ name = "infinity-emb"
|
|
| 3650 |
version = "0.0.66"
|
| 3651 |
description = "Infinity is a high-throughput, low-latency REST API for serving text-embeddings, reranking models and clip."
|
| 3652 |
optional = false
|
| 3653 |
-
python-versions = "
|
| 3654 |
files = [
|
| 3655 |
{file = "infinity_emb-0.0.66-py3-none-any.whl", hash = "sha256:1dc6ed9fa48e6cbe83650a7583dbbb4bc393900c39c326bb0aff2ddc090ac018"},
|
| 3656 |
{file = "infinity_emb-0.0.66.tar.gz", hash = "sha256:9c9a361ccebf8e8f626c1f685286518d03d0c35e7d14179ae7c2500b4fc68b98"},
|
|
@@ -3677,12 +3678,12 @@ vision = ["colpali-engine (>=0.3.1,<0.4.0)", "pillow", "timm", "torchvision"]
|
|
| 3677 |
|
| 3678 |
[[package]]
|
| 3679 |
name = "infinity-sdk"
|
| 3680 |
-
version = "0.5.0.
|
| 3681 |
description = "infinity"
|
| 3682 |
optional = false
|
| 3683 |
python-versions = ">=3.10"
|
| 3684 |
files = [
|
| 3685 |
-
{file = "infinity_sdk-0.5.0.
|
| 3686 |
]
|
| 3687 |
|
| 3688 |
[package.dependencies]
|
|
@@ -4099,7 +4100,7 @@ name = "litellm"
|
|
| 4099 |
version = "1.48.0"
|
| 4100 |
description = "Library to easily interface with LLM API providers"
|
| 4101 |
optional = false
|
| 4102 |
-
python-versions = "!=2.7
|
| 4103 |
files = [
|
| 4104 |
{file = "litellm-1.48.0-py3-none-any.whl", hash = "sha256:7765e8a92069778f5fc66aacfabd0e2f8ec8d74fb117f5e475567d89b0d376b9"},
|
| 4105 |
{file = "litellm-1.48.0.tar.gz", hash = "sha256:31a9b8a25a9daf44c24ddc08bf74298da920f2c5cea44135e5061278d0aa6fc9"},
|
|
@@ -4157,7 +4158,7 @@ name = "loguru"
|
|
| 4157 |
version = "0.7.3"
|
| 4158 |
description = "Python logging made (stupidly) simple"
|
| 4159 |
optional = false
|
| 4160 |
-
python-versions = "
|
| 4161 |
files = [
|
| 4162 |
{file = "loguru-0.7.3-py3-none-any.whl", hash = "sha256:31a33c10c8e1e10422bfd431aeb5d351c7cf7fa671e3c4df004162264b28220c"},
|
| 4163 |
{file = "loguru-0.7.3.tar.gz", hash = "sha256:19480589e77d47b8d85b2c827ad95d49bf31b0dcde16593892eb51dd18706eb6"},
|
|
@@ -6298,7 +6299,7 @@ name = "psutil"
|
|
| 6298 |
version = "6.1.0"
|
| 6299 |
description = "Cross-platform lib for process and system monitoring in Python."
|
| 6300 |
optional = false
|
| 6301 |
-
python-versions = "!=3.0
|
| 6302 |
files = [
|
| 6303 |
{file = "psutil-6.1.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:ff34df86226c0227c52f38b919213157588a678d049688eded74c76c8ba4a5d0"},
|
| 6304 |
{file = "psutil-6.1.0-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:c0e0c00aa18ca2d3b2b991643b799a15fc8f0563d2ebb6040f64ce8dc027b942"},
|
|
@@ -6320,8 +6321,8 @@ files = [
|
|
| 6320 |
]
|
| 6321 |
|
| 6322 |
[package.extras]
|
| 6323 |
-
dev = ["black", "check-manifest", "coverage", "packaging", "pylint", "pyperf", "pypinfo", "pytest-cov", "requests", "rstcheck", "ruff", "sphinx", "
|
| 6324 |
-
test = ["pytest", "pytest-xdist", "setuptools"]
|
| 6325 |
|
| 6326 |
[[package]]
|
| 6327 |
name = "psycopg2-binary"
|
|
@@ -7851,45 +7852,30 @@ files = [
|
|
| 7851 |
{file = "ruamel.yaml.clib-0.2.12-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:a606ef75a60ecf3d924613892cc603b154178ee25abb3055db5062da811fd969"},
|
| 7852 |
{file = "ruamel.yaml.clib-0.2.12-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd5415dded15c3822597455bc02bcd66e81ef8b7a48cb71a33628fc9fdde39df"},
|
| 7853 |
{file = "ruamel.yaml.clib-0.2.12-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f66efbc1caa63c088dead1c4170d148eabc9b80d95fb75b6c92ac0aad2437d76"},
|
| 7854 |
-
{file = "ruamel.yaml.clib-0.2.12-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:22353049ba4181685023b25b5b51a574bce33e7f51c759371a7422dcae5402a6"},
|
| 7855 |
-
{file = "ruamel.yaml.clib-0.2.12-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:932205970b9f9991b34f55136be327501903f7c66830e9760a8ffb15b07f05cd"},
|
| 7856 |
-
{file = "ruamel.yaml.clib-0.2.12-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:a52d48f4e7bf9005e8f0a89209bf9a73f7190ddf0489eee5eb51377385f59f2a"},
|
| 7857 |
{file = "ruamel.yaml.clib-0.2.12-cp310-cp310-win32.whl", hash = "sha256:3eac5a91891ceb88138c113f9db04f3cebdae277f5d44eaa3651a4f573e6a5da"},
|
| 7858 |
{file = "ruamel.yaml.clib-0.2.12-cp310-cp310-win_amd64.whl", hash = "sha256:ab007f2f5a87bd08ab1499bdf96f3d5c6ad4dcfa364884cb4549aa0154b13a28"},
|
| 7859 |
{file = "ruamel.yaml.clib-0.2.12-cp311-cp311-macosx_13_0_arm64.whl", hash = "sha256:4a6679521a58256a90b0d89e03992c15144c5f3858f40d7c18886023d7943db6"},
|
| 7860 |
{file = "ruamel.yaml.clib-0.2.12-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:d84318609196d6bd6da0edfa25cedfbabd8dbde5140a0a23af29ad4b8f91fb1e"},
|
| 7861 |
{file = "ruamel.yaml.clib-0.2.12-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bb43a269eb827806502c7c8efb7ae7e9e9d0573257a46e8e952f4d4caba4f31e"},
|
| 7862 |
{file = "ruamel.yaml.clib-0.2.12-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:811ea1594b8a0fb466172c384267a4e5e367298af6b228931f273b111f17ef52"},
|
| 7863 |
-
{file = "ruamel.yaml.clib-0.2.12-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:cf12567a7b565cbf65d438dec6cfbe2917d3c1bdddfce84a9930b7d35ea59642"},
|
| 7864 |
-
{file = "ruamel.yaml.clib-0.2.12-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:7dd5adc8b930b12c8fc5b99e2d535a09889941aa0d0bd06f4749e9a9397c71d2"},
|
| 7865 |
-
{file = "ruamel.yaml.clib-0.2.12-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:1492a6051dab8d912fc2adeef0e8c72216b24d57bd896ea607cb90bb0c4981d3"},
|
| 7866 |
{file = "ruamel.yaml.clib-0.2.12-cp311-cp311-win32.whl", hash = "sha256:bd0a08f0bab19093c54e18a14a10b4322e1eacc5217056f3c063bd2f59853ce4"},
|
| 7867 |
{file = "ruamel.yaml.clib-0.2.12-cp311-cp311-win_amd64.whl", hash = "sha256:a274fb2cb086c7a3dea4322ec27f4cb5cc4b6298adb583ab0e211a4682f241eb"},
|
| 7868 |
{file = "ruamel.yaml.clib-0.2.12-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:20b0f8dc160ba83b6dcc0e256846e1a02d044e13f7ea74a3d1d56ede4e48c632"},
|
| 7869 |
{file = "ruamel.yaml.clib-0.2.12-cp312-cp312-manylinux2014_aarch64.whl", hash = "sha256:943f32bc9dedb3abff9879edc134901df92cfce2c3d5c9348f172f62eb2d771d"},
|
| 7870 |
{file = "ruamel.yaml.clib-0.2.12-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95c3829bb364fdb8e0332c9931ecf57d9be3519241323c5274bd82f709cebc0c"},
|
| 7871 |
{file = "ruamel.yaml.clib-0.2.12-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:749c16fcc4a2b09f28843cda5a193e0283e47454b63ec4b81eaa2242f50e4ccd"},
|
| 7872 |
-
{file = "ruamel.yaml.clib-0.2.12-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bf165fef1f223beae7333275156ab2022cffe255dcc51c27f066b4370da81e31"},
|
| 7873 |
-
{file = "ruamel.yaml.clib-0.2.12-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:32621c177bbf782ca5a18ba4d7af0f1082a3f6e517ac2a18b3974d4edf349680"},
|
| 7874 |
-
{file = "ruamel.yaml.clib-0.2.12-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:b82a7c94a498853aa0b272fd5bc67f29008da798d4f93a2f9f289feb8426a58d"},
|
| 7875 |
{file = "ruamel.yaml.clib-0.2.12-cp312-cp312-win32.whl", hash = "sha256:e8c4ebfcfd57177b572e2040777b8abc537cdef58a2120e830124946aa9b42c5"},
|
| 7876 |
{file = "ruamel.yaml.clib-0.2.12-cp312-cp312-win_amd64.whl", hash = "sha256:0467c5965282c62203273b838ae77c0d29d7638c8a4e3a1c8bdd3602c10904e4"},
|
| 7877 |
{file = "ruamel.yaml.clib-0.2.12-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:4c8c5d82f50bb53986a5e02d1b3092b03622c02c2eb78e29bec33fd9593bae1a"},
|
| 7878 |
{file = "ruamel.yaml.clib-0.2.12-cp313-cp313-manylinux2014_aarch64.whl", hash = "sha256:e7e3736715fbf53e9be2a79eb4db68e4ed857017344d697e8b9749444ae57475"},
|
| 7879 |
{file = "ruamel.yaml.clib-0.2.12-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b7e75b4965e1d4690e93021adfcecccbca7d61c7bddd8e22406ef2ff20d74ef"},
|
| 7880 |
{file = "ruamel.yaml.clib-0.2.12-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:96777d473c05ee3e5e3c3e999f5d23c6f4ec5b0c38c098b3a5229085f74236c6"},
|
| 7881 |
-
{file = "ruamel.yaml.clib-0.2.12-cp313-cp313-musllinux_1_1_i686.whl", hash = "sha256:3bc2a80e6420ca8b7d3590791e2dfc709c88ab9152c00eeb511c9875ce5778bf"},
|
| 7882 |
-
{file = "ruamel.yaml.clib-0.2.12-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:e188d2699864c11c36cdfdada94d781fd5d6b0071cd9c427bceb08ad3d7c70e1"},
|
| 7883 |
-
{file = "ruamel.yaml.clib-0.2.12-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:4f6f3eac23941b32afccc23081e1f50612bdbe4e982012ef4f5797986828cd01"},
|
| 7884 |
{file = "ruamel.yaml.clib-0.2.12-cp313-cp313-win32.whl", hash = "sha256:6442cb36270b3afb1b4951f060eccca1ce49f3d087ca1ca4563a6eb479cb3de6"},
|
| 7885 |
{file = "ruamel.yaml.clib-0.2.12-cp313-cp313-win_amd64.whl", hash = "sha256:e5b8daf27af0b90da7bb903a876477a9e6d7270be6146906b276605997c7e9a3"},
|
| 7886 |
{file = "ruamel.yaml.clib-0.2.12-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:fc4b630cd3fa2cf7fce38afa91d7cfe844a9f75d7f0f36393fa98815e911d987"},
|
| 7887 |
{file = "ruamel.yaml.clib-0.2.12-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:bc5f1e1c28e966d61d2519f2a3d451ba989f9ea0f2307de7bc45baa526de9e45"},
|
| 7888 |
{file = "ruamel.yaml.clib-0.2.12-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5a0e060aace4c24dcaf71023bbd7d42674e3b230f7e7b97317baf1e953e5b519"},
|
| 7889 |
{file = "ruamel.yaml.clib-0.2.12-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e2f1c3765db32be59d18ab3953f43ab62a761327aafc1594a2a1fbe038b8b8a7"},
|
| 7890 |
-
{file = "ruamel.yaml.clib-0.2.12-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:d85252669dc32f98ebcd5d36768f5d4faeaeaa2d655ac0473be490ecdae3c285"},
|
| 7891 |
-
{file = "ruamel.yaml.clib-0.2.12-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:e143ada795c341b56de9418c58d028989093ee611aa27ffb9b7f609c00d813ed"},
|
| 7892 |
-
{file = "ruamel.yaml.clib-0.2.12-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:2c59aa6170b990d8d2719323e628aaf36f3bfbc1c26279c0eeeb24d05d2d11c7"},
|
| 7893 |
{file = "ruamel.yaml.clib-0.2.12-cp39-cp39-win32.whl", hash = "sha256:beffaed67936fbbeffd10966a4eb53c402fafd3d6833770516bf7314bc6ffa12"},
|
| 7894 |
{file = "ruamel.yaml.clib-0.2.12-cp39-cp39-win_amd64.whl", hash = "sha256:040ae85536960525ea62868b642bdb0c2cc6021c9f9d507810c0c604e66f5a7b"},
|
| 7895 |
{file = "ruamel.yaml.clib-0.2.12.tar.gz", hash = "sha256:6c8fbb13ec503f99a91901ab46e0b07ae7941cd527393187039aec586fdfd36f"},
|
|
@@ -7900,7 +7886,7 @@ name = "s3transfer"
|
|
| 7900 |
version = "0.10.4"
|
| 7901 |
description = "An Amazon S3 Transfer Manager"
|
| 7902 |
optional = false
|
| 7903 |
-
python-versions = ">=3.8"
|
| 7904 |
files = [
|
| 7905 |
{file = "s3transfer-0.10.4-py3-none-any.whl", hash = "sha256:244a76a24355363a68164241438de1b72f8781664920260c48465896b712a41e"},
|
| 7906 |
{file = "s3transfer-0.10.4.tar.gz", hash = "sha256:29edc09801743c21eb5ecbc617a152df41d3c287f67b615f73e5f750583666a7"},
|
|
@@ -8362,7 +8348,7 @@ name = "smart-open"
|
|
| 8362 |
version = "7.0.5"
|
| 8363 |
description = "Utils for streaming large files (S3, HDFS, GCS, Azure Blob Storage, gzip, bz2...)"
|
| 8364 |
optional = false
|
| 8365 |
-
python-versions = "
|
| 8366 |
files = [
|
| 8367 |
{file = "smart_open-7.0.5-py3-none-any.whl", hash = "sha256:8523ed805c12dff3eaa50e9c903a6cb0ae78800626631c5fe7ea073439847b89"},
|
| 8368 |
{file = "smart_open-7.0.5.tar.gz", hash = "sha256:d3672003b1dbc85e2013e4983b88eb9a5ccfd389b0d4e5015f39a9ee5620ec18"},
|
|
@@ -10172,4 +10158,4 @@ cffi = ["cffi (>=1.11)"]
|
|
| 10172 |
[metadata]
|
| 10173 |
lock-version = "2.0"
|
| 10174 |
python-versions = ">=3.10,<3.13"
|
| 10175 |
-
content-hash = "
|
|
|
|
| 1 |
+
# This file is automatically @generated by Poetry 1.8.4 and should not be changed by hand.
|
| 2 |
|
| 3 |
[[package]]
|
| 4 |
name = "accelerate"
|
|
|
|
| 145 |
version = "1.2.1"
|
| 146 |
description = "asyncio rate limiter, a leaky bucket implementation"
|
| 147 |
optional = false
|
| 148 |
+
python-versions = ">=3.8,<4.0"
|
| 149 |
files = [
|
| 150 |
{file = "aiolimiter-1.2.1-py3-none-any.whl", hash = "sha256:d3f249e9059a20badcb56b61601a83556133655c11d1eb3dd3e04ff069e5f3c7"},
|
| 151 |
{file = "aiolimiter-1.2.1.tar.gz", hash = "sha256:e02a37ea1a855d9e832252a105420ad4d15011505512a1a1d814647451b5cca9"},
|
|
|
|
| 196 |
|
| 197 |
[[package]]
|
| 198 |
name = "akshare"
|
| 199 |
+
version = "1.15.45"
|
| 200 |
description = "AKShare is an elegant and simple financial data interface library for Python, built for human beings!"
|
| 201 |
optional = false
|
| 202 |
python-versions = ">=3.8"
|
| 203 |
files = [
|
| 204 |
+
{file = "akshare-1.15.45-py3-none-any.whl", hash = "sha256:678f5a5c958660552636ce5834886f2ed002498450cdf3182ec09d9b4acb344c"},
|
| 205 |
+
{file = "akshare-1.15.45.tar.gz", hash = "sha256:2f4b965d72ab264d01ceca56ac4fee29a8cef554eb84479496f64e1a1b6951f6"},
|
| 206 |
]
|
| 207 |
|
| 208 |
[package.dependencies]
|
|
|
|
| 416 |
version = "24.12.0"
|
| 417 |
description = "Aspose.Slides for Python via .NET is a presentation file formats processing library for working with Microsoft PowerPoint files without using Microsoft PowerPoint."
|
| 418 |
optional = false
|
| 419 |
+
python-versions = ">=3.5,<3.14"
|
| 420 |
files = [
|
| 421 |
{file = "Aspose.Slides-24.12.0-py3-none-macosx_10_14_x86_64.whl", hash = "sha256:ccfaa61a863ed28cd37b221e31a0edf4a83802599d76fb50861c25149ac5e5e3"},
|
| 422 |
{file = "Aspose.Slides-24.12.0-py3-none-macosx_11_0_arm64.whl", hash = "sha256:b050659129c5ca92e52fbcd7d5091caa244db731adb68fbea1fd0a8b9fd62a5a"},
|
|
|
|
| 568 |
version = "0.9.23"
|
| 569 |
description = "BCE SDK for python"
|
| 570 |
optional = false
|
| 571 |
+
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4"
|
| 572 |
files = [
|
| 573 |
{file = "bce_python_sdk-0.9.23-py3-none-any.whl", hash = "sha256:8debe21a040e00060f6044877d594765ed7b18bc765c6bf16b878bca864140a3"},
|
| 574 |
{file = "bce_python_sdk-0.9.23.tar.gz", hash = "sha256:19739fed5cd0725356fc5ffa2acbdd8fb23f2a81edb91db21a03174551d0cf41"},
|
|
|
|
| 1366 |
|
| 1367 |
[[package]]
|
| 1368 |
name = "cramjam"
|
| 1369 |
+
version = "2.9.1"
|
| 1370 |
description = "Thin Python bindings to de/compression algorithms in Rust"
|
| 1371 |
optional = false
|
| 1372 |
python-versions = ">=3.8"
|
| 1373 |
files = [
|
| 1374 |
+
{file = "cramjam-2.9.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:8e82464d1e00fbbb12958999b8471ba5e9f3d9711954505a0a7b378762332e6f"},
|
| 1375 |
+
{file = "cramjam-2.9.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6d2df8a6511cc08ef1fccd2e0c65e2ebc9f57574ec8376052a76851af5398810"},
|
| 1376 |
+
{file = "cramjam-2.9.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:21ea784e6c3f1843d3523ae0f03651dd06058b39eeb64beb82ee3b100fa83662"},
|
| 1377 |
+
{file = "cramjam-2.9.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e0c5d98a4e791f0bbd0ffcb7dae879baeb2dcc357348a8dc2be0a8c10403a2a"},
|
| 1378 |
+
{file = "cramjam-2.9.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e076fd87089197cb61117c63dbe7712ad5eccb93968860eb3bae09b767bac813"},
|
| 1379 |
+
{file = "cramjam-2.9.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6d86b44933aea0151e4a2e1e6935448499849045c38167d288ca4c59d5b8cd4e"},
|
| 1380 |
+
{file = "cramjam-2.9.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7eb032549dec897b942ddcf80c1cdccbcb40629f15fc902731dbe6362da49326"},
|
| 1381 |
+
{file = "cramjam-2.9.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cf29b4def86ec503e329fe138842a9b79a997e3beb6c7809b05665a0d291edff"},
|
| 1382 |
+
{file = "cramjam-2.9.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:a36adf7d13b7accfa206e1c917f08924eb905b45aa8e62176509afa7b14db71e"},
|
| 1383 |
+
{file = "cramjam-2.9.1-cp310-cp310-musllinux_1_1_armv7l.whl", hash = "sha256:cf4ea758d98b6fad1b4b2d808d0de690d3162ac56c26968aea0af6524e3eb736"},
|
| 1384 |
+
{file = "cramjam-2.9.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:4826d6d81ea490fa7a3ae7a4b9729866a945ffac1f77fe57b71e49d6e1b21efd"},
|
| 1385 |
+
{file = "cramjam-2.9.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:335103317475bf992953c58838152a4761fc3c87354000edbfc4d7e57cf05909"},
|
| 1386 |
+
{file = "cramjam-2.9.1-cp310-cp310-win32.whl", hash = "sha256:258120cb1e3afc3443f756f9de161ed63eed56a2c31f6093e81c571c0f2dc9f6"},
|
| 1387 |
+
{file = "cramjam-2.9.1-cp310-cp310-win_amd64.whl", hash = "sha256:c60e5996aa02547d12bc2740d44e90e006b0f93100f53206f7abe6732ad56e69"},
|
| 1388 |
+
{file = "cramjam-2.9.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:b9db1debe48060e41a5b91af9193c524e473c57f6105462c5524a41f5aabdb88"},
|
| 1389 |
+
{file = "cramjam-2.9.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f6f18f0242212d3409d26ce3874937b5b979cebd61f08b633a6ea893c32fc7b6"},
|
| 1390 |
+
{file = "cramjam-2.9.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:b5b1cd7d39242b2b903cf09cd4696b3a6e04dc537ffa9f3ac8668edae76eecb6"},
|
| 1391 |
+
{file = "cramjam-2.9.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a47de0a68f5f4d9951250ef5af31f2a7228132caa9ed60994234f7eb98090d33"},
|
| 1392 |
+
{file = "cramjam-2.9.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e13c9a697881e5e38148958612dc6856967f5ff8cd7bba5ff751f2d6ac020aa4"},
|
| 1393 |
+
{file = "cramjam-2.9.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ba560244bc1335b420b74e91e35f9d4e7f307a3be3a4603ce0f0d7e15a0acdf0"},
|
| 1394 |
+
{file = "cramjam-2.9.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8d47fd41ce260cf4f0ff0e788de961fab9e9c6844a05ce55d06ce31e06107bdc"},
|
| 1395 |
+
{file = "cramjam-2.9.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:84d154fbadece82935396eb6bcb502085d944d2fd13b07a94348364344370c2c"},
|
| 1396 |
+
{file = "cramjam-2.9.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:038df668ffb94d64d67b6ecc59cbd206745a425ffc0402897dde12d89fa6a870"},
|
| 1397 |
+
{file = "cramjam-2.9.1-cp311-cp311-musllinux_1_1_armv7l.whl", hash = "sha256:4125d8cd86fa08495d310e80926c2f0563f157b76862e7479f9b2cf94823ea0c"},
|
| 1398 |
+
{file = "cramjam-2.9.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:4206ebdd1d1ef0f3f86c8c2f7c426aa4af6094f4f41e274601fd4c4569f37454"},
|
| 1399 |
+
{file = "cramjam-2.9.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:ab687bef5c493732b9a4ab870542ee43f5eae0025f9c684c7cb399c3a85cb380"},
|
| 1400 |
+
{file = "cramjam-2.9.1-cp311-cp311-win32.whl", hash = "sha256:dda7698b6d7caeae1047adafebc4b43b2a82478234f6c2b45bc3edad854e0600"},
|
| 1401 |
+
{file = "cramjam-2.9.1-cp311-cp311-win_amd64.whl", hash = "sha256:872b00ff83e84bcbdc7e951af291ebe65eed20b09c47e7c4af21c312f90b796f"},
|
| 1402 |
+
{file = "cramjam-2.9.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:79417957972553502b217a0093532e48893c8b4ca30ccc941cefe9c72379df7c"},
|
| 1403 |
+
{file = "cramjam-2.9.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce2b94117f373defc876f88e74e44049a9969223dbca3240415b71752d0422fb"},
|
| 1404 |
+
{file = "cramjam-2.9.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:67040e0fd84404885ec716a806bee6110f9960c3647e0ef1670aab3b7375a70a"},
|
| 1405 |
+
{file = "cramjam-2.9.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0bedb84e068b53c944bd08dcb501fd00d67daa8a917922356dd559b484ce7eab"},
|
| 1406 |
+
{file = "cramjam-2.9.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:06e3f97a379386d97debf08638a78b3d3850fdf6124755eb270b54905a169930"},
|
| 1407 |
+
{file = "cramjam-2.9.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:11118675e9c7952ececabc62f023290ee4f8ecf0bee0d2c7eb8d1c402ee9769d"},
|
| 1408 |
+
{file = "cramjam-2.9.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6b7de6b61b11545570e4d6033713f3599525efc615ee353a822be8f6b0c65b77"},
|
| 1409 |
+
{file = "cramjam-2.9.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:57ca8f3775324a9de3ee6f05ca172687ba258c0dea79f7e3a6b4112834982f2a"},
|
| 1410 |
+
{file = "cramjam-2.9.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:9847dd6f288f1c56359f52acb48ff2df848ff3e3bff34d23855bbcf7016427cc"},
|
| 1411 |
+
{file = "cramjam-2.9.1-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:8d1248dfa7f151e893ce819670f00879e4b7650b8d4c01279ce4f12140d68dd2"},
|
| 1412 |
+
{file = "cramjam-2.9.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:9da6d970281083bae91b914362de325414aa03c01fc806f6bb2cc006322ec834"},
|
| 1413 |
+
{file = "cramjam-2.9.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:1c33bc095db5733c841a102b8693062be5db8cdac17b9782ebc00577c6a94480"},
|
| 1414 |
+
{file = "cramjam-2.9.1-cp312-cp312-win32.whl", hash = "sha256:9e9193cd4bb57e7acd3af24891526299244bfed88168945efdaa09af4e50720f"},
|
| 1415 |
+
{file = "cramjam-2.9.1-cp312-cp312-win_amd64.whl", hash = "sha256:15955dd75e80f66c1ea271167a5347661d9bdc365f894a57698c383c9b7d465c"},
|
| 1416 |
+
{file = "cramjam-2.9.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:5a7797a2fff994fc5e323f7a967a35a3e37e3006ed21d64dcded086502f482af"},
|
| 1417 |
+
{file = "cramjam-2.9.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d51b9b140b1df39a44bff7896d98a10da345b7d5f5ce92368d328c1c2c829167"},
|
| 1418 |
+
{file = "cramjam-2.9.1-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:07ac76b7f992556e7aa910244be11ece578cdf84f4d5d5297461f9a895e18312"},
|
| 1419 |
+
{file = "cramjam-2.9.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d90a72608c7550cd7eba914668f6277bfb0b24f074d1f1bd9d061fcb6f2adbd6"},
|
| 1420 |
+
{file = "cramjam-2.9.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:56495975401b1821dbe1f29cf222e23556232209a2fdb809fe8156d120ca9c7f"},
|
| 1421 |
+
{file = "cramjam-2.9.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3b695259e71fde6d5be66b77a4474523ced9ffe9fe8a34cb9b520ec1241a14d3"},
|
| 1422 |
+
{file = "cramjam-2.9.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ab1e69dc4831bbb79b6d547077aae89074c83e8ad94eba1a3d80e94d2424fd02"},
|
| 1423 |
+
{file = "cramjam-2.9.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:440b489902bfb7a26d3fec1ca888007615336ff763d2a32a2fc40586548a0dbf"},
|
| 1424 |
+
{file = "cramjam-2.9.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:217fe22b41f8c3dce03852f828b059abfad11d1344a1df2f43d3eb8634b18d75"},
|
| 1425 |
+
{file = "cramjam-2.9.1-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:95f3646ddc98af25af25d5692ae65966488a283813336ea9cf41b22e542e7c0d"},
|
| 1426 |
+
{file = "cramjam-2.9.1-cp313-cp313-musllinux_1_1_i686.whl", hash = "sha256:6b19fc60ead1cae9795a5b359599da3a1c95d38f869bdfb51c441fd76b04e926"},
|
| 1427 |
+
{file = "cramjam-2.9.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:8dc5207567459d049696f62a1fdfb220f3fe6aa0d722285d44753e12504dac6c"},
|
| 1428 |
+
{file = "cramjam-2.9.1-cp313-cp313-win32.whl", hash = "sha256:fbfe35929a61b914de9e5dbacde0cfbba86cbf5122f9285a24c14ed0b645490b"},
|
| 1429 |
+
{file = "cramjam-2.9.1-cp313-cp313-win_amd64.whl", hash = "sha256:06068bd191a82ad4fc1ac23d6f8627fb5e37ec4be0431711b9a2dbacaccfeddb"},
|
| 1430 |
+
{file = "cramjam-2.9.1-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:6a2ca4d3c683d28d3217821029eb08d3487d5043d7eb455df11ff3cacfd4c916"},
|
| 1431 |
+
{file = "cramjam-2.9.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:008b49b455b396acc5459dfb06fb9d56049c4097ee8e590892a4d3da9a711da3"},
|
| 1432 |
+
{file = "cramjam-2.9.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:45c18cc13156e8697a8d3f9e57e49a69b00e14a103196efab0893fae1a5257f8"},
|
| 1433 |
+
{file = "cramjam-2.9.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d14a0efb21e0fec0631bcd66040b06e6a0fe10825f3aacffded38c1c978bdff9"},
|
| 1434 |
+
{file = "cramjam-2.9.1-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3f815fb0eba625af45139af4f90f5fc2ddda61b171c2cc3ab63d44b40c5c7768"},
|
| 1435 |
+
{file = "cramjam-2.9.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:04828cbfad7384f06a4a7d0d927c3e85ef11dc5a40b9cf5f3e29ac4e23ecd678"},
|
| 1436 |
+
{file = "cramjam-2.9.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b0944a7c3a78f940c06d1b29bdce91a17798d80593dd01ebfeb842761e48a8b5"},
|
| 1437 |
+
{file = "cramjam-2.9.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec769e5b16251704502277a1163dcf2611551452d7590ff4cc422b7b0367fc96"},
|
| 1438 |
+
{file = "cramjam-2.9.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:3ba79c7d2cc5adb897b690c05dd9b67c4d401736d207314b99315f7be3cd94fd"},
|
| 1439 |
+
{file = "cramjam-2.9.1-cp38-cp38-musllinux_1_1_armv7l.whl", hash = "sha256:d35923fb5411bde30b53c0696dff8e24c8a38b010b89544834c53f4462fd71df"},
|
| 1440 |
+
{file = "cramjam-2.9.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:da0cc0efdbfb8ee2361f89f38ded03d11678f37e392afff7a97b09c55dadfc83"},
|
| 1441 |
+
{file = "cramjam-2.9.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:f89924858712b8b936f04f3d690e72825a3e5127a140b434c79030c1c5a887ce"},
|
| 1442 |
+
{file = "cramjam-2.9.1-cp38-cp38-win32.whl", hash = "sha256:5925a738b8478f223ab9756fc794e3cabd5917fd7846f66adcf1d5fc2bf9864c"},
|
| 1443 |
+
{file = "cramjam-2.9.1-cp38-cp38-win_amd64.whl", hash = "sha256:b7ac273498a2c6772d67707e101b74014c0d9413bb4711c51d8ec311de59b4b1"},
|
| 1444 |
+
{file = "cramjam-2.9.1-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:af39006faddfc6253beb93ca821d544931cfee7f0177b99ff106dfd8fd6a2cd8"},
|
| 1445 |
+
{file = "cramjam-2.9.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b3291be0d3f73d5774d69013be4ab33978c777363b5312d14f62f77817c2f75a"},
|
| 1446 |
+
{file = "cramjam-2.9.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:1539fd758f0e57fad7913cebff8baaee871bb561ddf6fa710a427b74da6b6778"},
|
| 1447 |
+
{file = "cramjam-2.9.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ff362f68bd68ac0eccb445209238d589bba728fb6d7f2e9dc199e0ec3a61d6e0"},
|
| 1448 |
+
{file = "cramjam-2.9.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:23b9786d1d17686fb8d600ade2a19374c7188d4b8867efa9af0d8274a220aec7"},
|
| 1449 |
+
{file = "cramjam-2.9.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8bc9c2c748aaf91863d89c4583f529c1c709485c94f8dfeb3ee48662d88e3258"},
|
| 1450 |
+
{file = "cramjam-2.9.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fd0fa9a0e7f18224b6d2d1d69dbdc3aecec80ef1393c59244159b131604a4395"},
|
| 1451 |
+
{file = "cramjam-2.9.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2ceef6e09ee22457997370882aa3c69de01e6dd0aaa2f953e1e87ad11641d042"},
|
| 1452 |
+
{file = "cramjam-2.9.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:1376f6fdbf0b30712413a0b4e51663a4938ae2f6b449f8e4635dbb3694db83cf"},
|
| 1453 |
+
{file = "cramjam-2.9.1-cp39-cp39-musllinux_1_1_armv7l.whl", hash = "sha256:342fb946f8d3e9e35b837288b03ab23cfbe0bb5a30e582ed805ef79706823a96"},
|
| 1454 |
+
{file = "cramjam-2.9.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:a237064a6e2c2256c9a1cf2beb7c971382190c0f1eb2e810e02e971881756132"},
|
| 1455 |
+
{file = "cramjam-2.9.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:53145fc9f2319c1245d4329e1da8cfacd6e35e27090c07c0b9d453ae2bbdac3e"},
|
| 1456 |
+
{file = "cramjam-2.9.1-cp39-cp39-win32.whl", hash = "sha256:8a9f52c27292c21457f43c4ce124939302a9acfb62295e7cda8667310563a5a3"},
|
| 1457 |
+
{file = "cramjam-2.9.1-cp39-cp39-win_amd64.whl", hash = "sha256:8097ee39b61c86848a443c0b25b2df1de6b331fd512b20836a4f5cfde51ab255"},
|
| 1458 |
+
{file = "cramjam-2.9.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:86824c695688fcd06c5ac9bbd3fea9bdfb4cca194b1e706fbf11a629df48d2b4"},
|
| 1459 |
+
{file = "cramjam-2.9.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:27571bfa5a5d618604696747d0dc1d2a99b5906c967c8dee53c13a7107edfde6"},
|
| 1460 |
+
{file = "cramjam-2.9.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb01f6e38719818778144d3165a89ea1ad9dc58c6342b7f20aa194c70f34cbd1"},
|
| 1461 |
+
{file = "cramjam-2.9.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6b5cef5cf40725fe64592af9ec163e7389855077700678a1d94bec549403a74d"},
|
| 1462 |
+
{file = "cramjam-2.9.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:ac48b978aa0675f62b642750e798c394a64d25ce852e4e541f69bef9a564c2f0"},
|
| 1463 |
+
{file = "cramjam-2.9.1.tar.gz", hash = "sha256:336cc591d86cbd225d256813779f46624f857bc9c779db126271eff9ddc524ae"},
|
| 1464 |
]
|
| 1465 |
|
| 1466 |
[package.extras]
|
|
|
|
| 1502 |
version = "44.0.0"
|
| 1503 |
description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers."
|
| 1504 |
optional = false
|
| 1505 |
+
python-versions = ">=3.7, !=3.9.0, !=3.9.1"
|
| 1506 |
files = [
|
| 1507 |
{file = "cryptography-44.0.0-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:84111ad4ff3f6253820e6d3e58be2cc2a00adb29335d4cacb5ab4d4d34f2a123"},
|
| 1508 |
{file = "cryptography-44.0.0-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b15492a11f9e1b62ba9d73c210e2416724633167de94607ec6069ef724fad092"},
|
|
|
|
| 1510 |
{file = "cryptography-44.0.0-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:761817a3377ef15ac23cd7834715081791d4ec77f9297ee694ca1ee9c2c7e5eb"},
|
| 1511 |
{file = "cryptography-44.0.0-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:3c672a53c0fb4725a29c303be906d3c1fa99c32f58abe008a82705f9ee96f40b"},
|
| 1512 |
{file = "cryptography-44.0.0-cp37-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:4ac4c9f37eba52cb6fbeaf5b59c152ea976726b865bd4cf87883a7e7006cc543"},
|
| 1513 |
+
{file = "cryptography-44.0.0-cp37-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:60eb32934076fa07e4316b7b2742fa52cbb190b42c2df2863dbc4230a0a9b385"},
|
| 1514 |
{file = "cryptography-44.0.0-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:ed3534eb1090483c96178fcb0f8893719d96d5274dfde98aa6add34614e97c8e"},
|
| 1515 |
{file = "cryptography-44.0.0-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:f3f6fdfa89ee2d9d496e2c087cebef9d4fcbb0ad63c40e821b39f74bf48d9c5e"},
|
| 1516 |
{file = "cryptography-44.0.0-cp37-abi3-win32.whl", hash = "sha256:eb33480f1bad5b78233b0ad3e1b0be21e8ef1da745d8d2aecbb20671658b9053"},
|
|
|
|
| 1521 |
{file = "cryptography-44.0.0-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:c5eb858beed7835e5ad1faba59e865109f3e52b3783b9ac21e7e47dc5554e289"},
|
| 1522 |
{file = "cryptography-44.0.0-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:f53c2c87e0fb4b0c00fa9571082a057e37690a8f12233306161c8f4b819960b7"},
|
| 1523 |
{file = "cryptography-44.0.0-cp39-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:9e6fc8a08e116fb7c7dd1f040074c9d7b51d74a8ea40d4df2fc7aa08b76b9e6c"},
|
| 1524 |
+
{file = "cryptography-44.0.0-cp39-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:9abcc2e083cbe8dde89124a47e5e53ec38751f0d7dfd36801008f316a127d7ba"},
|
| 1525 |
{file = "cryptography-44.0.0-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:d2436114e46b36d00f8b72ff57e598978b37399d2786fd39793c36c6d5cb1c64"},
|
| 1526 |
{file = "cryptography-44.0.0-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:a01956ddfa0a6790d594f5b34fc1bfa6098aca434696a03cfdbe469b8ed79285"},
|
| 1527 |
{file = "cryptography-44.0.0-cp39-abi3-win32.whl", hash = "sha256:eca27345e1214d1b9f9490d200f9db5a874479be914199194e746c893788d417"},
|
|
|
|
| 1711 |
version = "1.2.15"
|
| 1712 |
description = "Python @deprecated decorator to deprecate old python classes, functions or methods."
|
| 1713 |
optional = false
|
| 1714 |
+
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
| 1715 |
files = [
|
| 1716 |
{file = "Deprecated-1.2.15-py2.py3-none-any.whl", hash = "sha256:353bc4a8ac4bfc96800ddab349d89c25dec1079f65fd53acdcc1e0b975b21320"},
|
| 1717 |
{file = "deprecated-1.2.15.tar.gz", hash = "sha256:683e561a90de76239796e6b6feac66b99030d2dd3fcf61ef996330f14bbb9b0d"},
|
|
|
|
| 2042 |
version = "0.3.6"
|
| 2043 |
description = "Fast, light, accurate library built for retrieval embedding generation"
|
| 2044 |
optional = false
|
| 2045 |
+
python-versions = ">=3.8.0,<3.13"
|
| 2046 |
files = [
|
| 2047 |
{file = "fastembed-0.3.6-py3-none-any.whl", hash = "sha256:2bf70edae28bb4ccd9e01617098c2075b0ba35b88025a3d22b0e1e85b2c488ce"},
|
| 2048 |
{file = "fastembed-0.3.6.tar.gz", hash = "sha256:c93c8ec99b8c008c2d192d6297866b8d70ec7ac8f5696b34eb5ea91f85efd15f"},
|
|
|
|
| 2095 |
{file = "fastparquet-2024.11.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0e2d7f02f57231e6c86d26e9ea71953737202f20e948790e5d4db6d6a1a150dc"},
|
| 2096 |
{file = "fastparquet-2024.11.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:fbe4468146b633d8f09d7b196fea0547f213cb5ce5f76e9d1beb29eaa9593a93"},
|
| 2097 |
{file = "fastparquet-2024.11.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:29d5c718817bcd765fc519b17f759cad4945974421ecc1931d3bdc3e05e57fa9"},
|
|
|
|
| 2098 |
{file = "fastparquet-2024.11.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:59e5c5b51083d5b82572cdb7aed0346e3181e3ac9d2e45759da2e804bdafa7ee"},
|
| 2099 |
{file = "fastparquet-2024.11.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:bdadf7b6bad789125b823bfc5b0a719ba5c4a2ef965f973702d3ea89cff057f6"},
|
| 2100 |
{file = "fastparquet-2024.11.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:46b2db02fc2a1507939d35441c8ab211d53afd75d82eec9767d1c3656402859b"},
|
|
|
|
| 2797 |
|
| 2798 |
[[package]]
|
| 2799 |
name = "google-cloud-resource-manager"
|
| 2800 |
+
version = "1.14.0"
|
| 2801 |
description = "Google Cloud Resource Manager API client library"
|
| 2802 |
optional = false
|
| 2803 |
python-versions = ">=3.7"
|
| 2804 |
files = [
|
| 2805 |
+
{file = "google_cloud_resource_manager-1.14.0-py2.py3-none-any.whl", hash = "sha256:4860c3ea9ace760b317ea90d4e27f1b32e54ededdcc340a7cb70c8ef238d8f7c"},
|
| 2806 |
+
{file = "google_cloud_resource_manager-1.14.0.tar.gz", hash = "sha256:daa70a3a4704759d31f812ed221e3b6f7b660af30c7862e4a0060ea91291db30"},
|
| 2807 |
]
|
| 2808 |
|
| 2809 |
[package.dependencies]
|
|
|
|
| 2966 |
version = "3.4.1"
|
| 2967 |
description = "A set of Python modules for graph statistics"
|
| 2968 |
optional = false
|
| 2969 |
+
python-versions = ">=3.9,<3.13"
|
| 2970 |
files = [
|
| 2971 |
{file = "graspologic-3.4.1-py3-none-any.whl", hash = "sha256:c6563e087eda599bad1de831d4b7321c0daa7a82f4e85a7d7737ff67e07cdda2"},
|
| 2972 |
{file = "graspologic-3.4.1.tar.gz", hash = "sha256:7561f0b852a2bccd351bff77e8db07d9892f9dfa35a420fdec01690e4fdc8075"},
|
|
|
|
| 3651 |
version = "0.0.66"
|
| 3652 |
description = "Infinity is a high-throughput, low-latency REST API for serving text-embeddings, reranking models and clip."
|
| 3653 |
optional = false
|
| 3654 |
+
python-versions = ">=3.9,<4"
|
| 3655 |
files = [
|
| 3656 |
{file = "infinity_emb-0.0.66-py3-none-any.whl", hash = "sha256:1dc6ed9fa48e6cbe83650a7583dbbb4bc393900c39c326bb0aff2ddc090ac018"},
|
| 3657 |
{file = "infinity_emb-0.0.66.tar.gz", hash = "sha256:9c9a361ccebf8e8f626c1f685286518d03d0c35e7d14179ae7c2500b4fc68b98"},
|
|
|
|
| 3678 |
|
| 3679 |
[[package]]
|
| 3680 |
name = "infinity-sdk"
|
| 3681 |
+
version = "0.5.0.dev6"
|
| 3682 |
description = "infinity"
|
| 3683 |
optional = false
|
| 3684 |
python-versions = ">=3.10"
|
| 3685 |
files = [
|
| 3686 |
+
{file = "infinity_sdk-0.5.0.dev6-py3-none-any.whl", hash = "sha256:7b73303b6e27912f954bcfcedaec0b09aa2ce913c6c4816acec9e8f50dccc66a"},
|
| 3687 |
]
|
| 3688 |
|
| 3689 |
[package.dependencies]
|
|
|
|
| 4100 |
version = "1.48.0"
|
| 4101 |
description = "Library to easily interface with LLM API providers"
|
| 4102 |
optional = false
|
| 4103 |
+
python-versions = ">=3.8, !=2.7.*, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*, !=3.7.*"
|
| 4104 |
files = [
|
| 4105 |
{file = "litellm-1.48.0-py3-none-any.whl", hash = "sha256:7765e8a92069778f5fc66aacfabd0e2f8ec8d74fb117f5e475567d89b0d376b9"},
|
| 4106 |
{file = "litellm-1.48.0.tar.gz", hash = "sha256:31a9b8a25a9daf44c24ddc08bf74298da920f2c5cea44135e5061278d0aa6fc9"},
|
|
|
|
| 4158 |
version = "0.7.3"
|
| 4159 |
description = "Python logging made (stupidly) simple"
|
| 4160 |
optional = false
|
| 4161 |
+
python-versions = ">=3.5,<4.0"
|
| 4162 |
files = [
|
| 4163 |
{file = "loguru-0.7.3-py3-none-any.whl", hash = "sha256:31a33c10c8e1e10422bfd431aeb5d351c7cf7fa671e3c4df004162264b28220c"},
|
| 4164 |
{file = "loguru-0.7.3.tar.gz", hash = "sha256:19480589e77d47b8d85b2c827ad95d49bf31b0dcde16593892eb51dd18706eb6"},
|
|
|
|
| 6299 |
version = "6.1.0"
|
| 6300 |
description = "Cross-platform lib for process and system monitoring in Python."
|
| 6301 |
optional = false
|
| 6302 |
+
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*"
|
| 6303 |
files = [
|
| 6304 |
{file = "psutil-6.1.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:ff34df86226c0227c52f38b919213157588a678d049688eded74c76c8ba4a5d0"},
|
| 6305 |
{file = "psutil-6.1.0-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:c0e0c00aa18ca2d3b2b991643b799a15fc8f0563d2ebb6040f64ce8dc027b942"},
|
|
|
|
| 6321 |
]
|
| 6322 |
|
| 6323 |
[package.extras]
|
| 6324 |
+
dev = ["black", "check-manifest", "coverage", "packaging", "pylint", "pyperf", "pypinfo", "pytest-cov", "requests", "rstcheck", "ruff", "sphinx", "sphinx-rtd-theme", "toml-sort", "twine", "virtualenv", "wheel"]
|
| 6325 |
+
test = ["enum34", "futures", "ipaddress", "mock (==1.0.1)", "pytest (==4.6.11)", "pytest-xdist", "setuptools", "unittest2"]
|
| 6326 |
|
| 6327 |
[[package]]
|
| 6328 |
name = "psycopg2-binary"
|
|
|
|
| 7852 |
{file = "ruamel.yaml.clib-0.2.12-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:a606ef75a60ecf3d924613892cc603b154178ee25abb3055db5062da811fd969"},
|
| 7853 |
{file = "ruamel.yaml.clib-0.2.12-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd5415dded15c3822597455bc02bcd66e81ef8b7a48cb71a33628fc9fdde39df"},
|
| 7854 |
{file = "ruamel.yaml.clib-0.2.12-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f66efbc1caa63c088dead1c4170d148eabc9b80d95fb75b6c92ac0aad2437d76"},
|
|
|
|
|
|
|
|
|
|
| 7855 |
{file = "ruamel.yaml.clib-0.2.12-cp310-cp310-win32.whl", hash = "sha256:3eac5a91891ceb88138c113f9db04f3cebdae277f5d44eaa3651a4f573e6a5da"},
|
| 7856 |
{file = "ruamel.yaml.clib-0.2.12-cp310-cp310-win_amd64.whl", hash = "sha256:ab007f2f5a87bd08ab1499bdf96f3d5c6ad4dcfa364884cb4549aa0154b13a28"},
|
| 7857 |
{file = "ruamel.yaml.clib-0.2.12-cp311-cp311-macosx_13_0_arm64.whl", hash = "sha256:4a6679521a58256a90b0d89e03992c15144c5f3858f40d7c18886023d7943db6"},
|
| 7858 |
{file = "ruamel.yaml.clib-0.2.12-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:d84318609196d6bd6da0edfa25cedfbabd8dbde5140a0a23af29ad4b8f91fb1e"},
|
| 7859 |
{file = "ruamel.yaml.clib-0.2.12-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bb43a269eb827806502c7c8efb7ae7e9e9d0573257a46e8e952f4d4caba4f31e"},
|
| 7860 |
{file = "ruamel.yaml.clib-0.2.12-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:811ea1594b8a0fb466172c384267a4e5e367298af6b228931f273b111f17ef52"},
|
|
|
|
|
|
|
|
|
|
| 7861 |
{file = "ruamel.yaml.clib-0.2.12-cp311-cp311-win32.whl", hash = "sha256:bd0a08f0bab19093c54e18a14a10b4322e1eacc5217056f3c063bd2f59853ce4"},
|
| 7862 |
{file = "ruamel.yaml.clib-0.2.12-cp311-cp311-win_amd64.whl", hash = "sha256:a274fb2cb086c7a3dea4322ec27f4cb5cc4b6298adb583ab0e211a4682f241eb"},
|
| 7863 |
{file = "ruamel.yaml.clib-0.2.12-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:20b0f8dc160ba83b6dcc0e256846e1a02d044e13f7ea74a3d1d56ede4e48c632"},
|
| 7864 |
{file = "ruamel.yaml.clib-0.2.12-cp312-cp312-manylinux2014_aarch64.whl", hash = "sha256:943f32bc9dedb3abff9879edc134901df92cfce2c3d5c9348f172f62eb2d771d"},
|
| 7865 |
{file = "ruamel.yaml.clib-0.2.12-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95c3829bb364fdb8e0332c9931ecf57d9be3519241323c5274bd82f709cebc0c"},
|
| 7866 |
{file = "ruamel.yaml.clib-0.2.12-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:749c16fcc4a2b09f28843cda5a193e0283e47454b63ec4b81eaa2242f50e4ccd"},
|
|
|
|
|
|
|
|
|
|
| 7867 |
{file = "ruamel.yaml.clib-0.2.12-cp312-cp312-win32.whl", hash = "sha256:e8c4ebfcfd57177b572e2040777b8abc537cdef58a2120e830124946aa9b42c5"},
|
| 7868 |
{file = "ruamel.yaml.clib-0.2.12-cp312-cp312-win_amd64.whl", hash = "sha256:0467c5965282c62203273b838ae77c0d29d7638c8a4e3a1c8bdd3602c10904e4"},
|
| 7869 |
{file = "ruamel.yaml.clib-0.2.12-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:4c8c5d82f50bb53986a5e02d1b3092b03622c02c2eb78e29bec33fd9593bae1a"},
|
| 7870 |
{file = "ruamel.yaml.clib-0.2.12-cp313-cp313-manylinux2014_aarch64.whl", hash = "sha256:e7e3736715fbf53e9be2a79eb4db68e4ed857017344d697e8b9749444ae57475"},
|
| 7871 |
{file = "ruamel.yaml.clib-0.2.12-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b7e75b4965e1d4690e93021adfcecccbca7d61c7bddd8e22406ef2ff20d74ef"},
|
| 7872 |
{file = "ruamel.yaml.clib-0.2.12-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:96777d473c05ee3e5e3c3e999f5d23c6f4ec5b0c38c098b3a5229085f74236c6"},
|
|
|
|
|
|
|
|
|
|
| 7873 |
{file = "ruamel.yaml.clib-0.2.12-cp313-cp313-win32.whl", hash = "sha256:6442cb36270b3afb1b4951f060eccca1ce49f3d087ca1ca4563a6eb479cb3de6"},
|
| 7874 |
{file = "ruamel.yaml.clib-0.2.12-cp313-cp313-win_amd64.whl", hash = "sha256:e5b8daf27af0b90da7bb903a876477a9e6d7270be6146906b276605997c7e9a3"},
|
| 7875 |
{file = "ruamel.yaml.clib-0.2.12-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:fc4b630cd3fa2cf7fce38afa91d7cfe844a9f75d7f0f36393fa98815e911d987"},
|
| 7876 |
{file = "ruamel.yaml.clib-0.2.12-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:bc5f1e1c28e966d61d2519f2a3d451ba989f9ea0f2307de7bc45baa526de9e45"},
|
| 7877 |
{file = "ruamel.yaml.clib-0.2.12-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5a0e060aace4c24dcaf71023bbd7d42674e3b230f7e7b97317baf1e953e5b519"},
|
| 7878 |
{file = "ruamel.yaml.clib-0.2.12-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e2f1c3765db32be59d18ab3953f43ab62a761327aafc1594a2a1fbe038b8b8a7"},
|
|
|
|
|
|
|
|
|
|
| 7879 |
{file = "ruamel.yaml.clib-0.2.12-cp39-cp39-win32.whl", hash = "sha256:beffaed67936fbbeffd10966a4eb53c402fafd3d6833770516bf7314bc6ffa12"},
|
| 7880 |
{file = "ruamel.yaml.clib-0.2.12-cp39-cp39-win_amd64.whl", hash = "sha256:040ae85536960525ea62868b642bdb0c2cc6021c9f9d507810c0c604e66f5a7b"},
|
| 7881 |
{file = "ruamel.yaml.clib-0.2.12.tar.gz", hash = "sha256:6c8fbb13ec503f99a91901ab46e0b07ae7941cd527393187039aec586fdfd36f"},
|
|
|
|
| 7886 |
version = "0.10.4"
|
| 7887 |
description = "An Amazon S3 Transfer Manager"
|
| 7888 |
optional = false
|
| 7889 |
+
python-versions = ">= 3.8"
|
| 7890 |
files = [
|
| 7891 |
{file = "s3transfer-0.10.4-py3-none-any.whl", hash = "sha256:244a76a24355363a68164241438de1b72f8781664920260c48465896b712a41e"},
|
| 7892 |
{file = "s3transfer-0.10.4.tar.gz", hash = "sha256:29edc09801743c21eb5ecbc617a152df41d3c287f67b615f73e5f750583666a7"},
|
|
|
|
| 8348 |
version = "7.0.5"
|
| 8349 |
description = "Utils for streaming large files (S3, HDFS, GCS, Azure Blob Storage, gzip, bz2...)"
|
| 8350 |
optional = false
|
| 8351 |
+
python-versions = ">=3.7,<4.0"
|
| 8352 |
files = [
|
| 8353 |
{file = "smart_open-7.0.5-py3-none-any.whl", hash = "sha256:8523ed805c12dff3eaa50e9c903a6cb0ae78800626631c5fe7ea073439847b89"},
|
| 8354 |
{file = "smart_open-7.0.5.tar.gz", hash = "sha256:d3672003b1dbc85e2013e4983b88eb9a5ccfd389b0d4e5015f39a9ee5620ec18"},
|
|
|
|
| 10158 |
[metadata]
|
| 10159 |
lock-version = "2.0"
|
| 10160 |
python-versions = ">=3.10,<3.13"
|
| 10161 |
+
content-hash = "30749c224b19478036cd0540ca2d0927ea4436574c84733959af127e9917bb19"
|
pyproject.toml
CHANGED
|
@@ -48,7 +48,7 @@ hanziconv = "0.3.2"
|
|
| 48 |
html-text = "0.6.2"
|
| 49 |
httpx = "0.27.0"
|
| 50 |
huggingface-hub = "^0.25.0"
|
| 51 |
-
infinity-sdk = "0.5.0.
|
| 52 |
infinity-emb = "^0.0.66"
|
| 53 |
itsdangerous = "2.1.2"
|
| 54 |
markdown = "3.6"
|
|
|
|
| 48 |
html-text = "0.6.2"
|
| 49 |
httpx = "0.27.0"
|
| 50 |
huggingface-hub = "^0.25.0"
|
| 51 |
+
infinity-sdk = "0.5.0.dev6"
|
| 52 |
infinity-emb = "^0.0.66"
|
| 53 |
itsdangerous = "2.1.2"
|
| 54 |
markdown = "3.6"
|
rag/utils/infinity_conn.py
CHANGED
|
@@ -25,11 +25,11 @@ from rag.utils.doc_store_conn import (
|
|
| 25 |
|
| 26 |
logger = logging.getLogger('ragflow.infinity_conn')
|
| 27 |
|
| 28 |
-
def equivalent_condition_to_str(condition: dict) -> str:
|
| 29 |
assert "_id" not in condition
|
| 30 |
cond = list()
|
| 31 |
for k, v in condition.items():
|
| 32 |
-
if not isinstance(k, str) or not v:
|
| 33 |
continue
|
| 34 |
if isinstance(v, list):
|
| 35 |
inCond = list()
|
|
@@ -46,7 +46,7 @@ def equivalent_condition_to_str(condition: dict) -> str:
|
|
| 46 |
cond.append(f"{k}='{v}'")
|
| 47 |
else:
|
| 48 |
cond.append(f"{k}={str(v)}")
|
| 49 |
-
return " AND ".join(cond)
|
| 50 |
|
| 51 |
|
| 52 |
def concat_dataframes(df_list: list[pl.DataFrame], selectFields: list[str]) -> pl.DataFrame:
|
|
@@ -75,10 +75,12 @@ class InfinityConnection(DocStoreConnection):
|
|
| 75 |
connPool = ConnectionPool(infinity_uri)
|
| 76 |
inf_conn = connPool.get_conn()
|
| 77 |
res = inf_conn.show_current_node()
|
| 78 |
-
connPool.release_conn(inf_conn)
|
| 79 |
-
self.connPool = connPool
|
| 80 |
if res.error_code == ErrorCode.OK and res.server_status=="started":
|
|
|
|
|
|
|
|
|
|
| 81 |
break
|
|
|
|
| 82 |
logger.warn(f"Infinity status: {res.server_status}. Waiting Infinity {infinity_uri} to be healthy.")
|
| 83 |
time.sleep(5)
|
| 84 |
except Exception as e:
|
|
@@ -90,6 +92,41 @@ class InfinityConnection(DocStoreConnection):
|
|
| 90 |
raise Exception(msg)
|
| 91 |
logger.info(f"Infinity {infinity_uri} is healthy.")
|
| 92 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 93 |
"""
|
| 94 |
Database operations
|
| 95 |
"""
|
|
@@ -148,20 +185,16 @@ class InfinityConnection(DocStoreConnection):
|
|
| 148 |
),
|
| 149 |
ConflictType.Ignore,
|
| 150 |
)
|
| 151 |
-
text_suffix = ["_tks", "_ltks", "_kwd"]
|
| 152 |
for field_name, field_info in schema.items():
|
| 153 |
-
if field_info["type"] != "varchar":
|
| 154 |
continue
|
| 155 |
-
|
| 156 |
-
|
| 157 |
-
|
| 158 |
-
|
| 159 |
-
|
| 160 |
-
|
| 161 |
-
|
| 162 |
-
ConflictType.Ignore,
|
| 163 |
-
)
|
| 164 |
-
break
|
| 165 |
self.connPool.release_conn(inf_conn)
|
| 166 |
logger.info(
|
| 167 |
f"INFINITY created table {table_name}, vector size {vectorSize}"
|
|
@@ -202,7 +235,7 @@ class InfinityConnection(DocStoreConnection):
|
|
| 202 |
limit: int,
|
| 203 |
indexNames: str | list[str],
|
| 204 |
knowledgebaseIds: list[str],
|
| 205 |
-
) ->
|
| 206 |
"""
|
| 207 |
TODO: Infinity doesn't provide highlight
|
| 208 |
"""
|
|
@@ -217,21 +250,18 @@ class InfinityConnection(DocStoreConnection):
|
|
| 217 |
selectFields.append("id")
|
| 218 |
|
| 219 |
# Prepare expressions common to all tables
|
| 220 |
-
filter_cond =
|
| 221 |
filter_fulltext = ""
|
| 222 |
if condition:
|
| 223 |
filter_cond = equivalent_condition_to_str(condition)
|
| 224 |
for matchExpr in matchExprs:
|
| 225 |
if isinstance(matchExpr, MatchTextExpr):
|
| 226 |
-
if
|
| 227 |
matchExpr.extra_options.update({"filter": filter_cond})
|
| 228 |
fields = ",".join(matchExpr.fields)
|
| 229 |
-
filter_fulltext = (
|
| 230 |
-
|
| 231 |
-
)
|
| 232 |
-
if len(filter_cond) != 0:
|
| 233 |
filter_fulltext = f"({filter_cond}) AND {filter_fulltext}"
|
| 234 |
-
logger.debug(f"filter_fulltext: {filter_fulltext}")
|
| 235 |
minimum_should_match = matchExpr.extra_options.get("minimum_should_match", 0.0)
|
| 236 |
if isinstance(minimum_should_match, float):
|
| 237 |
str_minimum_should_match = str(int(minimum_should_match * 100)) + "%"
|
|
@@ -239,12 +269,16 @@ class InfinityConnection(DocStoreConnection):
|
|
| 239 |
for k, v in matchExpr.extra_options.items():
|
| 240 |
if not isinstance(v, str):
|
| 241 |
matchExpr.extra_options[k] = str(v)
|
|
|
|
| 242 |
elif isinstance(matchExpr, MatchDenseExpr):
|
| 243 |
-
if
|
| 244 |
matchExpr.extra_options.update({"filter": filter_fulltext})
|
| 245 |
for k, v in matchExpr.extra_options.items():
|
| 246 |
if not isinstance(v, str):
|
| 247 |
matchExpr.extra_options[k] = str(v)
|
|
|
|
|
|
|
|
|
|
| 248 |
|
| 249 |
order_by_expr_list = list()
|
| 250 |
if orderBy.fields:
|
|
@@ -254,6 +288,7 @@ class InfinityConnection(DocStoreConnection):
|
|
| 254 |
else:
|
| 255 |
order_by_expr_list.append((order_field[0], SortType.Desc))
|
| 256 |
|
|
|
|
| 257 |
# Scatter search tables and gather the results
|
| 258 |
for indexName in indexNames:
|
| 259 |
for knowledgebaseId in knowledgebaseIds:
|
|
@@ -293,12 +328,14 @@ class InfinityConnection(DocStoreConnection):
|
|
| 293 |
if orderBy.fields:
|
| 294 |
builder.sort(order_by_expr_list)
|
| 295 |
builder.offset(offset).limit(limit)
|
| 296 |
-
kb_res = builder.to_pl()
|
|
|
|
|
|
|
| 297 |
df_list.append(kb_res)
|
| 298 |
self.connPool.release_conn(inf_conn)
|
| 299 |
res = concat_dataframes(df_list, selectFields)
|
| 300 |
logger.debug(f"INFINITY search tables: {str(table_list)}, result: {str(res)}")
|
| 301 |
-
return res
|
| 302 |
|
| 303 |
def get(
|
| 304 |
self, chunkId: str, indexName: str, knowledgebaseIds: list[str]
|
|
@@ -312,7 +349,7 @@ class InfinityConnection(DocStoreConnection):
|
|
| 312 |
table_name = f"{indexName}_{knowledgebaseId}"
|
| 313 |
table_list.append(table_name)
|
| 314 |
table_instance = db_instance.get_table(table_name)
|
| 315 |
-
kb_res = table_instance.output(["*"]).filter(f"id = '{chunkId}'").to_pl()
|
| 316 |
if len(kb_res) != 0 and kb_res.shape[0] > 0:
|
| 317 |
df_list.append(kb_res)
|
| 318 |
|
|
@@ -372,7 +409,7 @@ class InfinityConnection(DocStoreConnection):
|
|
| 372 |
# logger.info(f"InfinityConnection.insert {json.dumps(documents)}")
|
| 373 |
table_instance.insert(documents)
|
| 374 |
self.connPool.release_conn(inf_conn)
|
| 375 |
-
logger.debug(f"inserted into {table_name} {str_ids}.")
|
| 376 |
return []
|
| 377 |
|
| 378 |
def update(
|
|
@@ -398,6 +435,7 @@ class InfinityConnection(DocStoreConnection):
|
|
| 398 |
elif k in ["page_num_int", "top_int"]:
|
| 399 |
assert isinstance(v, list)
|
| 400 |
newValue[k] = "_".join(f"{num:08x}" for num in v)
|
|
|
|
| 401 |
table_instance.update(filter, newValue)
|
| 402 |
self.connPool.release_conn(inf_conn)
|
| 403 |
return True
|
|
@@ -414,6 +452,7 @@ class InfinityConnection(DocStoreConnection):
|
|
| 414 |
f"Skipped deleting `{filter}` from table {table_name} since the table doesn't exist."
|
| 415 |
)
|
| 416 |
return 0
|
|
|
|
| 417 |
res = table_instance.delete(filter)
|
| 418 |
self.connPool.release_conn(inf_conn)
|
| 419 |
return res.deleted_rows
|
|
@@ -422,13 +461,19 @@ class InfinityConnection(DocStoreConnection):
|
|
| 422 |
Helper functions for search result
|
| 423 |
"""
|
| 424 |
|
| 425 |
-
def getTotal(self, res):
|
|
|
|
|
|
|
| 426 |
return len(res)
|
| 427 |
|
| 428 |
-
def getChunkIds(self, res):
|
|
|
|
|
|
|
| 429 |
return list(res["id"])
|
| 430 |
|
| 431 |
-
def getFields(self, res, fields: list[str]) -> list[str, dict]:
|
|
|
|
|
|
|
| 432 |
res_fields = {}
|
| 433 |
if not fields:
|
| 434 |
return {}
|
|
@@ -469,7 +514,9 @@ class InfinityConnection(DocStoreConnection):
|
|
| 469 |
res_fields[id] = m
|
| 470 |
return res_fields
|
| 471 |
|
| 472 |
-
def getHighlight(self, res, keywords: list[str], fieldnm: str):
|
|
|
|
|
|
|
| 473 |
ans = {}
|
| 474 |
num_rows = len(res)
|
| 475 |
column_id = res["id"]
|
|
@@ -495,7 +542,7 @@ class InfinityConnection(DocStoreConnection):
|
|
| 495 |
ans[id] = "...".join(txts)
|
| 496 |
return ans
|
| 497 |
|
| 498 |
-
def getAggregation(self, res, fieldnm: str):
|
| 499 |
"""
|
| 500 |
TODO: Infinity doesn't provide aggregation
|
| 501 |
"""
|
|
|
|
| 25 |
|
| 26 |
logger = logging.getLogger('ragflow.infinity_conn')
|
| 27 |
|
| 28 |
+
def equivalent_condition_to_str(condition: dict) -> str|None:
|
| 29 |
assert "_id" not in condition
|
| 30 |
cond = list()
|
| 31 |
for k, v in condition.items():
|
| 32 |
+
if not isinstance(k, str) or k in ["kb_id"] or not v:
|
| 33 |
continue
|
| 34 |
if isinstance(v, list):
|
| 35 |
inCond = list()
|
|
|
|
| 46 |
cond.append(f"{k}='{v}'")
|
| 47 |
else:
|
| 48 |
cond.append(f"{k}={str(v)}")
|
| 49 |
+
return " AND ".join(cond) if cond else None
|
| 50 |
|
| 51 |
|
| 52 |
def concat_dataframes(df_list: list[pl.DataFrame], selectFields: list[str]) -> pl.DataFrame:
|
|
|
|
| 75 |
connPool = ConnectionPool(infinity_uri)
|
| 76 |
inf_conn = connPool.get_conn()
|
| 77 |
res = inf_conn.show_current_node()
|
|
|
|
|
|
|
| 78 |
if res.error_code == ErrorCode.OK and res.server_status=="started":
|
| 79 |
+
self._migrate_db(inf_conn)
|
| 80 |
+
self.connPool = connPool
|
| 81 |
+
connPool.release_conn(inf_conn)
|
| 82 |
break
|
| 83 |
+
connPool.release_conn(inf_conn)
|
| 84 |
logger.warn(f"Infinity status: {res.server_status}. Waiting Infinity {infinity_uri} to be healthy.")
|
| 85 |
time.sleep(5)
|
| 86 |
except Exception as e:
|
|
|
|
| 92 |
raise Exception(msg)
|
| 93 |
logger.info(f"Infinity {infinity_uri} is healthy.")
|
| 94 |
|
| 95 |
+
def _migrate_db(self, inf_conn):
|
| 96 |
+
inf_db = inf_conn.create_database(self.dbName, ConflictType.Ignore)
|
| 97 |
+
fp_mapping = os.path.join(
|
| 98 |
+
get_project_base_directory(), "conf", "infinity_mapping.json"
|
| 99 |
+
)
|
| 100 |
+
if not os.path.exists(fp_mapping):
|
| 101 |
+
raise Exception(f"Mapping file not found at {fp_mapping}")
|
| 102 |
+
schema = json.load(open(fp_mapping))
|
| 103 |
+
table_names = inf_db.list_tables().table_names
|
| 104 |
+
for table_name in table_names:
|
| 105 |
+
inf_table = inf_db.get_table(table_name)
|
| 106 |
+
index_names = inf_table.list_indexes().index_names
|
| 107 |
+
if "q_vec_idx" not in index_names:
|
| 108 |
+
# Skip tables not created by me
|
| 109 |
+
continue
|
| 110 |
+
column_names = inf_table.show_columns()["name"]
|
| 111 |
+
column_names = set(column_names)
|
| 112 |
+
for field_name, field_info in schema.items():
|
| 113 |
+
if field_name in column_names:
|
| 114 |
+
continue
|
| 115 |
+
res = inf_table.add_columns({field_name: field_info})
|
| 116 |
+
assert res.error_code == infinity.ErrorCode.OK
|
| 117 |
+
logger.info(
|
| 118 |
+
f"INFINITY added following column to table {table_name}: {field_name} {field_info}"
|
| 119 |
+
)
|
| 120 |
+
if field_info["type"] != "varchar" or "analyzer" not in field_info:
|
| 121 |
+
continue
|
| 122 |
+
inf_table.create_index(
|
| 123 |
+
f"text_idx_{field_name}",
|
| 124 |
+
IndexInfo(
|
| 125 |
+
field_name, IndexType.FullText, {"ANALYZER": field_info["analyzer"]}
|
| 126 |
+
),
|
| 127 |
+
ConflictType.Ignore,
|
| 128 |
+
)
|
| 129 |
+
|
| 130 |
"""
|
| 131 |
Database operations
|
| 132 |
"""
|
|
|
|
| 185 |
),
|
| 186 |
ConflictType.Ignore,
|
| 187 |
)
|
|
|
|
| 188 |
for field_name, field_info in schema.items():
|
| 189 |
+
if field_info["type"] != "varchar" or "analyzer" not in field_info:
|
| 190 |
continue
|
| 191 |
+
inf_table.create_index(
|
| 192 |
+
f"text_idx_{field_name}",
|
| 193 |
+
IndexInfo(
|
| 194 |
+
field_name, IndexType.FullText, {"ANALYZER": field_info["analyzer"]}
|
| 195 |
+
),
|
| 196 |
+
ConflictType.Ignore,
|
| 197 |
+
)
|
|
|
|
|
|
|
|
|
|
| 198 |
self.connPool.release_conn(inf_conn)
|
| 199 |
logger.info(
|
| 200 |
f"INFINITY created table {table_name}, vector size {vectorSize}"
|
|
|
|
| 235 |
limit: int,
|
| 236 |
indexNames: str | list[str],
|
| 237 |
knowledgebaseIds: list[str],
|
| 238 |
+
) -> tuple[pl.DataFrame, int]:
|
| 239 |
"""
|
| 240 |
TODO: Infinity doesn't provide highlight
|
| 241 |
"""
|
|
|
|
| 250 |
selectFields.append("id")
|
| 251 |
|
| 252 |
# Prepare expressions common to all tables
|
| 253 |
+
filter_cond = None
|
| 254 |
filter_fulltext = ""
|
| 255 |
if condition:
|
| 256 |
filter_cond = equivalent_condition_to_str(condition)
|
| 257 |
for matchExpr in matchExprs:
|
| 258 |
if isinstance(matchExpr, MatchTextExpr):
|
| 259 |
+
if filter_cond and "filter" not in matchExpr.extra_options:
|
| 260 |
matchExpr.extra_options.update({"filter": filter_cond})
|
| 261 |
fields = ",".join(matchExpr.fields)
|
| 262 |
+
filter_fulltext = f"filter_fulltext('{fields}', '{matchExpr.matching_text}')"
|
| 263 |
+
if filter_cond:
|
|
|
|
|
|
|
| 264 |
filter_fulltext = f"({filter_cond}) AND {filter_fulltext}"
|
|
|
|
| 265 |
minimum_should_match = matchExpr.extra_options.get("minimum_should_match", 0.0)
|
| 266 |
if isinstance(minimum_should_match, float):
|
| 267 |
str_minimum_should_match = str(int(minimum_should_match * 100)) + "%"
|
|
|
|
| 269 |
for k, v in matchExpr.extra_options.items():
|
| 270 |
if not isinstance(v, str):
|
| 271 |
matchExpr.extra_options[k] = str(v)
|
| 272 |
+
logger.debug(f"INFINITY search MatchTextExpr: {json.dumps(matchExpr.__dict__)}")
|
| 273 |
elif isinstance(matchExpr, MatchDenseExpr):
|
| 274 |
+
if filter_cond and "filter" not in matchExpr.extra_options:
|
| 275 |
matchExpr.extra_options.update({"filter": filter_fulltext})
|
| 276 |
for k, v in matchExpr.extra_options.items():
|
| 277 |
if not isinstance(v, str):
|
| 278 |
matchExpr.extra_options[k] = str(v)
|
| 279 |
+
logger.debug(f"INFINITY search MatchDenseExpr: {json.dumps(matchExpr.__dict__)}")
|
| 280 |
+
elif isinstance(matchExpr, FusionExpr):
|
| 281 |
+
logger.debug(f"INFINITY search FusionExpr: {json.dumps(matchExpr.__dict__)}")
|
| 282 |
|
| 283 |
order_by_expr_list = list()
|
| 284 |
if orderBy.fields:
|
|
|
|
| 288 |
else:
|
| 289 |
order_by_expr_list.append((order_field[0], SortType.Desc))
|
| 290 |
|
| 291 |
+
total_hits_count = 0
|
| 292 |
# Scatter search tables and gather the results
|
| 293 |
for indexName in indexNames:
|
| 294 |
for knowledgebaseId in knowledgebaseIds:
|
|
|
|
| 328 |
if orderBy.fields:
|
| 329 |
builder.sort(order_by_expr_list)
|
| 330 |
builder.offset(offset).limit(limit)
|
| 331 |
+
kb_res, extra_result = builder.option({"total_hits_count": True}).to_pl()
|
| 332 |
+
if extra_result:
|
| 333 |
+
total_hits_count += int(extra_result["total_hits_count"])
|
| 334 |
df_list.append(kb_res)
|
| 335 |
self.connPool.release_conn(inf_conn)
|
| 336 |
res = concat_dataframes(df_list, selectFields)
|
| 337 |
logger.debug(f"INFINITY search tables: {str(table_list)}, result: {str(res)}")
|
| 338 |
+
return res, total_hits_count
|
| 339 |
|
| 340 |
def get(
|
| 341 |
self, chunkId: str, indexName: str, knowledgebaseIds: list[str]
|
|
|
|
| 349 |
table_name = f"{indexName}_{knowledgebaseId}"
|
| 350 |
table_list.append(table_name)
|
| 351 |
table_instance = db_instance.get_table(table_name)
|
| 352 |
+
kb_res, _ = table_instance.output(["*"]).filter(f"id = '{chunkId}'").to_pl()
|
| 353 |
if len(kb_res) != 0 and kb_res.shape[0] > 0:
|
| 354 |
df_list.append(kb_res)
|
| 355 |
|
|
|
|
| 409 |
# logger.info(f"InfinityConnection.insert {json.dumps(documents)}")
|
| 410 |
table_instance.insert(documents)
|
| 411 |
self.connPool.release_conn(inf_conn)
|
| 412 |
+
logger.debug(f"INFINITY inserted into {table_name} {str_ids}.")
|
| 413 |
return []
|
| 414 |
|
| 415 |
def update(
|
|
|
|
| 435 |
elif k in ["page_num_int", "top_int"]:
|
| 436 |
assert isinstance(v, list)
|
| 437 |
newValue[k] = "_".join(f"{num:08x}" for num in v)
|
| 438 |
+
logger.debug(f"INFINITY update table {table_name}, filter {filter}, newValue {newValue}.")
|
| 439 |
table_instance.update(filter, newValue)
|
| 440 |
self.connPool.release_conn(inf_conn)
|
| 441 |
return True
|
|
|
|
| 452 |
f"Skipped deleting `{filter}` from table {table_name} since the table doesn't exist."
|
| 453 |
)
|
| 454 |
return 0
|
| 455 |
+
logger.debug(f"INFINITY delete table {table_name}, filter {filter}.")
|
| 456 |
res = table_instance.delete(filter)
|
| 457 |
self.connPool.release_conn(inf_conn)
|
| 458 |
return res.deleted_rows
|
|
|
|
| 461 |
Helper functions for search result
|
| 462 |
"""
|
| 463 |
|
| 464 |
+
def getTotal(self, res: tuple[pl.DataFrame, int] | pl.DataFrame) -> int:
|
| 465 |
+
if isinstance(res, tuple):
|
| 466 |
+
return res[1]
|
| 467 |
return len(res)
|
| 468 |
|
| 469 |
+
def getChunkIds(self, res: tuple[pl.DataFrame, int] | pl.DataFrame) -> list[str]:
|
| 470 |
+
if isinstance(res, tuple):
|
| 471 |
+
res = res[0]
|
| 472 |
return list(res["id"])
|
| 473 |
|
| 474 |
+
def getFields(self, res: tuple[pl.DataFrame, int] | pl.DataFrame, fields: list[str]) -> list[str, dict]:
|
| 475 |
+
if isinstance(res, tuple):
|
| 476 |
+
res = res[0]
|
| 477 |
res_fields = {}
|
| 478 |
if not fields:
|
| 479 |
return {}
|
|
|
|
| 514 |
res_fields[id] = m
|
| 515 |
return res_fields
|
| 516 |
|
| 517 |
+
def getHighlight(self, res: tuple[pl.DataFrame, int] | pl.DataFrame, keywords: list[str], fieldnm: str):
|
| 518 |
+
if isinstance(res, tuple):
|
| 519 |
+
res = res[0]
|
| 520 |
ans = {}
|
| 521 |
num_rows = len(res)
|
| 522 |
column_id = res["id"]
|
|
|
|
| 542 |
ans[id] = "...".join(txts)
|
| 543 |
return ans
|
| 544 |
|
| 545 |
+
def getAggregation(self, res: tuple[pl.DataFrame, int] | pl.DataFrame, fieldnm: str):
|
| 546 |
"""
|
| 547 |
TODO: Infinity doesn't provide aggregation
|
| 548 |
"""
|
sdk/python/ragflow_sdk/modules/agent.py
CHANGED
|
@@ -1,7 +1,6 @@
|
|
| 1 |
from .base import Base
|
| 2 |
from .session import Session,Message
|
| 3 |
import requests
|
| 4 |
-
from typing import List
|
| 5 |
import json
|
| 6 |
|
| 7 |
|
|
@@ -62,7 +61,7 @@ class Agent(Base):
|
|
| 62 |
|
| 63 |
@staticmethod
|
| 64 |
def list_sessions(agent_id,rag,page: int = 1, page_size: int = 30, orderby: str = "create_time", desc: bool = True,
|
| 65 |
-
id: str = None) ->
|
| 66 |
url = f"{rag.api_url}/agents/{agent_id}/sessions"
|
| 67 |
headers = {"Authorization": f"Bearer {rag.user_key}"}
|
| 68 |
params = {"page": page, "page_size": page_size, "orderby": orderby, "desc": desc, "id": id}
|
|
|
|
| 1 |
from .base import Base
|
| 2 |
from .session import Session,Message
|
| 3 |
import requests
|
|
|
|
| 4 |
import json
|
| 5 |
|
| 6 |
|
|
|
|
| 61 |
|
| 62 |
@staticmethod
|
| 63 |
def list_sessions(agent_id,rag,page: int = 1, page_size: int = 30, orderby: str = "create_time", desc: bool = True,
|
| 64 |
+
id: str = None) -> list[Session]:
|
| 65 |
url = f"{rag.api_url}/agents/{agent_id}/sessions"
|
| 66 |
headers = {"Authorization": f"Bearer {rag.user_key}"}
|
| 67 |
params = {"page": page, "page_size": page_size, "orderby": orderby, "desc": desc, "id": id}
|