MindsDB 25.7.4.0__py3-none-any.whl → 25.8.2.0__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.
Potentially problematic release.
This version of MindsDB might be problematic. Click here for more details.
- mindsdb/__about__.py +1 -1
- mindsdb/__main__.py +11 -1
- mindsdb/api/executor/command_executor.py +9 -15
- mindsdb/api/executor/sql_query/steps/fetch_dataframe.py +21 -24
- mindsdb/api/executor/sql_query/steps/fetch_dataframe_partition.py +9 -3
- mindsdb/api/executor/sql_query/steps/subselect_step.py +11 -8
- mindsdb/api/executor/utilities/mysql_to_duckdb_functions.py +264 -0
- mindsdb/api/executor/utilities/sql.py +30 -0
- mindsdb/api/http/initialize.py +2 -1
- mindsdb/api/http/namespaces/views.py +56 -72
- mindsdb/integrations/handlers/db2_handler/db2_handler.py +19 -23
- mindsdb/integrations/handlers/gong_handler/__about__.py +2 -0
- mindsdb/integrations/handlers/gong_handler/__init__.py +30 -0
- mindsdb/integrations/handlers/gong_handler/connection_args.py +37 -0
- mindsdb/integrations/handlers/gong_handler/gong_handler.py +164 -0
- mindsdb/integrations/handlers/gong_handler/gong_tables.py +508 -0
- mindsdb/integrations/handlers/gong_handler/icon.svg +25 -0
- mindsdb/integrations/handlers/gong_handler/test_gong_handler.py +125 -0
- mindsdb/integrations/handlers/huggingface_handler/__init__.py +8 -12
- mindsdb/integrations/handlers/huggingface_handler/finetune.py +203 -223
- mindsdb/integrations/handlers/huggingface_handler/huggingface_handler.py +360 -383
- mindsdb/integrations/handlers/huggingface_handler/requirements.txt +7 -7
- mindsdb/integrations/handlers/huggingface_handler/requirements_cpu.txt +7 -7
- mindsdb/integrations/handlers/huggingface_handler/settings.py +25 -25
- mindsdb/integrations/handlers/langchain_handler/langchain_handler.py +1 -2
- mindsdb/integrations/handlers/openai_handler/constants.py +11 -30
- mindsdb/integrations/handlers/openai_handler/helpers.py +27 -34
- mindsdb/integrations/handlers/openai_handler/openai_handler.py +14 -12
- mindsdb/integrations/handlers/salesforce_handler/constants.py +9 -2
- mindsdb/integrations/libs/llm/config.py +0 -14
- mindsdb/integrations/libs/llm/utils.py +0 -15
- mindsdb/integrations/utilities/files/file_reader.py +5 -19
- mindsdb/integrations/utilities/rag/rerankers/base_reranker.py +1 -1
- mindsdb/interfaces/agents/agents_controller.py +83 -45
- mindsdb/interfaces/agents/constants.py +0 -1
- mindsdb/interfaces/agents/langchain_agent.py +1 -3
- mindsdb/interfaces/database/projects.py +111 -7
- mindsdb/interfaces/knowledge_base/controller.py +7 -1
- mindsdb/interfaces/knowledge_base/preprocessing/document_preprocessor.py +6 -10
- mindsdb/interfaces/knowledge_base/preprocessing/text_splitter.py +73 -0
- mindsdb/interfaces/query_context/context_controller.py +14 -15
- mindsdb/utilities/config.py +2 -0
- mindsdb/utilities/fs.py +54 -17
- {mindsdb-25.7.4.0.dist-info → mindsdb-25.8.2.0.dist-info}/METADATA +278 -263
- {mindsdb-25.7.4.0.dist-info → mindsdb-25.8.2.0.dist-info}/RECORD +49 -48
- mindsdb/integrations/handlers/anyscale_endpoints_handler/__about__.py +0 -9
- mindsdb/integrations/handlers/anyscale_endpoints_handler/__init__.py +0 -20
- mindsdb/integrations/handlers/anyscale_endpoints_handler/anyscale_endpoints_handler.py +0 -290
- mindsdb/integrations/handlers/anyscale_endpoints_handler/creation_args.py +0 -14
- mindsdb/integrations/handlers/anyscale_endpoints_handler/icon.svg +0 -4
- mindsdb/integrations/handlers/anyscale_endpoints_handler/requirements.txt +0 -2
- mindsdb/integrations/handlers/anyscale_endpoints_handler/settings.py +0 -51
- mindsdb/integrations/handlers/anyscale_endpoints_handler/tests/test_anyscale_endpoints_handler.py +0 -212
- /mindsdb/integrations/handlers/{anyscale_endpoints_handler/tests/__init__.py → gong_handler/requirements.txt} +0 -0
- {mindsdb-25.7.4.0.dist-info → mindsdb-25.8.2.0.dist-info}/WHEEL +0 -0
- {mindsdb-25.7.4.0.dist-info → mindsdb-25.8.2.0.dist-info}/licenses/LICENSE +0 -0
- {mindsdb-25.7.4.0.dist-info → mindsdb-25.8.2.0.dist-info}/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
mindsdb/__about__.py,sha256=
|
|
1
|
+
mindsdb/__about__.py,sha256=uSWxOQLze0dgqylIg9Zf-ueZGBiI4Xoe5ostZRR7SGU,456
|
|
2
2
|
mindsdb/__init__.py,sha256=fZopLiAYa9MzMZ0d48JgHc_LddfFKDzh7n_8icsjrVs,54
|
|
3
|
-
mindsdb/__main__.py,sha256=
|
|
3
|
+
mindsdb/__main__.py,sha256=0hapnqEhebkgA93oYaBf6AOE6wutKXZymeMTqEBSuns,23785
|
|
4
4
|
mindsdb/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
5
5
|
mindsdb/api/a2a/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
6
6
|
mindsdb/api/a2a/__main__.py,sha256=zrzTzt9zgN38NImInrmxCsdr66urJNS0JOq0xJaKHac,4712
|
|
@@ -18,7 +18,7 @@ mindsdb/api/a2a/common/server/utils.py,sha256=1k_fBfECT0JQFlFcAJhpNlTYYOruxDlV0S
|
|
|
18
18
|
mindsdb/api/common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
19
19
|
mindsdb/api/common/check_auth.py,sha256=cQEZqsnCbrRtUf8j4H6uPF98cDPu79t8TdtwBi5g30w,1345
|
|
20
20
|
mindsdb/api/executor/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
21
|
-
mindsdb/api/executor/command_executor.py,sha256=
|
|
21
|
+
mindsdb/api/executor/command_executor.py,sha256=vlCy5LRoMmbmpMd3vns63PUIjtP3bVA_g72D1r6loXk,85185
|
|
22
22
|
mindsdb/api/executor/exceptions.py,sha256=SoxhetIKIVOAwbVP_NatfoKnwt-Xj2yFCiAIqSDxpIE,566
|
|
23
23
|
mindsdb/api/executor/controllers/__init__.py,sha256=px47lPVKqfpqgcoEBHyWoax-ad01rNOTJQCgQmG0Flo,50
|
|
24
24
|
mindsdb/api/executor/controllers/session_controller.py,sha256=2Jf-V0nj7k0aB4scujNVyx91h54odkDrdK1ydsCo46g,3072
|
|
@@ -54,8 +54,8 @@ mindsdb/api/executor/sql_query/steps/__init__.py,sha256=KHQ25_rwy0pCFHqrLYismnY0
|
|
|
54
54
|
mindsdb/api/executor/sql_query/steps/apply_predictor_step.py,sha256=UmCknfR8arIfB4FthqJsyA3GIskaKYPTsPFD3DkY4LI,16909
|
|
55
55
|
mindsdb/api/executor/sql_query/steps/base.py,sha256=xs3wOJ0fkqMRDNR5jDVaz23zeaD8wSF0L-JVC2WW7_E,557
|
|
56
56
|
mindsdb/api/executor/sql_query/steps/delete_step.py,sha256=iPxSYq_GrVBsdB6mmWeCi5fLgbXbIhvXxc0LRMTbJ0M,1370
|
|
57
|
-
mindsdb/api/executor/sql_query/steps/fetch_dataframe.py,sha256=
|
|
58
|
-
mindsdb/api/executor/sql_query/steps/fetch_dataframe_partition.py,sha256
|
|
57
|
+
mindsdb/api/executor/sql_query/steps/fetch_dataframe.py,sha256=IN0WSBL4nCsaOAZXgbSYiLKCA5GFpa7WXfq3V3ctRBM,4044
|
|
58
|
+
mindsdb/api/executor/sql_query/steps/fetch_dataframe_partition.py,sha256=539-wgj-6W_4VmAgF0N9DbfH9DEnIIvYp8jtrcnAA8M,7405
|
|
59
59
|
mindsdb/api/executor/sql_query/steps/insert_step.py,sha256=oi5q43kzBKKDXh97MbrzQT6qJpp6tcBakfqC6OJ3R0w,4250
|
|
60
60
|
mindsdb/api/executor/sql_query/steps/join_step.py,sha256=govBGAmZEgFQ4I-QmxNY7nRN81_GF4HAuP-wOTDSrBk,4265
|
|
61
61
|
mindsdb/api/executor/sql_query/steps/map_reduce_step.py,sha256=v1TZy0FBjw_Bqxx-X2KP-jeqrun-FH4yilghiYhsQEM,4452
|
|
@@ -63,16 +63,17 @@ mindsdb/api/executor/sql_query/steps/multiple_step.py,sha256=jAwY8rGUOdecQNP5JSj
|
|
|
63
63
|
mindsdb/api/executor/sql_query/steps/prepare_steps.py,sha256=URXDoE6vuc5mJ-vBkM5RXRYCS92NXs8_Jrlykh9mk6c,1588
|
|
64
64
|
mindsdb/api/executor/sql_query/steps/project_step.py,sha256=2Hy-b9a3-bJcUHQNhILWSNs17k0JTLrG1aGwTbtJDAM,2868
|
|
65
65
|
mindsdb/api/executor/sql_query/steps/sql_steps.py,sha256=01aDbFrqatM-iX70gU3-ODPBP9F-v0mWZ9BedddBOa8,889
|
|
66
|
-
mindsdb/api/executor/sql_query/steps/subselect_step.py,sha256=
|
|
66
|
+
mindsdb/api/executor/sql_query/steps/subselect_step.py,sha256=AX2HDrmEHgPrti_S7IJuotlqfKxp4_4Wi4P6z2Z9lZg,8771
|
|
67
67
|
mindsdb/api/executor/sql_query/steps/union_step.py,sha256=SDCQqLON3NHSbzc2g31xT8CNG5cXu2dSRB7-AELQt6Q,1859
|
|
68
68
|
mindsdb/api/executor/sql_query/steps/update_step.py,sha256=0Hn3eXNWLu5mlTNpIsZbS5t8SfSo-14ttOd1r0_T8NA,4643
|
|
69
69
|
mindsdb/api/executor/utilities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
70
70
|
mindsdb/api/executor/utilities/functions.py,sha256=xUrrh2zgsP0cYNUAUDGWUXyam693NTL9nlByUAwx7nw,995
|
|
71
|
-
mindsdb/api/executor/utilities/
|
|
71
|
+
mindsdb/api/executor/utilities/mysql_to_duckdb_functions.py,sha256=o2oNeB0y4rnXFp7dismSiFxyUnIOfxUu8YfJK1SDiUg,8146
|
|
72
|
+
mindsdb/api/executor/utilities/sql.py,sha256=9YE_7vkIIreUzH3_5jE2hmGCiykZx1-qaTPjYzG3X_w,10354
|
|
72
73
|
mindsdb/api/http/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
73
74
|
mindsdb/api/http/gui.py,sha256=Ph0Yz8G3F2D16VYN61IL6Mxc0j71dOlMn-Wu5r8N2Eg,3137
|
|
74
75
|
mindsdb/api/http/gunicorn_wrapper.py,sha256=U11cza-mn71RcLcJZOYwo2Aee3fRIhAYQxby_FF6_Yc,534
|
|
75
|
-
mindsdb/api/http/initialize.py,sha256=
|
|
76
|
+
mindsdb/api/http/initialize.py,sha256=aKFYr6Mb6FTCl015fXHEG-epy9v-8-on7Y68njERTXo,16567
|
|
76
77
|
mindsdb/api/http/start.py,sha256=tD_ImE2kbGAJk3wFX6s5ezCavd2LRJ2qU9U2tOVSQLo,2389
|
|
77
78
|
mindsdb/api/http/utils.py,sha256=nWP2HxeS0Ami0VSFCyoWyhLsz52mRaYkylQCKzH6d7c,1155
|
|
78
79
|
mindsdb/api/http/namespaces/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -94,7 +95,7 @@ mindsdb/api/http/namespaces/sql.py,sha256=JjrXxcJr00QpaxYWzvghBLhb78kIkTZg2-OOSb
|
|
|
94
95
|
mindsdb/api/http/namespaces/tab.py,sha256=3qgdc6q2WmQQIonSTFvrSvbEgBdGAe98czWWx4OMRNQ,4054
|
|
95
96
|
mindsdb/api/http/namespaces/tree.py,sha256=8UZUZCt4f5EzQYJLRTwraol8RtebYjlyRWeHiOLhPIA,4191
|
|
96
97
|
mindsdb/api/http/namespaces/util.py,sha256=3A_Ab16mHC83362PILbF6L4hh9zGAn8NG3nPlQZMhqk,3636
|
|
97
|
-
mindsdb/api/http/namespaces/views.py,sha256=
|
|
98
|
+
mindsdb/api/http/namespaces/views.py,sha256=PwNc9ECSbe2yfGZ556wBF6DxK01QVbmW9cwBu3LB_mI,6030
|
|
98
99
|
mindsdb/api/http/namespaces/webhooks.py,sha256=HjSFv5MZatwrkU1CMVDJKx5bDeZsmuLnUs7nnEQ7kvw,1146
|
|
99
100
|
mindsdb/api/http/namespaces/configs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
100
101
|
mindsdb/api/http/namespaces/configs/agents.py,sha256=9LKToZNLtQGBhj1nRwIjaTNDeI5PA-TbVVW1qwFdqzc,124
|
|
@@ -262,15 +263,6 @@ mindsdb/integrations/handlers/anthropic_handler/__init__.py,sha256=GvT2mykrK0gM1
|
|
|
262
263
|
mindsdb/integrations/handlers/anthropic_handler/anthropic_handler.py,sha256=_gQD15IETTdssVSIwAqc7BeH9qcCAiXg37pxyaLU1p8,3319
|
|
263
264
|
mindsdb/integrations/handlers/anthropic_handler/icon.svg,sha256=YqBanC9E0WpQAEC9e8LgOF1vu5S5r58iHox3rBk6fxY,328
|
|
264
265
|
mindsdb/integrations/handlers/anthropic_handler/requirements.txt,sha256=Q1rkpICQCgBQcAmOyBWXu0r3h7-OvO7-nYVbNjjUtE0,18
|
|
265
|
-
mindsdb/integrations/handlers/anyscale_endpoints_handler/__about__.py,sha256=jFauECyixaq2FZz0bUE1RcO6-dyCn70YjM_TOFp4bYA,372
|
|
266
|
-
mindsdb/integrations/handlers/anyscale_endpoints_handler/__init__.py,sha256=E93atZpIhT_3B08vEbLHuBKG6wRSkTvTIXKGkEeDB3E,597
|
|
267
|
-
mindsdb/integrations/handlers/anyscale_endpoints_handler/anyscale_endpoints_handler.py,sha256=qIu1OxZZ3hzrQGAaQ0_eqNB6sBB-4zNhqfU6XCGHIII,10699
|
|
268
|
-
mindsdb/integrations/handlers/anyscale_endpoints_handler/creation_args.py,sha256=RUBy6Cw_gEUXq_7OXPGgeShUgFzPe5uoMhZ6qIFBmt8,374
|
|
269
|
-
mindsdb/integrations/handlers/anyscale_endpoints_handler/icon.svg,sha256=VBWUTscZjn_SpZAC_2i5lvAE-LH6OixgH7KWNPtkpP8,1743
|
|
270
|
-
mindsdb/integrations/handlers/anyscale_endpoints_handler/requirements.txt,sha256=akRKyhwvLrsRKZlseLcE3aKK82dAx5Y5ARfJ3b_Nn4c,92
|
|
271
|
-
mindsdb/integrations/handlers/anyscale_endpoints_handler/settings.py,sha256=5vF3QvzIO8M1g-Kaja1zrpzohl7IM2Tt41VAVR2Kilk,1468
|
|
272
|
-
mindsdb/integrations/handlers/anyscale_endpoints_handler/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
273
|
-
mindsdb/integrations/handlers/anyscale_endpoints_handler/tests/test_anyscale_endpoints_handler.py,sha256=gq0GHcJ-d21bqTl5NeIF6clAPlmMEaUniJMkXS4ryw8,7255
|
|
274
266
|
mindsdb/integrations/handlers/apache_doris_handler/__about__.py,sha256=mv5hhHBYs8v9_hT4TCelKBfYjWsEMumdup3AN_bUD_I,354
|
|
275
267
|
mindsdb/integrations/handlers/apache_doris_handler/__init__.py,sha256=jvtoYewBNtDYo6KVLDsbTuw5s-iLRZEaoBUDc-pzTJU,504
|
|
276
268
|
mindsdb/integrations/handlers/apache_doris_handler/apache_doris_handler.py,sha256=26MUB8QF8iCXq_g99wNgSQxKeliFxbL8uWXm3jV8HJk,319
|
|
@@ -493,7 +485,7 @@ mindsdb/integrations/handlers/datastax_handler/tests/test_cassandra_handler.py,s
|
|
|
493
485
|
mindsdb/integrations/handlers/db2_handler/__about__.py,sha256=rTCKpGiOExZyKA4DYWwR6PEucz2G9YzGJO-wcym3h74,339
|
|
494
486
|
mindsdb/integrations/handlers/db2_handler/__init__.py,sha256=qisYmWiLYVEv61w_UpA_xDCnyJ5HqjtzS_9Z8vVukLw,622
|
|
495
487
|
mindsdb/integrations/handlers/db2_handler/connection_args.py,sha256=rpAadcAI1UvVjU4TII361eo1z8Lw1Z7_NcnviHJjrGQ,1430
|
|
496
|
-
mindsdb/integrations/handlers/db2_handler/db2_handler.py,sha256=
|
|
488
|
+
mindsdb/integrations/handlers/db2_handler/db2_handler.py,sha256=h8ozDCc3s48x4zlMwQYNsCTGt1DdghTNm7G76A3EQAw,8789
|
|
497
489
|
mindsdb/integrations/handlers/db2_handler/icon.svg,sha256=k9vZddOTe0Ze89caW3w6h3VvUnCoJn1K1959qQ-BGY0,56094
|
|
498
490
|
mindsdb/integrations/handlers/db2_handler/requirements.txt,sha256=aJAgOH3JdjG_8A2nFZhUUvYOkcKHJcdrz0-RchhcGNw,17
|
|
499
491
|
mindsdb/integrations/handlers/db2_handler/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -686,6 +678,14 @@ mindsdb/integrations/handlers/gmail_handler/icon.svg,sha256=0kKbNxgVVg3caKfTZSHr
|
|
|
686
678
|
mindsdb/integrations/handlers/gmail_handler/requirements.txt,sha256=sGapIrHWuar-fikT8mebJCAXB8BCDcEoPWmyF9MVxz8,106
|
|
687
679
|
mindsdb/integrations/handlers/gmail_handler/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
688
680
|
mindsdb/integrations/handlers/gmail_handler/tests/test_gmail_handler.py,sha256=wjJHWn2jBFHm4gBtuVSoc4MdFoIy54jkfnCbPz77KHc,1479
|
|
681
|
+
mindsdb/integrations/handlers/gong_handler/__about__.py,sha256=SD08dwdZg4sjqFCkN9_6GffT-GqXFF5HvICp2VMENEw,102
|
|
682
|
+
mindsdb/integrations/handlers/gong_handler/__init__.py,sha256=0oIlIbJDV9FVFwneNNNSIIp27X9AJjVJqe5YzQwKGlY,623
|
|
683
|
+
mindsdb/integrations/handlers/gong_handler/connection_args.py,sha256=poK6Ed-oY3xW8_6Pb2iOnmDJUeGx1NXQHA7llJMOx10,1155
|
|
684
|
+
mindsdb/integrations/handlers/gong_handler/gong_handler.py,sha256=ocRJzVsk1Ibqowot2BXL1mWq-WT0v_A0_8rd2VcSKUo,5522
|
|
685
|
+
mindsdb/integrations/handlers/gong_handler/gong_tables.py,sha256=Hn9_gtqzoSSOEuSFD9iOckM5ljirzx5AVaGEWTN0_N4,19059
|
|
686
|
+
mindsdb/integrations/handlers/gong_handler/icon.svg,sha256=MPamKIRTCFyAAju5BsbtKINjTgpU9zNWHb2btIFi1Jg,1619
|
|
687
|
+
mindsdb/integrations/handlers/gong_handler/requirements.txt,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
688
|
+
mindsdb/integrations/handlers/gong_handler/test_gong_handler.py,sha256=wkVSk2IhwlE1iyz0zm7cqRtJNUmEPpl31C1UC3dCJ8I,3829
|
|
689
689
|
mindsdb/integrations/handlers/google_analytics_handler/__about__.py,sha256=68QyRQWAMw0MGDM64tuGkSrjepQmQKQea5zvfw0r0Aw,369
|
|
690
690
|
mindsdb/integrations/handlers/google_analytics_handler/__init__.py,sha256=ynl-z128m2YPF9IOqeCysVdQ8AcSkW6HXISTixyoLok,532
|
|
691
691
|
mindsdb/integrations/handlers/google_analytics_handler/google_analytics_handler.py,sha256=-u--wXJwBMBfToVa0Vtx_tPPty9q8X4hkCCy_LCV3j4,4706
|
|
@@ -791,13 +791,13 @@ mindsdb/integrations/handlers/huggingface_api_handler/requirements.txt,sha256=VO
|
|
|
791
791
|
mindsdb/integrations/handlers/huggingface_api_handler/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
792
792
|
mindsdb/integrations/handlers/huggingface_api_handler/tests/test_huggingface_api_handler.py,sha256=gNbILP3emqqlboEypuaScSkTcjazGGPYql2AD7nK1rg,128
|
|
793
793
|
mindsdb/integrations/handlers/huggingface_handler/__about__.py,sha256=B1bb52kL0iLViLiewWIK183GOKoe5Q0XJZvD66wXl24,353
|
|
794
|
-
mindsdb/integrations/handlers/huggingface_handler/__init__.py,sha256=
|
|
795
|
-
mindsdb/integrations/handlers/huggingface_handler/finetune.py,sha256=
|
|
796
|
-
mindsdb/integrations/handlers/huggingface_handler/huggingface_handler.py,sha256=
|
|
794
|
+
mindsdb/integrations/handlers/huggingface_handler/__init__.py,sha256=iZ_2HFGSf46l_cafHxROIDENLAcrNeL-vmyHAiGJC_4,547
|
|
795
|
+
mindsdb/integrations/handlers/huggingface_handler/finetune.py,sha256=TJFI_GsIm5GdNic2sjOJ3eojbQHMgbVI03lmvCiYtK8,7921
|
|
796
|
+
mindsdb/integrations/handlers/huggingface_handler/huggingface_handler.py,sha256=GHbMWgTNGCtsOoxHSoa_N4krkHlHa5s5G4JcxGS1rw4,13169
|
|
797
797
|
mindsdb/integrations/handlers/huggingface_handler/icon.svg,sha256=yU820GpXed8h9CloppHH0D1-EJjrorSLlbjciV91b9k,9064
|
|
798
|
-
mindsdb/integrations/handlers/huggingface_handler/requirements.txt,sha256=
|
|
799
|
-
mindsdb/integrations/handlers/huggingface_handler/requirements_cpu.txt,sha256=
|
|
800
|
-
mindsdb/integrations/handlers/huggingface_handler/settings.py,sha256=
|
|
798
|
+
mindsdb/integrations/handlers/huggingface_handler/requirements.txt,sha256=4Ia-rFlz5dv5WF3WEDrXH7b_DCJUMxT9uLooRleZzaQ,183
|
|
799
|
+
mindsdb/integrations/handlers/huggingface_handler/requirements_cpu.txt,sha256=tAU-4yjHPVPW_PtHCohyDZyYZNojRJtJBnNPB3rKCNI,223
|
|
800
|
+
mindsdb/integrations/handlers/huggingface_handler/settings.py,sha256=1dAcKyjEcuK1LSktqK_5tPLJzQGCNTs0GR9CMe8qTvk,984
|
|
801
801
|
mindsdb/integrations/handlers/ibm_cos_handler/__about__.py,sha256=wGXqgk6YqX5TxD4ZGaZDRvMF5G-3NIhSD8O5DhPlnHo,374
|
|
802
802
|
mindsdb/integrations/handlers/ibm_cos_handler/__init__.py,sha256=e5IvCKw0wMTcbljak3k1JPFRFzpYIyEk5EBvxXB-apQ,666
|
|
803
803
|
mindsdb/integrations/handlers/ibm_cos_handler/connection_args.py,sha256=2DuHEQN03FRK7_-6jC_f-wfNtWRHuWbAdAd8FhdEPcE,1247
|
|
@@ -883,7 +883,7 @@ mindsdb/integrations/handlers/langchain_embedding_handler/vllm_embeddings.py,sha
|
|
|
883
883
|
mindsdb/integrations/handlers/langchain_handler/__about__.py,sha256=rBZQP0fyIkObedPPwbyNl9tB0ygJN6qj0aPwPYI_fqc,345
|
|
884
884
|
mindsdb/integrations/handlers/langchain_handler/__init__.py,sha256=4POM9M6p9cUDAIeQ4gy4Cj-F1p6RPokk3MC2cR77mSw,504
|
|
885
885
|
mindsdb/integrations/handlers/langchain_handler/icon.svg,sha256=dMV03a2BDQvZTwxDAxRmd-GzmCCVXyYvJqTwdZb5Hbw,73222
|
|
886
|
-
mindsdb/integrations/handlers/langchain_handler/langchain_handler.py,sha256=
|
|
886
|
+
mindsdb/integrations/handlers/langchain_handler/langchain_handler.py,sha256=rgFBKcxRzZb-adznTs1qwj0SIYKi4TNJ1YJEbdqWF0k,13012
|
|
887
887
|
mindsdb/integrations/handlers/langchain_handler/requirements.txt,sha256=X3GMk6YUemVSiVvr0Rd2P2HerVhXFeL84yzrBgAiWHk,238
|
|
888
888
|
mindsdb/integrations/handlers/langchain_handler/tools.py,sha256=61Akpoh4m2cRJR7TV5tCChQzr-C0oSdDXJajcVIcAqM,11066
|
|
889
889
|
mindsdb/integrations/handlers/leonardoai_handler/__about__.py,sha256=tohCA4vFctgcIkYTPoEhcNRW9C1YX07Sxe6n57vTl7A,353
|
|
@@ -1133,12 +1133,12 @@ mindsdb/integrations/handlers/ollama_handler/icon.png,sha256=Uetj2OTGPx-taxPKdD3
|
|
|
1133
1133
|
mindsdb/integrations/handlers/ollama_handler/ollama_handler.py,sha256=kkIAlQtMq8fiQ0JOP4k-m7AFRBYu86BnK6derw_3YT0,7248
|
|
1134
1134
|
mindsdb/integrations/handlers/openai_handler/__about__.py,sha256=CHoor6pfv6jc7Lfp8SZYiRlHoCwA-QM0PYRqvIRNSEc,336
|
|
1135
1135
|
mindsdb/integrations/handlers/openai_handler/__init__.py,sha256=2oicF7rVoEJTh-_p_7bpmh3shHYL2zZr4tPj0ZDXeCI,621
|
|
1136
|
-
mindsdb/integrations/handlers/openai_handler/constants.py,sha256=
|
|
1136
|
+
mindsdb/integrations/handlers/openai_handler/constants.py,sha256=OTd6iZbKYNsidblwotDfGfDy4zJQDbId-VHmpU2jgNg,729
|
|
1137
1137
|
mindsdb/integrations/handlers/openai_handler/creation_args.py,sha256=v1NHiz-tLvAHrcA_vIe1A6L5UbeGpHBl88XWZVgtric,342
|
|
1138
|
-
mindsdb/integrations/handlers/openai_handler/helpers.py,sha256=
|
|
1138
|
+
mindsdb/integrations/handlers/openai_handler/helpers.py,sha256=btydh_cuTeszFiF_b_fiZ4dlN7zdMbU2IuWeTE5ZFtQ,6573
|
|
1139
1139
|
mindsdb/integrations/handlers/openai_handler/icon.svg,sha256=r5vCiNm9_nL1ZbM1e6PYcTzw9KrgC0hqWT8IAi2pFbE,2625
|
|
1140
1140
|
mindsdb/integrations/handlers/openai_handler/model_using_args.py,sha256=c5NBe6RGkRGVOLhc7Ksq3M3w96Kd9KECO6T01j7VS90,76
|
|
1141
|
-
mindsdb/integrations/handlers/openai_handler/openai_handler.py,sha256=
|
|
1141
|
+
mindsdb/integrations/handlers/openai_handler/openai_handler.py,sha256=ZW3Fg7UBBjYQFxpqMJfxRlveqFzkEAxpo8G49os2WMI,47552
|
|
1142
1142
|
mindsdb/integrations/handlers/openai_handler/requirements.txt,sha256=u06ahGd1EskIW_Yy-5Y_jNLNbN1CtF9N3ylGPPOPBLA,9
|
|
1143
1143
|
mindsdb/integrations/handlers/openai_handler/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
1144
1144
|
mindsdb/integrations/handlers/openai_handler/tests/test_openai_handler.py,sha256=W3b39JCQfCF_IXUS98j7KqTqIzeYne9RDba33AxM774,18651
|
|
@@ -1345,7 +1345,7 @@ mindsdb/integrations/handlers/s3_handler/tests/test_s3_handler.py,sha256=WGH7BN3
|
|
|
1345
1345
|
mindsdb/integrations/handlers/salesforce_handler/__about__.py,sha256=WLr4oUXEPsawa_y4oDxihsqN2iawkNDCbe4ttcF7WUQ,349
|
|
1346
1346
|
mindsdb/integrations/handlers/salesforce_handler/__init__.py,sha256=nH_HnnS5cnDadXEy6ZiGuUPByT_JGu2Nrgx3Nzw0JCg,650
|
|
1347
1347
|
mindsdb/integrations/handlers/salesforce_handler/connection_args.py,sha256=XF20-m222AxVvK751lWKV2tb3I1WkRrmR5AJ7qV9PtI,1498
|
|
1348
|
-
mindsdb/integrations/handlers/salesforce_handler/constants.py,sha256=
|
|
1348
|
+
mindsdb/integrations/handlers/salesforce_handler/constants.py,sha256=A9ttqnhBoegOgc8nPS0WVFbKcRz2oKonoEuiPU5NC8I,10067
|
|
1349
1349
|
mindsdb/integrations/handlers/salesforce_handler/icon.svg,sha256=sL7XX_vF5Y7gLLklV1h17MXILGYz0f79VH915DQXyV0,8594
|
|
1350
1350
|
mindsdb/integrations/handlers/salesforce_handler/requirements.txt,sha256=JbByk_8_aqTrg45rT_tUbyDgUoDSTK7VVpgUaMen3wU,22
|
|
1351
1351
|
mindsdb/integrations/handlers/salesforce_handler/salesforce_handler.py,sha256=ZNGbJqLumF_65N6SdVPDlIpHmKWHwU3RSMwZp36OU-E,12930
|
|
@@ -1718,8 +1718,8 @@ mindsdb/integrations/libs/response.py,sha256=YMRiPLoQ6UR2jj9XD3yuqniTgyL5xT_p9F8
|
|
|
1718
1718
|
mindsdb/integrations/libs/storage_handler.py,sha256=g4rcAD4TzmxWmEtS00235_NAnrdulIir4If6E4y_OUo,3512
|
|
1719
1719
|
mindsdb/integrations/libs/vectordatabase_handler.py,sha256=tG30fazN9F4yc3Bx0FjABxmU63_GgL7Y102AxZevWKg,20843
|
|
1720
1720
|
mindsdb/integrations/libs/llm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
1721
|
-
mindsdb/integrations/libs/llm/config.py,sha256=
|
|
1722
|
-
mindsdb/integrations/libs/llm/utils.py,sha256=
|
|
1721
|
+
mindsdb/integrations/libs/llm/config.py,sha256=v__nmgKifKYCiZVPkBKuATD3GsIMAuoBxyyru44IY0w,4419
|
|
1722
|
+
mindsdb/integrations/libs/llm/utils.py,sha256=sV5_F3whjFQpzDMMAH2x6ntlvusVFHqfKsV4cT9JcBg,24400
|
|
1723
1723
|
mindsdb/integrations/libs/ml_handler_process/__init__.py,sha256=TW1DslwZTaD8oeGaxPx99uYkPAeDIeHWAturBcnDBFU,756
|
|
1724
1724
|
mindsdb/integrations/libs/ml_handler_process/create_engine_process.py,sha256=YHbk1x7GEIZXcM0IazB2z2tvu5Yd24Fb4aJPpUg321A,788
|
|
1725
1725
|
mindsdb/integrations/libs/ml_handler_process/create_validation_process.py,sha256=-69NRhBGnNG0hgNi9O_W5LffIxPBUmuxy4bbQY2Z-_8,444
|
|
@@ -1745,7 +1745,7 @@ mindsdb/integrations/utilities/datasets/dataset.py,sha256=HjxaMAPuos3HaMsVsAm3q-
|
|
|
1745
1745
|
mindsdb/integrations/utilities/datasets/question_answering/fda_style_qa.csv,sha256=uEOevZwKVjtPScjDVvWfTl4VLvDrhL7D9_9DoRJu7ic,6906
|
|
1746
1746
|
mindsdb/integrations/utilities/datasets/question_answering/squad_v2_val_100_sample.csv,sha256=erj_BGVabfxDFi9TbTXSJ-OiixHRYnDzoJUJcWWeeQY,104035
|
|
1747
1747
|
mindsdb/integrations/utilities/files/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
1748
|
-
mindsdb/integrations/utilities/files/file_reader.py,sha256=
|
|
1748
|
+
mindsdb/integrations/utilities/files/file_reader.py,sha256=p0a7XVjCToAmLqcI2LPBHSGN7VwYaSuHhT4f8VP0IhU,12423
|
|
1749
1749
|
mindsdb/integrations/utilities/handlers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
1750
1750
|
mindsdb/integrations/utilities/handlers/api_utilities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
1751
1751
|
mindsdb/integrations/utilities/handlers/api_utilities/microsoft/__init__.py,sha256=xmcg0gXVY4WUIazM-aCjXXFikFonS6hI05GbdEs5_I8,56
|
|
@@ -1784,7 +1784,7 @@ mindsdb/integrations/utilities/rag/loaders/vector_store_loader/vector_store_load
|
|
|
1784
1784
|
mindsdb/integrations/utilities/rag/pipelines/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
1785
1785
|
mindsdb/integrations/utilities/rag/pipelines/rag.py,sha256=Ij91MJ0QpqocHs2vLfLO43PFZPFCyt1mvFjwvDecVU4,15551
|
|
1786
1786
|
mindsdb/integrations/utilities/rag/rerankers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
1787
|
-
mindsdb/integrations/utilities/rag/rerankers/base_reranker.py,sha256=
|
|
1787
|
+
mindsdb/integrations/utilities/rag/rerankers/base_reranker.py,sha256=RSMa6bY83kr6ljrBLvOPk04F5KEv6AoDeNh2LPLf9pE,15665
|
|
1788
1788
|
mindsdb/integrations/utilities/rag/rerankers/reranker_compressor.py,sha256=IN7R2dtqEtqdhPQh5r62oZOII_4m_ZU-XCpnbvSqjw0,3729
|
|
1789
1789
|
mindsdb/integrations/utilities/rag/retrievers/__init__.py,sha256=Kuo3AJxzHVXMxPFxGqz2AXNPzjBzyMuk2yQj9pFpOsI,128
|
|
1790
1790
|
mindsdb/integrations/utilities/rag/retrievers/auto_retriever.py,sha256=ODNXqeBuDfatGQLvKvogO0aA-A5v3Z4xbCbvO5ICvt4,3923
|
|
@@ -1797,11 +1797,11 @@ mindsdb/integrations/utilities/rag/splitters/__init__.py,sha256=47DEQpj8HBSa-_TI
|
|
|
1797
1797
|
mindsdb/integrations/utilities/rag/splitters/file_splitter.py,sha256=O14E_27omTti4jsxhgTiwHtlR2LdCa9D2DiEgc7yKmc,5260
|
|
1798
1798
|
mindsdb/interfaces/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
1799
1799
|
mindsdb/interfaces/agents/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
1800
|
-
mindsdb/interfaces/agents/agents_controller.py,sha256=
|
|
1800
|
+
mindsdb/interfaces/agents/agents_controller.py,sha256=nTV6_RSsuK7WiJjHNHFJ_Wj3olyXJrRA6EXazuUXi-s,32203
|
|
1801
1801
|
mindsdb/interfaces/agents/callback_handlers.py,sha256=_iOUz-g5Hglf2wtfpx6ENKNCu2Cba-ZbpQtXyR2xElY,6700
|
|
1802
|
-
mindsdb/interfaces/agents/constants.py,sha256=
|
|
1802
|
+
mindsdb/interfaces/agents/constants.py,sha256=ZlHTPctEXNKa4OA_Thi46sF4Iiy32GBOJUP3czcaq6k,8422
|
|
1803
1803
|
mindsdb/interfaces/agents/event_dispatch_callback_handler.py,sha256=-76yTtxTHO5AkFTtr_RvYfkdUROJHcKZx6KJDZvj_-M,1331
|
|
1804
|
-
mindsdb/interfaces/agents/langchain_agent.py,sha256=
|
|
1804
|
+
mindsdb/interfaces/agents/langchain_agent.py,sha256=SzVt1hZ934CHEQ8aaXE9WxHnMovx12zMxa_lDrLzlII,30672
|
|
1805
1805
|
mindsdb/interfaces/agents/langfuse_callback_handler.py,sha256=-51IWB5U2_m71xx00IwSOAK6gJ2n-HD_CzbtbmEfbBQ,11598
|
|
1806
1806
|
mindsdb/interfaces/agents/litellm_server.py,sha256=j33LqHlUt9XApMozP4mHy9iFGT1Lx7WRqKHwGfJfT8w,11366
|
|
1807
1807
|
mindsdb/interfaces/agents/mcp_client_agent.py,sha256=8pDHMWJz5aYe7lyyVJYLqlCCKVMT_iqoWJ-XeBXSUz8,10036
|
|
@@ -1825,7 +1825,7 @@ mindsdb/interfaces/database/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMp
|
|
|
1825
1825
|
mindsdb/interfaces/database/database.py,sha256=f8KWdPQyAQbFW9paJMK2Vni_ZKtsLcP7CeUXl9cIyAk,6769
|
|
1826
1826
|
mindsdb/interfaces/database/integrations.py,sha256=26mGJRlNZ4aSDWrTvvRfG81qaMnb8con9w9-ROP-8-w,37612
|
|
1827
1827
|
mindsdb/interfaces/database/log.py,sha256=ZpsEKKEtF32KjWRQ5rMtnHZTHqqJiffeaEcUDTx44cs,10305
|
|
1828
|
-
mindsdb/interfaces/database/projects.py,sha256=
|
|
1828
|
+
mindsdb/interfaces/database/projects.py,sha256=Dw5d_mdoGBmt9AYECW91LZb5Qm2Tg6k155d8yOKB0tM,22789
|
|
1829
1829
|
mindsdb/interfaces/database/views.py,sha256=kDCYU7C5DISDEehIYYve55ZJcpKbG9bJ2DBhISDm-5E,5754
|
|
1830
1830
|
mindsdb/interfaces/file/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
1831
1831
|
mindsdb/interfaces/file/file_controller.py,sha256=vkxIdR12FLCZkAbwm-0_ZFK56q5bJciRqYwLK_0ooIM,8059
|
|
@@ -1836,7 +1836,7 @@ mindsdb/interfaces/jobs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG
|
|
|
1836
1836
|
mindsdb/interfaces/jobs/jobs_controller.py,sha256=HfI2d_yPmMYJLrDlAYG7hm03BiAIPQ1Gl9bWAncvLKk,18437
|
|
1837
1837
|
mindsdb/interfaces/jobs/scheduler.py,sha256=eHBWTpZozI_AC-hKmg4p0qRoGZW8O3gEt5Y9nDhHWpw,3696
|
|
1838
1838
|
mindsdb/interfaces/knowledge_base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
1839
|
-
mindsdb/interfaces/knowledge_base/controller.py,sha256=
|
|
1839
|
+
mindsdb/interfaces/knowledge_base/controller.py,sha256=AIVmWqburgzLG7IAl5Z5oRPZQ4gHGA8vjpeO432mLCg,57833
|
|
1840
1840
|
mindsdb/interfaces/knowledge_base/evaluate.py,sha256=ZXm_op5-n8beY42ikfgIxx9OKhr7P5Bqr9DkGmHaVtE,21574
|
|
1841
1841
|
mindsdb/interfaces/knowledge_base/executor.py,sha256=WwMAYHThohojGPm3ANVYRj425UaKo024HL7mIUTzDoo,14037
|
|
1842
1842
|
mindsdb/interfaces/knowledge_base/llm_client.py,sha256=pZQdoU8TTyMO1b7sa8-Ou4VRFDxR6974cyJkm0IeTIw,2844
|
|
@@ -1844,14 +1844,15 @@ mindsdb/interfaces/knowledge_base/utils.py,sha256=gRWJkHVic5mOy1rnjd7eON5mo7rdAy
|
|
|
1844
1844
|
mindsdb/interfaces/knowledge_base/preprocessing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
1845
1845
|
mindsdb/interfaces/knowledge_base/preprocessing/constants.py,sha256=iW5q65albIfTT1ZuxNceJ8o7yrOcttCH1Kx4Vdo-iPY,296
|
|
1846
1846
|
mindsdb/interfaces/knowledge_base/preprocessing/document_loader.py,sha256=l_snHg8O6pLu4-TGTd5K3VgWVwlXa7mnLH_NaQdbS6E,3596
|
|
1847
|
-
mindsdb/interfaces/knowledge_base/preprocessing/document_preprocessor.py,sha256=
|
|
1847
|
+
mindsdb/interfaces/knowledge_base/preprocessing/document_preprocessor.py,sha256=bX2j3xxBq0zFwT5v2GLvtTiBuECBrAQI3g7NReoRUk4,14647
|
|
1848
1848
|
mindsdb/interfaces/knowledge_base/preprocessing/json_chunker.py,sha256=ciOiEmSN3JalwN9_d-tfJLabD_5etBYIHavCnazI0x8,17333
|
|
1849
1849
|
mindsdb/interfaces/knowledge_base/preprocessing/models.py,sha256=76SO2G6tSqGzE64cnFWR9XtA8YXqf6rEjS24uRp_Nsk,5850
|
|
1850
|
+
mindsdb/interfaces/knowledge_base/preprocessing/text_splitter.py,sha256=sZKAaZ2cfJrGf1oX1rdeW6CEIsOEp31gIQ-d7sQGa5E,2824
|
|
1850
1851
|
mindsdb/interfaces/model/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
1851
1852
|
mindsdb/interfaces/model/functions.py,sha256=TlZfCASNDtwEXXTb38ma5fgWmn2f0XuWPQ5m8wufqks,4904
|
|
1852
1853
|
mindsdb/interfaces/model/model_controller.py,sha256=sOqfRjOJls_bN6pDCtUJcOmeJJQK8YzTGfuBo3QBEsY,20260
|
|
1853
1854
|
mindsdb/interfaces/query_context/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
1854
|
-
mindsdb/interfaces/query_context/context_controller.py,sha256=
|
|
1855
|
+
mindsdb/interfaces/query_context/context_controller.py,sha256=PlcF_-EmCIyfcv5czPtZRg0UTjbtSmEE3gBpswXY6l8,19495
|
|
1855
1856
|
mindsdb/interfaces/query_context/last_query.py,sha256=LbZwvPtDYJFVBRonJr6RgGZyCbCNGcJJdhS22pW_YE0,9331
|
|
1856
1857
|
mindsdb/interfaces/query_context/query_task.py,sha256=8lvk48tEPMyXJDtML7aKuVyU54UhXqbHy5jwpPnn-0w,727
|
|
1857
1858
|
mindsdb/interfaces/skills/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
@@ -1953,11 +1954,11 @@ mindsdb/migrations/versions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMp
|
|
|
1953
1954
|
mindsdb/utilities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
1954
1955
|
mindsdb/utilities/auth.py,sha256=nfC8oqvaN3GAATc_LeHJ34Kg3PYfyfJ-KI6TN_fOB48,2568
|
|
1955
1956
|
mindsdb/utilities/cache.py,sha256=nkfEt8Pw5H_8sPNXMaS2SZCC3NrEMi486K8m61zqu-s,7590
|
|
1956
|
-
mindsdb/utilities/config.py,sha256=
|
|
1957
|
+
mindsdb/utilities/config.py,sha256=NP1ZjBLzgUBkkpSNx3q4hm02ohjijln2bYo_Gwo911A,28075
|
|
1957
1958
|
mindsdb/utilities/context.py,sha256=IdH0bXIIBHuJ_HzVQIRAZhOs4GD15AwDpXTlNnTBHek,1846
|
|
1958
1959
|
mindsdb/utilities/context_executor.py,sha256=OcJu-FgHZUmtAa_jOfXtwr7LPH3Vw2FPPJlx_9cWi7w,1945
|
|
1959
1960
|
mindsdb/utilities/exception.py,sha256=Y0-aO54_EQeebBuvR0105qITJc_Jq6bQ5QszmmKmUpE,2688
|
|
1960
|
-
mindsdb/utilities/fs.py,sha256=
|
|
1961
|
+
mindsdb/utilities/fs.py,sha256=wfM2uAjhGUjrrwsoyQ0d4yQ7-d3XUtW6l-VrQdFCbd0,5635
|
|
1961
1962
|
mindsdb/utilities/functions.py,sha256=FkLSSge3EYzG-ow6uExQ6GTMfPYeh8NBWRTf6JTuIy8,6366
|
|
1962
1963
|
mindsdb/utilities/json_encoder.py,sha256=-nWynBlL7AwRyrM8gkiXPvPzk97EBJawryCA-ZO_7-A,1094
|
|
1963
1964
|
mindsdb/utilities/langfuse.py,sha256=XMNVxllYCKBkWnhnHxQXjIUof7KOctp7da43usQj7SY,9528
|
|
@@ -1989,8 +1990,8 @@ mindsdb/utilities/profiler/__init__.py,sha256=d4VXl80uSm1IotR-WwbBInPmLmACiK0Azx
|
|
|
1989
1990
|
mindsdb/utilities/profiler/profiler.py,sha256=KCUtOupkbM_nCoof9MtiuhUzDGezx4a4NsBX6vGWbPA,3936
|
|
1990
1991
|
mindsdb/utilities/render/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
1991
1992
|
mindsdb/utilities/render/sqlalchemy_render.py,sha256=7GYCKCCFIo4UzmPtnRncefZBuUVdcVEo4ICqHxGWPrw,30852
|
|
1992
|
-
mindsdb-25.
|
|
1993
|
-
mindsdb-25.
|
|
1994
|
-
mindsdb-25.
|
|
1995
|
-
mindsdb-25.
|
|
1996
|
-
mindsdb-25.
|
|
1993
|
+
mindsdb-25.8.2.0.dist-info/licenses/LICENSE,sha256=ziqdjujs6WDn-9g3t0SISjHCBc2pLRht3gnRbQoXmIs,5804
|
|
1994
|
+
mindsdb-25.8.2.0.dist-info/METADATA,sha256=oOjooOAkMIV2nuJxlqvVFerBm_Fu2RGvHcBGQi1yq5g,44326
|
|
1995
|
+
mindsdb-25.8.2.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
1996
|
+
mindsdb-25.8.2.0.dist-info/top_level.txt,sha256=10wPR96JDf3hM8aMP7Fz0lDlmClEP480zgXISJKr5jE,8
|
|
1997
|
+
mindsdb-25.8.2.0.dist-info/RECORD,,
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
__title__ = 'MindsDB Anyscale Endpoints handler'
|
|
2
|
-
__package_name__ = 'mindsdb_anyscale_endpoints_handler'
|
|
3
|
-
__version__ = '0.0.1'
|
|
4
|
-
__description__ = "MindsDB handler for Anyscale Endpoints"
|
|
5
|
-
__author__ = 'MindsDB Inc'
|
|
6
|
-
__github__ = 'https://github.com/mindsdb/mindsdb'
|
|
7
|
-
__pypi__ = 'https://pypi.org/project/mindsdb/'
|
|
8
|
-
__license__ = 'MIT'
|
|
9
|
-
__copyright__ = 'Copyright 2023- mindsdb'
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
from mindsdb.integrations.libs.const import HANDLER_TYPE
|
|
2
|
-
|
|
3
|
-
from .__about__ import __version__ as version, __description__ as description
|
|
4
|
-
from .creation_args import creation_args
|
|
5
|
-
try:
|
|
6
|
-
from .anyscale_endpoints_handler import AnyscaleEndpointsHandler as Handler
|
|
7
|
-
import_error = None
|
|
8
|
-
except Exception as e:
|
|
9
|
-
Handler = None
|
|
10
|
-
import_error = e
|
|
11
|
-
|
|
12
|
-
title = 'Anyscale Endpoints'
|
|
13
|
-
name = 'anyscale_endpoints'
|
|
14
|
-
type = HANDLER_TYPE.ML
|
|
15
|
-
icon_path = 'icon.svg'
|
|
16
|
-
permanent = False
|
|
17
|
-
|
|
18
|
-
__all__ = [
|
|
19
|
-
'Handler', 'version', 'name', 'type', 'title', 'description', 'import_error', 'icon_path', 'creation_args'
|
|
20
|
-
]
|
|
@@ -1,290 +0,0 @@
|
|
|
1
|
-
import os
|
|
2
|
-
import json
|
|
3
|
-
import pandas as pd
|
|
4
|
-
from typing import Text, Optional, Dict
|
|
5
|
-
|
|
6
|
-
from mindsdb.integrations.utilities.handler_utils import get_api_key
|
|
7
|
-
from mindsdb.integrations.libs.llm.utils import ft_jsonl_validation, ft_formatter
|
|
8
|
-
from mindsdb.integrations.handlers.openai_handler.openai_handler import OpenAIHandler
|
|
9
|
-
from mindsdb.integrations.handlers.anyscale_endpoints_handler.settings import anyscale_handler_config
|
|
10
|
-
from mindsdb.utilities import log
|
|
11
|
-
|
|
12
|
-
logger = log.getLogger(__name__)
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
class AnyscaleEndpointsHandler(OpenAIHandler):
|
|
16
|
-
"""
|
|
17
|
-
This handler handles connection and inference with the Anyscale Endpoints API.
|
|
18
|
-
"""
|
|
19
|
-
|
|
20
|
-
name = 'anyscale_endpoints'
|
|
21
|
-
|
|
22
|
-
def __init__(self, *args, **kwargs):
|
|
23
|
-
super().__init__(*args, **kwargs)
|
|
24
|
-
self.all_models = []
|
|
25
|
-
self.chat_completion_models = []
|
|
26
|
-
self.supported_ft_models = []
|
|
27
|
-
self.default_model = anyscale_handler_config.DEFAULT_MODEL
|
|
28
|
-
self.api_base = anyscale_handler_config.ANYSCALE_API_BASE
|
|
29
|
-
self.default_mode = anyscale_handler_config.DEFAULT_MODE
|
|
30
|
-
self.supported_modes = anyscale_handler_config.SUPPORTED_MODES
|
|
31
|
-
self.rate_limit = anyscale_handler_config.RATE_LIMIT
|
|
32
|
-
self.max_batch_size = anyscale_handler_config.MAX_BATCH_SIZE
|
|
33
|
-
self.default_max_tokens = anyscale_handler_config.DEFAULT_MAX_TOKENS
|
|
34
|
-
|
|
35
|
-
def create_engine(self, connection_args: Dict) -> None:
|
|
36
|
-
"""
|
|
37
|
-
Validate the Anyscale Endpoints credentials on engine creation.
|
|
38
|
-
|
|
39
|
-
Args:
|
|
40
|
-
connection_args (Dict): Connection arguments.
|
|
41
|
-
|
|
42
|
-
Raises:
|
|
43
|
-
Exception: If the handler is not configured with valid API credentials.
|
|
44
|
-
|
|
45
|
-
Returns:
|
|
46
|
-
None
|
|
47
|
-
"""
|
|
48
|
-
|
|
49
|
-
connection_args = {k.lower(): v for k, v in connection_args.items()}
|
|
50
|
-
api_key = connection_args.get('anyscale_endpoints_api_key')
|
|
51
|
-
if api_key is not None:
|
|
52
|
-
org = connection_args.get('api_organization')
|
|
53
|
-
api_base = connection_args.get('api_base') or os.environ.get('ANYSCALE_API_BASE', anyscale_handler_config.ANYSCALE_API_BASE)
|
|
54
|
-
client = self._get_client(api_key=api_key, base_url=api_base, org=org)
|
|
55
|
-
OpenAIHandler._check_client_connection(client)
|
|
56
|
-
|
|
57
|
-
@staticmethod
|
|
58
|
-
def create_validation(target: Text, args: Optional[Dict] = None, **kwargs: Optional[Dict]) -> None:
|
|
59
|
-
"""
|
|
60
|
-
Validate the Anyscale Endpoints credentials on model creation.
|
|
61
|
-
|
|
62
|
-
Args:
|
|
63
|
-
target (Text): Target column, not required for LLMs.
|
|
64
|
-
args (Dict): Handler arguments.
|
|
65
|
-
kwargs (Dict): Handler keyword arguments.
|
|
66
|
-
|
|
67
|
-
Raises:
|
|
68
|
-
Exception: If the handler is not configured with valid API credentials.
|
|
69
|
-
|
|
70
|
-
Returns:
|
|
71
|
-
None
|
|
72
|
-
"""
|
|
73
|
-
|
|
74
|
-
if 'using' not in args:
|
|
75
|
-
raise Exception(
|
|
76
|
-
"Anyscale Endpoints engine requires a USING clause! Refer to its documentation for more details."
|
|
77
|
-
)
|
|
78
|
-
else:
|
|
79
|
-
args = args['using']
|
|
80
|
-
|
|
81
|
-
engine_storage = kwargs['handler_storage']
|
|
82
|
-
connection_args = engine_storage.get_connection_args()
|
|
83
|
-
api_key = get_api_key('anyscale_endpoints', args, engine_storage=engine_storage)
|
|
84
|
-
api_base = connection_args.get('api_base') or args.get('api_base') or os.environ.get('ANYSCALE_API_BASE', anyscale_handler_config.ANYSCALE_API_BASE)
|
|
85
|
-
|
|
86
|
-
client = OpenAIHandler._get_client(api_key=api_key, base_url=api_base)
|
|
87
|
-
OpenAIHandler._check_client_connection(client)
|
|
88
|
-
|
|
89
|
-
def create(self, target: Text, args: Optional[Dict] = None, **kwargs: Optional[Dict]) -> None:
|
|
90
|
-
"""
|
|
91
|
-
Create a model via an engine.
|
|
92
|
-
|
|
93
|
-
Args:
|
|
94
|
-
target (Text): Target column.
|
|
95
|
-
args (Dict): Model arguments.
|
|
96
|
-
kwargs (Dict): Other arguments.
|
|
97
|
-
|
|
98
|
-
Returns:
|
|
99
|
-
None
|
|
100
|
-
"""
|
|
101
|
-
|
|
102
|
-
# Set the base and fine-tuned models and call the parent method
|
|
103
|
-
self._set_models_from_args(args)
|
|
104
|
-
super().create(target, args, **kwargs)
|
|
105
|
-
|
|
106
|
-
def predict(self, df: pd.DataFrame, args: Optional[Dict] = None) -> pd.DataFrame:
|
|
107
|
-
"""
|
|
108
|
-
Make a prediction using a model.
|
|
109
|
-
|
|
110
|
-
Args:
|
|
111
|
-
df (pd.DataFrame): Input data.
|
|
112
|
-
args (Dict): Handler arguments.
|
|
113
|
-
|
|
114
|
-
Returns:
|
|
115
|
-
pd.DataFrame: Predicted data
|
|
116
|
-
"""
|
|
117
|
-
|
|
118
|
-
# Set the base and fine-tuned models and call the parent method
|
|
119
|
-
self._set_models_from_args(args)
|
|
120
|
-
return super().predict(df, args)
|
|
121
|
-
|
|
122
|
-
def finetune(self, df: Optional[pd.DataFrame] = None, args: Optional[Dict] = None) -> None:
|
|
123
|
-
"""
|
|
124
|
-
Fine-tune a supported model.
|
|
125
|
-
|
|
126
|
-
Args:
|
|
127
|
-
df (pd.DataFrame): Input data.
|
|
128
|
-
args (Dict): Handler arguments.
|
|
129
|
-
|
|
130
|
-
Returns:
|
|
131
|
-
None
|
|
132
|
-
"""
|
|
133
|
-
|
|
134
|
-
using_args = args.get('using', {})
|
|
135
|
-
self._set_models(using_args)
|
|
136
|
-
super().finetune(df, args)
|
|
137
|
-
|
|
138
|
-
# Rewrite chat_completion_models to include the newly fine-tuned model
|
|
139
|
-
args = self.model_storage.json_get('args')
|
|
140
|
-
args['chat_completion_models'] = list(self.chat_completion_models) + [args['model_name']]
|
|
141
|
-
self.model_storage.json_set('args', args)
|
|
142
|
-
|
|
143
|
-
def describe(self, attribute: Optional[Text] = None) -> pd.DataFrame:
|
|
144
|
-
"""
|
|
145
|
-
Describe a model or its metadata.
|
|
146
|
-
|
|
147
|
-
Args:
|
|
148
|
-
attribute (Text): Attribute to describe.
|
|
149
|
-
|
|
150
|
-
Returns:
|
|
151
|
-
pd.DataFrame: Model or metadata description.
|
|
152
|
-
"""
|
|
153
|
-
|
|
154
|
-
args = self.model_storage.json_get('args')
|
|
155
|
-
|
|
156
|
-
# Remove keys from args to display
|
|
157
|
-
for arg in ('api_key', 'openai_api_key'):
|
|
158
|
-
if arg in args:
|
|
159
|
-
del args[arg]
|
|
160
|
-
|
|
161
|
-
if attribute == 'args':
|
|
162
|
-
return pd.DataFrame(args.items(), columns=['key', 'value'])
|
|
163
|
-
elif attribute == 'metadata':
|
|
164
|
-
# The URL is used as some models require completing a form to access their artifacts
|
|
165
|
-
model_name = args.get('model_name', self.default_model)
|
|
166
|
-
model_card_url = 'https://huggingface.co/' + model_name
|
|
167
|
-
return pd.DataFrame({'model_name': [model_name], 'model_card': [model_card_url]})
|
|
168
|
-
else:
|
|
169
|
-
tables = ['args', 'metadata']
|
|
170
|
-
return pd.DataFrame(tables, columns=['tables'])
|
|
171
|
-
|
|
172
|
-
def _set_models(self, args: Dict) -> None:
|
|
173
|
-
"""
|
|
174
|
-
Set the base and fine-tuned models.
|
|
175
|
-
|
|
176
|
-
Args:
|
|
177
|
-
args (Dict): Model arguments.
|
|
178
|
-
|
|
179
|
-
Returns:
|
|
180
|
-
None
|
|
181
|
-
"""
|
|
182
|
-
|
|
183
|
-
api_key = get_api_key('anyscale_endpoints', args, self.engine_storage)
|
|
184
|
-
client = OpenAIHandler._get_client(api_key=api_key, base_url=self.api_base)
|
|
185
|
-
self.all_models = [m.id for m in client.models.list()]
|
|
186
|
-
self.chat_completion_models = [m.id for m in client.models.list() if m.rayllm_metadata['engine_config']['model_type'] == 'text-generation'] # noqa
|
|
187
|
-
# Set base models compatible with fine-tuning
|
|
188
|
-
self.supported_ft_models = self.chat_completion_models
|
|
189
|
-
|
|
190
|
-
def _set_models_from_args(self, args: Dict) -> None:
|
|
191
|
-
"""
|
|
192
|
-
Set the base and fine-tuned models from the arguments, if specified. Otherwise, use the default list.
|
|
193
|
-
|
|
194
|
-
Args:
|
|
195
|
-
args (Dict): Model arguments.
|
|
196
|
-
|
|
197
|
-
Returns:
|
|
198
|
-
None
|
|
199
|
-
"""
|
|
200
|
-
|
|
201
|
-
self._set_models(args.get('using', {}))
|
|
202
|
-
|
|
203
|
-
# Update the models if they are specified in the arguments
|
|
204
|
-
model_args = self.model_storage.json_get('args')
|
|
205
|
-
if model_args and 'chat_completion_models' in model_args:
|
|
206
|
-
self.chat_completion_models = model_args.get('chat_completion_models')
|
|
207
|
-
|
|
208
|
-
@staticmethod
|
|
209
|
-
def _prepare_ft_jsonl(df, temp_storage_path: Text, temp_filename: Text, _, test_size: Optional[float] = 0.2) -> Dict:
|
|
210
|
-
"""
|
|
211
|
-
Prepare the data for fine-tuning.
|
|
212
|
-
|
|
213
|
-
Args:
|
|
214
|
-
df (pd.DataFrame): Input data.
|
|
215
|
-
temp_storage_path (Text): Temporary storage path.
|
|
216
|
-
temp_filename (Text): Temporary filename.
|
|
217
|
-
_: Unused.
|
|
218
|
-
test_size (float): Test size.
|
|
219
|
-
|
|
220
|
-
Returns:
|
|
221
|
-
dict: File names mapped to the prepared data.
|
|
222
|
-
"""
|
|
223
|
-
|
|
224
|
-
# 1. Format data
|
|
225
|
-
chats = ft_formatter(df)
|
|
226
|
-
|
|
227
|
-
# 2. Split chats in training and validation subsets
|
|
228
|
-
series = pd.Series(chats)
|
|
229
|
-
if len(series) < anyscale_handler_config.MIN_FT_DATASET_LEN:
|
|
230
|
-
raise Exception(f"Dataset is too small to finetune. Please include at least {anyscale_handler_config.MIN_FT_DATASET_LEN} samples (complete chats).")
|
|
231
|
-
val_size = max(anyscale_handler_config.MIN_FT_VAL_LEN, int(len(series) * test_size)) # at least as many samples as required by Anyscale
|
|
232
|
-
train = series.iloc[:-val_size]
|
|
233
|
-
val = series.iloc[-val_size:]
|
|
234
|
-
|
|
235
|
-
# 3. Write as JSONL files
|
|
236
|
-
file_names = {
|
|
237
|
-
'train': f'{temp_filename}_prepared_train.jsonl',
|
|
238
|
-
'val': f'{temp_filename}_prepared_valid.jsonl',
|
|
239
|
-
}
|
|
240
|
-
train.to_json(os.path.join(temp_storage_path, file_names['train']), orient='records', lines=True)
|
|
241
|
-
val.to_json(os.path.join(temp_storage_path, file_names['val']), orient='records', lines=True)
|
|
242
|
-
|
|
243
|
-
# 4. Validate and return
|
|
244
|
-
with open(os.path.join(temp_storage_path, file_names['train']), 'r', encoding='utf-8') as f:
|
|
245
|
-
ft_jsonl_validation([json.loads(line) for line in f])
|
|
246
|
-
|
|
247
|
-
with open(os.path.join(temp_storage_path, file_names['val']), 'r', encoding='utf-8') as f:
|
|
248
|
-
ft_jsonl_validation([json.loads(line) for line in f])
|
|
249
|
-
|
|
250
|
-
return file_names
|
|
251
|
-
|
|
252
|
-
def _get_ft_model_type(self, model_name: Text) -> Text:
|
|
253
|
-
"""
|
|
254
|
-
Get the fine-tuning model type.
|
|
255
|
-
|
|
256
|
-
Args:
|
|
257
|
-
model_name (Text): Model name.
|
|
258
|
-
|
|
259
|
-
Returns:
|
|
260
|
-
Text: Model type.
|
|
261
|
-
"""
|
|
262
|
-
|
|
263
|
-
for base_model in self.chat_completion_models:
|
|
264
|
-
if base_model.lower() in model_name.lower():
|
|
265
|
-
return base_model
|
|
266
|
-
logger.warning(f'Cannot recognize model {model_name}. Finetuning may fail.')
|
|
267
|
-
return model_name.lower()
|
|
268
|
-
|
|
269
|
-
@staticmethod
|
|
270
|
-
def _add_extra_ft_params(ft_params: Dict, using_args: Dict) -> Dict:
|
|
271
|
-
"""
|
|
272
|
-
Add extra fine-tuning parameters.
|
|
273
|
-
|
|
274
|
-
Args:
|
|
275
|
-
ft_params (Dict): Fine-tuning parameters.
|
|
276
|
-
using_args (Dict): Model arguments.
|
|
277
|
-
|
|
278
|
-
Returns:
|
|
279
|
-
Dict: Fine-tuning parameters with extra parameters.
|
|
280
|
-
"""
|
|
281
|
-
|
|
282
|
-
hyperparameters = {}
|
|
283
|
-
# Populate separately because keys with `None` break the API
|
|
284
|
-
for key in ('n_epochs', 'context_length'):
|
|
285
|
-
if using_args.get(key, None):
|
|
286
|
-
hyperparameters[key] = using_args[key]
|
|
287
|
-
if hyperparameters:
|
|
288
|
-
return {**ft_params, **{'hyperparameters': hyperparameters}}
|
|
289
|
-
else:
|
|
290
|
-
return ft_params
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
from collections import OrderedDict
|
|
2
|
-
|
|
3
|
-
from mindsdb.integrations.libs.const import HANDLER_CONNECTION_ARG_TYPE as ARG_TYPE
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
creation_args = OrderedDict(
|
|
7
|
-
anyscale_endpoints_api_key={
|
|
8
|
-
'type': ARG_TYPE.STR,
|
|
9
|
-
'description': 'Key for anyscale endpoints.',
|
|
10
|
-
'required': False,
|
|
11
|
-
'label': 'Anyscale endpoints API key',
|
|
12
|
-
'secret': True
|
|
13
|
-
}
|
|
14
|
-
)
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40" fill="none">
|
|
2
|
-
<path d="M13.3722 21.826H4.85157C2.13017 21.826 0 23.9511 0 26.6661V35.1627C0 37.8752 2.13017 40.0003 4.85157 40.0003H13.3722C16.0949 40.0003 18.2251 37.8752 18.2251 35.1627V26.6636C18.2251 23.9498 15.9756 21.826 13.3722 21.826ZM15.2664 35.0427C15.2664 36.1052 14.438 36.9302 13.3722 36.9302H4.85157C4.60193 36.9332 4.35421 36.8865 4.12301 36.7926C3.89181 36.6988 3.68182 36.5599 3.5054 36.3839C3.32898 36.208 3.18972 35.9987 3.09582 35.7684C3.00191 35.538 2.95527 35.2912 2.95864 35.0427V26.5474C2.95864 25.4849 3.78711 24.6598 4.85157 24.6598H13.3722C14.438 24.6598 15.2664 25.4849 15.2664 26.5474V35.0427Z" fill="#2055BE"/>
|
|
3
|
-
<path d="M35.2664 14.9855H25.0888V4.83765C24.9696 2.12507 22.8406 0 20.118 0H4.85157C2.13017 0 0 2.12507 0 4.83765V13.0979C0 15.8117 2.13017 17.9356 4.85157 17.9356H22.0109V35.0448C22.0109 37.7587 24.1423 39.8825 26.8637 39.8825H35.1484C37.8698 39.8825 40 37.7587 40 35.0448V19.8231C40 17.228 37.8698 15.1042 35.2664 14.9855ZM4.85157 14.9855C4.60193 14.9885 4.35421 14.9417 4.12301 14.8479C3.89181 14.7541 3.68182 14.6151 3.5054 14.4392C3.32898 14.2633 3.18972 14.054 3.09582 13.8236C3.00191 13.5933 2.95527 13.3465 2.95864 13.0979V4.83765C2.95864 3.77512 3.78711 2.95009 4.85157 2.95009H20.118C21.1837 2.95009 22.0122 3.77512 22.0122 4.83765V14.9855H4.85157ZM37.1594 35.0448C37.1594 36.1074 36.3309 36.9324 35.2664 36.9324H26.9817C26.7321 36.9354 26.4844 36.8886 26.2532 36.7948C26.022 36.701 25.812 36.562 25.6356 36.3861C25.4592 36.2102 25.3199 36.0009 25.226 35.7705C25.1321 35.5402 25.0854 35.2934 25.0888 35.0448V17.9356H35.2664C36.3309 17.9356 37.1594 18.7606 37.1594 19.8231V35.0448Z" fill="#2055BE"/>
|
|
4
|
-
</svg>
|