MeUtils 2025.4.20.23.17.29__py3-none-any.whl → 2025.4.23.16.0.20__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.
- {MeUtils-2025.4.20.23.17.29.dist-info → MeUtils-2025.4.23.16.0.20.dist-info}/METADATA +262 -262
- {MeUtils-2025.4.20.23.17.29.dist-info → MeUtils-2025.4.23.16.0.20.dist-info}/RECORD +26 -23
- examples/_openaisdk/dalle3.py +2 -0
- examples/_openaisdk/openai_google.py +57 -40
- examples/_openaisdk/zhipu_/346/231/272/350/203/275/344/275/223.py +12 -4
- examples/bserver.py +85 -63
- meutils/apis/chatglm/chat.py +127 -0
- meutils/apis/google/chat.py +34 -10
- meutils/apis/google/gemini_sdk.py +25 -3
- meutils/apis/google/upload.py +51 -0
- meutils/apis/jimeng/images.py +1 -1
- meutils/apis/proxy/kdlapi.py +16 -8
- meutils/apis/search/zhipu_web_search.py +5 -2
- meutils/apis/volcengine_apis/images.py +5 -4
- meutils/data/VERSION +1 -1
- meutils/db/redis_db.py +4 -2
- meutils/io/files_utils.py +1 -1
- meutils/llm/completions/assistants/zhipu.py +225 -0
- meutils/llm/completions/chat_spark.py +104 -103
- meutils/llm/openai_polling/chat.py +41 -9
- meutils/schemas/oneapi/common.py +11 -1
- meutils/schemas/openai_types.py +2 -0
- {MeUtils-2025.4.20.23.17.29.dist-info → MeUtils-2025.4.23.16.0.20.dist-info}/LICENSE +0 -0
- {MeUtils-2025.4.20.23.17.29.dist-info → MeUtils-2025.4.23.16.0.20.dist-info}/WHEEL +0 -0
- {MeUtils-2025.4.20.23.17.29.dist-info → MeUtils-2025.4.23.16.0.20.dist-info}/entry_points.txt +0 -0
- {MeUtils-2025.4.20.23.17.29.dist-info → MeUtils-2025.4.23.16.0.20.dist-info}/top_level.txt +0 -0
@@ -5,7 +5,7 @@ examples/__init__.py,sha256=qcNIwrjAAGqLJP3F0YcEJftLpBSQoBMfnmDlNXsBSNI,250
|
|
5
5
|
examples/args_demo.py,sha256=fPI_h8V2fxEpHin9WfJn6cRzitbbP5Pv6fVfFJkfUAg,1331
|
6
6
|
examples/backgroundtasks.py,sha256=N6Z-uGZLa8ULr4FGomxP1tGifSTKIXq6vvtOJ7Ixw7U,632
|
7
7
|
examples/best_table.py,sha256=qgq9VRtb9LQ0FvxV1opyRB9KN-od4PDMIqfT7JN_QXc,423
|
8
|
-
examples/bserver.py,sha256=
|
8
|
+
examples/bserver.py,sha256=CiyEQHayCZ18lDeHd4T5lTx0Tvny2VMh9Z29x7HJJxE,2811
|
9
9
|
examples/chatgpt.py,sha256=QTQVMcV2X6FbJWgg2_OfcFMELLJIaV9oWu3nbknc6iI,1440
|
10
10
|
examples/crontab_demo.py,sha256=GthbPsFmN6VwP3XLYYgLib56lFxfCp12H_Cu98l1vR0,1525
|
11
11
|
examples/datamodel.py,sha256=8Hpz75mbyMUOo8RA1jJA12tGdoo_M8Owgb8zkqdfvic,1052
|
@@ -79,7 +79,7 @@ examples/_openaisdk/bpo.py,sha256=7Jw16TiKFEQvYbt4g-h7QimLBw7xY49w1MthT5OwcTM,52
|
|
79
79
|
examples/_openaisdk/chat_latex.py,sha256=FzVSvmG988GRItUg1Uga-L3dZseZW76LCvngHqRedD8,2939
|
80
80
|
examples/_openaisdk/chattts.py,sha256=MWQXUpXkpf1knGqsxevBOxX__1LXZr4v9FFhH98ADzM,3043
|
81
81
|
examples/_openaisdk/copilot.py,sha256=lVjncr1HHibzwxOvchA9CwqxtGfhwPr1gZw664DdCb8,1208
|
82
|
-
examples/_openaisdk/dalle3.py,sha256=
|
82
|
+
examples/_openaisdk/dalle3.py,sha256=dhZuJDfPkKgfIPhQBAGLcahpxJlwdSpEtiJj-_Hol18,1079
|
83
83
|
examples/_openaisdk/deeplx.py,sha256=RIOMGTZ6McHyH7UCCD3nPMq6qFtHd6f-sXnapH1iGBM,772
|
84
84
|
examples/_openaisdk/demo.py,sha256=3R8DmwR7BhY844hGLEuVqECm2N29gJmQzYGVNdvLlDc,1875
|
85
85
|
examples/_openaisdk/embeddings.py,sha256=ZnktOqp2G_mCigN8K8wHrAhmTYql2PN3pKqaYMLbTW8,851
|
@@ -109,7 +109,7 @@ examples/_openaisdk/openai_ep.py,sha256=cAaeyC8Lstk1MB36c4h7X9n7EnEnY7rr2Tugo_di
|
|
109
109
|
examples/_openaisdk/openai_files.py,sha256=zcF4k4sQ2FnINhq6x1wCKw1WCu93g1h69Yul_rLdakE,2058
|
110
110
|
examples/_openaisdk/openai_gitee.py,sha256=UQEJMQMQDhgqYzo_aYetYXnBmVtqRwIweJDDK3NlSMw,1205
|
111
111
|
examples/_openaisdk/openai_god.py,sha256=O8fbhyxiIlVR7pTvBTXgQ2QTwfcZ2MkEIyDe_jp797A,1056
|
112
|
-
examples/_openaisdk/openai_google.py,sha256=
|
112
|
+
examples/_openaisdk/openai_google.py,sha256=3YcTIZds6xCd1rQX1G0Ukub2bwFRJi2EWArkV6sThU8,5815
|
113
113
|
examples/_openaisdk/openai_groq.py,sha256=_5Ue1yEx0Gp6theFioB_D8kepR0UlqMU96PVGH-LkVY,7363
|
114
114
|
examples/_openaisdk/openai_images.py,sha256=_ceVlEhg8sSpsBqyMpaURqnBNdmQt-L7-UDb1N0IHmk,5980
|
115
115
|
examples/_openaisdk/openai_jina.py,sha256=QeGRXMQmkJyg8Cz4Vfx4pP39a5TcO7pQQfPAPbBA8bs,1628
|
@@ -142,7 +142,7 @@ examples/_openaisdk/testDeepseek.py,sha256=TH_Lu0-oi2uqlEtXJ-VbPjdm1XkkF3vEFH3TC
|
|
142
142
|
examples/_openaisdk/x.py,sha256=IdhHsmyd-uZx5UohfWa_g467kZeR1Pkec42z3bW-3Iw,4752
|
143
143
|
examples/_openaisdk/xx.py,sha256=DvU98YbhmFJZ3xWqK4NOAafNqOJLu2ehQycCRLEXVUg,645
|
144
144
|
examples/_openaisdk/zhipu_files.py,sha256=HLvlM9CDcmNER5w-MBMLQPZVPJjR2UHRXYA3ru2cT2Q,1057
|
145
|
-
examples/_openaisdk/zhipu_智能体.py,sha256=
|
145
|
+
examples/_openaisdk/zhipu_智能体.py,sha256=Nj7cZY-MRuf4TFT4zmr6K4ktNPAI6j28gyfLsrUfqR8,3867
|
146
146
|
examples/_openaisdk/兜底测试.py,sha256=7vIOZDj-iB5dJjfJtHe_A-3D7ZUmOSiryI7ciIp0EzE,2878
|
147
147
|
examples/_openaisdk/多模态测试.py,sha256=XNHvC9Qbw3tUZ_i8shyEx3a6T3FFDsTyIIkm3rO0R38,2559
|
148
148
|
examples/_openaisdk/多模态测试_.py,sha256=7mh9dnpSApqmrriQ9-q4jY8uHfplsrjyGSXb8b-Zt9o,1276
|
@@ -347,6 +347,7 @@ meutils/apis/baidu/__init__.py,sha256=XPkz3DHrDdxCneaZct3y7MaX0Aw9IIseOYOn1YuVBI
|
|
347
347
|
meutils/apis/baidu/bdaitpzs.py,sha256=juIuI_1wC7McNDzulps1SR21z3D4GL4sfHQeAHTc4Q0,12717
|
348
348
|
meutils/apis/baidu/test.py,sha256=nb9ivelHIw84-d1V-MNGRpGoTpLFsNXPk-TTKpjwOfQ,2058
|
349
349
|
meutils/apis/chatglm/__init__.py,sha256=uFuc9qY-ZjGqbsfcdGZkcEkhjATojWpzk2WXTTujc70,271
|
350
|
+
meutils/apis/chatglm/chat.py,sha256=VARWXh3A2PnoScBgvfgAJC2C8OfVy9vWs3Q-qKg6F8Q,4253
|
350
351
|
meutils/apis/chatglm/glm_video.py,sha256=9LA9pyeIcDDHXGhJbZSJfjxrLeNC3SIuCKJwDIXRKR8,14015
|
351
352
|
meutils/apis/chatglm/glm_video_api.py,sha256=fr4hizU-jEjCdXvd8VpYY0XthEJfLQCcyBYwyd9bQq0,3898
|
352
353
|
meutils/apis/chatglm/images.py,sha256=k2EtOpksgAfJb2MD6kLOKKem713kamTIinRmgr8_3n0,1974
|
@@ -366,12 +367,13 @@ meutils/apis/gitee/images/__init__.py,sha256=zvS8e0ogQLqajZTAype1e0TDLJenlfbRQ16
|
|
366
367
|
meutils/apis/gitee/images/kolors.py,sha256=IGpDtMiOOPgbE8ZOXFP9-Hh_XNCDkuvNYjKQbXq8Nik,3338
|
367
368
|
meutils/apis/google/__init__.py,sha256=3pcpV81045y42FCTSdN99YGLCabwocR-f1_gjTSeFhE,243
|
368
369
|
meutils/apis/google/audios.py,sha256=Su1V3TAOn8X94KgOrmpLRPnYETgTyDXqjDf4qQMkzAo,3289
|
369
|
-
meutils/apis/google/chat.py,sha256=
|
370
|
+
meutils/apis/google/chat.py,sha256=vAgmgKDkHcclIIlFcHzKmjanfBEbbx5rllEG7Crn5lQ,15706
|
370
371
|
meutils/apis/google/files.py,sha256=0J1sJT1HFmh-V77_eiSzSBcqcF-i7w08M0rzjSyIXO0,1015
|
371
|
-
meutils/apis/google/gemini_sdk.py,sha256=
|
372
|
+
meutils/apis/google/gemini_sdk.py,sha256=2cBRrNxrqls0qYPXl-ZXovZlinTcIyrXoRPmcQlVL8Q,5619
|
372
373
|
meutils/apis/google/google2openai.py,sha256=JaRw4XfGjy1XAbM4UwLqwLHmldOvM1J1tbMTagi10os,3075
|
373
374
|
meutils/apis/google/images.py,sha256=s9-X8FQqHr5_Of5ZFudR_phmcVzlRyv65O3IsKtlvXo,663
|
374
375
|
meutils/apis/google/search.py,sha256=js3Vx3u9lNrvQxWHF3Y2nP-8qYOA3sKYhbYvO4jHUCA,1590
|
376
|
+
meutils/apis/google/upload.py,sha256=8stvopyIs03ywY6fyGHAtow1TarpMKjsb1V9x9GMgSI,1326
|
375
377
|
meutils/apis/hailuoai/__init__.py,sha256=2g9okuB6pxPh1hDiAE9HZo37baqIO9cX-67RpyfBj1k,272
|
376
378
|
meutils/apis/hailuoai/demo.py,sha256=WTnDFL2HgVpAjcn5BljLrbf2y2aATkvvNy75zoEIQkc,1483
|
377
379
|
meutils/apis/hailuoai/hasha_new.py,sha256=1sD3fxmxYrEufmPaJZGAkYJoHKO85hfLXemnY-xYIO8,9101
|
@@ -415,7 +417,7 @@ meutils/apis/jimeng/common.py,sha256=Dr6BmCT9uRw89jgIwECe7dKNZpJIGUBJXzRzK-1b-hw
|
|
415
417
|
meutils/apis/jimeng/doubao.py,sha256=5OdnBpmZQOCLIb6lnN8YrL7J7E0XF47q0UF-z6asSuI,4295
|
416
418
|
meutils/apis/jimeng/doubao_utils.py,sha256=XCHnvwfCOtJmPQuzDOCfKDMP_Pcqh-Y4w2h5f7Y2gzM,5999
|
417
419
|
meutils/apis/jimeng/files.py,sha256=E-pPmi6fIP_n6wgfiDbqeWsIfrXVZUe7LpA6Wds1xDI,11047
|
418
|
-
meutils/apis/jimeng/images.py,sha256=
|
420
|
+
meutils/apis/jimeng/images.py,sha256=XSow0hEiGlPZaobVcY9C8rZ2Ap1yTfP37W_YscpSSZk,14071
|
419
421
|
meutils/apis/jimeng/videos.py,sha256=x-PDOYNBN-yTmNvMbyDbwm_E2LXZ6A4hcVzEahV_Hvc,10813
|
420
422
|
meutils/apis/jina/__init__.py,sha256=WnZ4LOv-bzC1brd5FZHOHmgq4c0UaFbnksEj2_LzXxQ,292
|
421
423
|
meutils/apis/jina/common.py,sha256=dwSJboUcZtvBTKRcvAUcgMD933VfYCUBDdtxbw1ioiE,1099
|
@@ -450,7 +452,7 @@ meutils/apis/pixverse/pixverse.py,sha256=dvnyYVUXCEY_cLnmX9lvq9TesvplCMCuJmmP7Sh
|
|
450
452
|
meutils/apis/proxy/__init__.py,sha256=by7_6GT3xeDjAWLLqbw8uvGaZ3RdprEW-zJ2DFLOdwA,271
|
451
453
|
meutils/apis/proxy/demo.py,sha256=-huvtmltbKXa6cS77k61ts-Kjd5ccSAgXzNrotIvIKA,1642
|
452
454
|
meutils/apis/proxy/ips.py,sha256=3McLniROteSBqAtcMH8xKbUBfhVc4ZyGuRwMvgEryKg,5023
|
453
|
-
meutils/apis/proxy/kdlapi.py,sha256=
|
455
|
+
meutils/apis/proxy/kdlapi.py,sha256=Z0aSzn3fjBgrtCU8JOU_-pQL_JmV8TXQhp9VDO4M4E4,1916
|
454
456
|
meutils/apis/remini/__init__.py,sha256=8TbAnbI_bDfH8g0Y9EHXHBum7C0rZt9MzgAAz_MbAeI,271
|
455
457
|
meutils/apis/remini/remini.py,sha256=bJjvtqrCNlAu7No4gYGjoWAM0ch6dCsofYSy2jPZrXg,4239
|
456
458
|
meutils/apis/replicateai/__init__.py,sha256=PK7e7-xhn5aj5WOyGHLzpsHQvpeM5uTOiMylvj40ZmU,272
|
@@ -466,7 +468,7 @@ meutils/apis/search/metaso.py,sha256=hNvtY2jqZrYGXoZwe3JIooFxUgdJGQ2d0p8_Ecfrb44
|
|
466
468
|
meutils/apis/search/metaso_.py,sha256=PqMX3FLYbbAcc9qpqrPZ58LuSF29h0asZO1XMYmXbes,3144
|
467
469
|
meutils/apis/search/n.py,sha256=o7jzNoR5v_nAjgdUvWgebL3nvvo3ECpq2KCj9YhUNr4,4337
|
468
470
|
meutils/apis/search/searxng.py,sha256=RBPeq-AYj5D42gROrZNg0SxIWwWEW0oqrbQ3wEDH9k8,951
|
469
|
-
meutils/apis/search/zhipu_web_search.py,sha256=
|
471
|
+
meutils/apis/search/zhipu_web_search.py,sha256=cHt83mzk5Qx_DyoHpHaAHGtyi_saW6hCFy0iuk6nIYk,3791
|
470
472
|
meutils/apis/siliconflow/__init__.py,sha256=DQ-A6wAWGna49pmyGhcIWgc2zx6TN9DfQmSUdAW7qjk,241
|
471
473
|
meutils/apis/siliconflow/audio.py,sha256=pk1OROATtAURPQ6VkswmR5gJFOFYJJPnjp-boDAf8X0,2017
|
472
474
|
meutils/apis/siliconflow/image_to_image.py,sha256=Clk-2hACzoUP0yTHnxhlV5MA_HsVdcPuhrX41YARWPM,89439
|
@@ -507,7 +509,7 @@ meutils/apis/voice_clone/__init__.py,sha256=y7Rpn90LocHhA0ywrDP_fT4QAK7sr4JsIX5w
|
|
507
509
|
meutils/apis/voice_clone/fish.py,sha256=6m8zcS2KEqmalKy2ArnOaNovyxsQp_sw4d_O1kVZR2s,7146
|
508
510
|
meutils/apis/voice_clone/fish_api.py,sha256=pDpE-B8HFiGIOV3NVd1HmFrCC2GQc3wH-81oNbTS0mY,307
|
509
511
|
meutils/apis/volcengine_apis/__init__.py,sha256=PnngoI3Qk6n_axdOLgENCFYlKsmohgzYVW1HUg7L8gI,271
|
510
|
-
meutils/apis/volcengine_apis/images.py,sha256=
|
512
|
+
meutils/apis/volcengine_apis/images.py,sha256=w8hwpwKwUw6YBr-ye4Iiu2WxDbHu70RQ4gw0GNj6LoM,5149
|
511
513
|
meutils/async_task/__init__.py,sha256=45cUr-GWvQ1JFYGOYPOIkHLyTR3JbfP_PEYrmktpMLo,367
|
512
514
|
meutils/async_task/celery_config.py,sha256=BX1h3jY34aO6UmUFakdBUwOdsEiOxCGuUtYDUKFtafc,3461
|
513
515
|
meutils/async_task/common.py,sha256=ZJ4e0CsEJf1ppPmGSwPCwhZBAkUL5xsi_t1ny-bJuko,845
|
@@ -556,7 +558,7 @@ meutils/config_utils/lark_utils/demo.py,sha256=3g0Fs7oLaeW75T60gYWMLgyNg1OnfOjfH
|
|
556
558
|
meutils/config_utils/lark_utils/x.py,sha256=MlMQGhehP9xMEgetxVCX68XFaosfKoW1JA5cZ3JqN2w,1857
|
557
559
|
meutils/crawlers/__init__.py,sha256=TBU4xA-IOsHV-0yIkW7YXxn_QT7TT8NncqxO7IykEfs,271
|
558
560
|
meutils/data/SimHei.ttf,sha256=-XEnekS5yHP_URkT4XBI2w22ylV-KxudhkeIYFbrILA,10062565
|
559
|
-
meutils/data/VERSION,sha256=
|
561
|
+
meutils/data/VERSION,sha256=N7F8gUMk4GNQrU8QIz3ZqgKoIc19aDSrezEC-BishjE,19
|
560
562
|
meutils/data/_FLAG,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
561
563
|
meutils/data/_SUCCESS,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
562
564
|
meutils/data/__init__.py,sha256=Hfwkkxs4zHqKhxht0YrhS566a9P5axtmgNvM5wF8ceQ,243
|
@@ -570,7 +572,7 @@ meutils/db/__init__.py,sha256=HR99rqxoFTWXUHDhLVl33tzIn8M86gigHLmEzOKH1Ec,7637
|
|
570
572
|
meutils/db/mongo.py,sha256=B-B_t939rxtnNGt0PxhivjIUwinmHPzLUpXsjUIaTkQ,2337
|
571
573
|
meutils/db/neo4j.py,sha256=eYd3jP3COWlOFBaF20UXphW67-HwlZ1t0Q34Cp-j6o0,2168
|
572
574
|
meutils/db/orm.py,sha256=NEOO6p6D98EARszGXKuc9iTFQburllQS_vlgjp15lls,5094
|
573
|
-
meutils/db/redis_db.py,sha256=
|
575
|
+
meutils/db/redis_db.py,sha256=nQHVTOxE0Apoaj9mjjAYzTTd2QpU6Ry41kPxdJiPb2w,2990
|
574
576
|
meutils/decorators/__ai.py,sha256=QAz005-Wa-sp0YUUoelaR1pMbt6hPSBML5j0My6TbEI,1681
|
575
577
|
meutils/decorators/__init__.py,sha256=hgpHo40pfFWYXEnrW74o8W7SIfCD0GHr3gnujBw1hIQ,3284
|
576
578
|
meutils/decorators/cache.py,sha256=-sqhCuiSYZK1UtsRw7bBog19G65O9N27DVTAp_nlBk4,2972
|
@@ -603,7 +605,7 @@ meutils/init/evn.py,sha256=GPw9Un8YbgYJmjwd-uYWQ8JeVr6pRxwyYbDv3W8fb1s,1588
|
|
603
605
|
meutils/init/oo.py,sha256=jXWaCWWFYVPGgTIas47Z3J7sIq-CD7DyK6fKDBsq8GA,12884
|
604
606
|
meutils/io/__init__.py,sha256=uW43ZfdWu7adRvwvcTzUGtn4CseRmbzEJdlZV-oqHEA,2107
|
605
607
|
meutils/io/_openai_files.py,sha256=UIiu6Zg7iSFIn1xIcpLznFlnfCxAJFGuvuPtxvTNHfI,1005
|
606
|
-
meutils/io/files_utils.py,sha256=
|
608
|
+
meutils/io/files_utils.py,sha256=L8ABFfZcoNX0QyJc-0K_untAv9S3t3SWQnOJ29Nkmuk,8680
|
607
609
|
meutils/io/image.py,sha256=BJmYzx7o66X7C32gOfVmfr5tBRXOi0IYQY7BpGLsGrg,6926
|
608
610
|
meutils/io/minio_utils.py,sha256=i1YuxwDJzLse0smMXuPqnD1wirBBb8psmB_kd1oPoVU,1274
|
609
611
|
meutils/io/openai_files.py,sha256=wi4qp-olva8aF6AfBiUBfb_QlHzHolJJbH4UbHpRrB0,6032
|
@@ -648,7 +650,7 @@ meutils/llm/x.py,sha256=ETvKKDTmDNrik0K2-_a_SEQxyV4X4-fy0JPrAOLNPv4,1732
|
|
648
650
|
meutils/llm/completions/__init__.py,sha256=q5FEYPpo2f_P44Ghdh9fkrmqZLX2Asso8p-nf-ZTqks,244
|
649
651
|
meutils/llm/completions/chat_gemini.py,sha256=0x9HQxuDAHoWJ79JoaEKKWVNy4PRyd-Et-j8V93NqkY,4395
|
650
652
|
meutils/llm/completions/chat_plus.py,sha256=RPYQqx4vc57gevcz0gUS7QPvGm0M12ktAspMKJtoeuk,7727
|
651
|
-
meutils/llm/completions/chat_spark.py,sha256=
|
653
|
+
meutils/llm/completions/chat_spark.py,sha256=WkDnRASED-Cq261MyR4_XM8Lh7iLrFw6EwlRVVeOU1g,9847
|
652
654
|
meutils/llm/completions/chat_videos.py,sha256=P3Yz34dkNlxCxzOuKHJ9pHIA4UXK3Y5RXPzVnQjb9rc,2915
|
653
655
|
meutils/llm/completions/cp.py,sha256=tGf3umHKXDH0KuTfN7BLr8yAvN6MYWLYR5UVaJkJs0c,4172
|
654
656
|
meutils/llm/completions/deep2x.py,sha256=Fo5cC1jXOFFXOZeRGk9IpCZVCQc8vgOizuYFuPaWujA,3746
|
@@ -668,13 +670,14 @@ meutils/llm/completions/agents/__init__.py,sha256=Wklnf7FTHm43hyVwfT8FXX44nqdOTy
|
|
668
670
|
meutils/llm/completions/agents/search.py,sha256=GKsk0NRy6jsbSu8E9mdBWObJzroGE-L7Iuo5W2MK_u0,5057
|
669
671
|
meutils/llm/completions/assistants/__init__.py,sha256=1QWMIG5dA2wH7550ZdNpW00NPU9q8C-eXybjTsm1aSU,271
|
670
672
|
meutils/llm/completions/assistants/ppt.py,sha256=j3Wh6yBOMhjnh1WVF6tfs4WR9h25i8WVh75vVDfNpdk,3006
|
673
|
+
meutils/llm/completions/assistants/zhipu.py,sha256=XlLrh2d-x-74BeBchyeIPtQGgR4K38AMFZdzaZ9U9jY,8314
|
671
674
|
meutils/llm/completions/rag/__init__.py,sha256=VH4g9H0pqMM1Rkjc1xefQb4Uh8f9vlTt6tjdD6G6Wc0,272
|
672
675
|
meutils/llm/completions/rag/fire.py,sha256=0a_POkY9mEy1YwZHXOGnqf9EVyjiJwx3fWhmv_bQ54U,5743
|
673
676
|
meutils/llm/completions/rag/qwen.py,sha256=1dBNLLbQDRsM-7EGaStcWFU8HRa-rp3RxJ9cpxu6TBg,265
|
674
677
|
meutils/llm/completions/rag/rag.py,sha256=mnC4bZUMuNYuPFXMBqXMofj_ms8uP5MMw1leJ5jXA_k,1209
|
675
678
|
meutils/llm/functions/__init__.py,sha256=It6pcNwRBSh3Em45ooi61lc5tFg8eOYv0BvEFuRjSGQ,271
|
676
679
|
meutils/llm/openai_polling/__init__.py,sha256=qmAMITPtrTD-y57RiJXewuOic7iLKBhx8mz5uvcxsy8,270
|
677
|
-
meutils/llm/openai_polling/chat.py,sha256=
|
680
|
+
meutils/llm/openai_polling/chat.py,sha256=oxO6psoAAu2czWMAoT6hkgEEf8Rn3g6Avxx6OkD_O9Y,7508
|
678
681
|
meutils/llm/openai_polling/images.py,sha256=qKMk3vCvamS_48ceC-_y2LPpP5XsD476FHG9MUu8kks,1042
|
679
682
|
meutils/llm/openai_utils/__init__.py,sha256=MWyNhP2K49oaHGEZlInZc3XlwqlStFultP8k7HDPAwk,290
|
680
683
|
meutils/llm/openai_utils/common.py,sha256=GGctOMlg8xT2A5H-8hMow0VfOZHCDdIPjd12597Nohs,9754
|
@@ -795,7 +798,7 @@ meutils/schemas/metaso_types.py,sha256=r_X0Exs_2S3rNS71RneemMpz7EvBIOLBfAMmWMQRn
|
|
795
798
|
meutils/schemas/napkin_types.py,sha256=Kp0MbpRxzMBz4HWW4DrfcgOvHZVEF3N7P5yNeC1XGI4,2664
|
796
799
|
meutils/schemas/ocr_types.py,sha256=fZWYQAKii7HaTlSU9DS0wHyiEoOHuLnhvgoiH4Cn498,1381
|
797
800
|
meutils/schemas/openai_api_protocol.py,sha256=0GhmhUTEr54N_XCVuZI1MSxJldvwMNJjUAAAdWznw58,12716
|
798
|
-
meutils/schemas/openai_types.py,sha256=
|
801
|
+
meutils/schemas/openai_types.py,sha256=umvmG0hn4JGqHXMPJ6GwSNOYYCqb76fJTkfvYs5dCOI,22558
|
799
802
|
meutils/schemas/pixverse_types.py,sha256=3mHg2KxvszV1U8K3GdzsODZz4uocLVRjEeJgYhX0Xmw,2347
|
800
803
|
meutils/schemas/playwright_types.py,sha256=zhZd53m1Wg4zlGtq2JM4z7Aon-u_eF6rzs-_TFYWvkU,1177
|
801
804
|
meutils/schemas/prodia_types.py,sha256=knh_lzAxMfWMoqAPmvyMweay9PmQmsoQ1X6Mj17ohWg,476
|
@@ -818,7 +821,7 @@ meutils/schemas/db/__init__.py,sha256=m1maURVoM6dIW0yt6ELZrZTzULtkHybVOSXtHNJRVI
|
|
818
821
|
meutils/schemas/db/oneapi_types.py,sha256=3t2m0H80saEXmYUZfVFrtEaY117GjZTsSa1GKgkJzqQ,3896
|
819
822
|
meutils/schemas/oneapi/__init__.py,sha256=uevbi3QAvFzN9WPbx9bYKTDyKt7P2ueZO6W0nSiD0sk,289
|
820
823
|
meutils/schemas/oneapi/_types.py,sha256=ClvAaNy3SahEN8lL8KEErHTD6HANelXUeKc_3iLfosQ,1488
|
821
|
-
meutils/schemas/oneapi/common.py,sha256=
|
824
|
+
meutils/schemas/oneapi/common.py,sha256=Bf4Cqj8KvHyDCN9hs4XJuVCRj9NcQFjwH7UbzxhDbrk,35808
|
822
825
|
meutils/schemas/oneapi/icons.py,sha256=T7W5gInBJoHe62wzMimbG_UI-wn3_-rmQ1O4O2z-CQY,1089
|
823
826
|
meutils/schemas/oneapi/model_group_info.py,sha256=rGtflYJuFIjk5MsVEvK9JUR4IciX8jfErqeLqf8DIlQ,1586
|
824
827
|
meutils/schemas/oneapi/model_info.py,sha256=_uwKEPIIqm7ZYfhmpxtXB2QNsS83SpJY-OaBzvogC9w,772
|
@@ -947,9 +950,9 @@ meutils/tools/seize.py,sha256=nOKAS63w-Lbi48I0m2MPhdsokUTwxco0laPxYVmW4Mw,1064
|
|
947
950
|
meutils/tools/service_monitor.py,sha256=ibsLtBN2g2DL7ZnLJ8vhiZOiOcqTAyx711djDdBK-3M,1255
|
948
951
|
meutils/tools/sys_monitor.py,sha256=6MoyzrItqDUOSjfHcMJmMofQkEPTW36CT_aKui0rg84,429
|
949
952
|
meutils/tools/token_monitor.py,sha256=Np-YK-R4P4IPAXyZvMxwvXI4sFmNJQAQK1lSegNaYpA,997
|
950
|
-
MeUtils-2025.4.
|
951
|
-
MeUtils-2025.4.
|
952
|
-
MeUtils-2025.4.
|
953
|
-
MeUtils-2025.4.
|
954
|
-
MeUtils-2025.4.
|
955
|
-
MeUtils-2025.4.
|
953
|
+
MeUtils-2025.4.23.16.0.20.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
954
|
+
MeUtils-2025.4.23.16.0.20.dist-info/METADATA,sha256=qTNSxF_a4IgMBPUlTRN4pKhUWhr0XZkhEpD30Q7ma6I,32833
|
955
|
+
MeUtils-2025.4.23.16.0.20.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
|
956
|
+
MeUtils-2025.4.23.16.0.20.dist-info/entry_points.txt,sha256=lufZlBHRqqZKdY-ZQJ4CSZb0qhV5hQC37egZna9M7ug,357
|
957
|
+
MeUtils-2025.4.23.16.0.20.dist-info/top_level.txt,sha256=cInfxMmkgNOskurdjwP5unau4rA7Uw48nu07tYhS7KY,22
|
958
|
+
MeUtils-2025.4.23.16.0.20.dist-info/RECORD,,
|
examples/_openaisdk/dalle3.py
CHANGED
@@ -29,11 +29,15 @@ client = OpenAI(
|
|
29
29
|
base_url=os.getenv("GOOGLE_BASE_URL"),
|
30
30
|
)
|
31
31
|
|
32
|
-
|
32
|
+
model = "gemini-2.5-flash-preview-04-17"
|
33
|
+
# model = "gemini-2.5-pro-exp-03-25"
|
33
34
|
|
35
|
+
# model = "gemini-2.0-flash" # openai.BadRequestError: Error code: 400 - [{'error': {'code': 400, 'message': 'Unable to submit request because thinking_budget is only supported when enable_thinking is true. Learn more: https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/gemini', 'status': 'INVALID_ARGUMENT'}}]
|
34
36
|
|
35
|
-
print(
|
37
|
+
print(client.models.list().model_dump_json(indent=4))
|
36
38
|
|
39
|
+
print([model.id.removeprefix("models/") for model in client.models.list().data if
|
40
|
+
'flash' in model.id or 'gemma' in model.id] | xjoin(','))
|
37
41
|
|
38
42
|
# {
|
39
43
|
# "gemini-2.0-pro-exp": "models/gemini-2.0-pro-exp",
|
@@ -50,47 +54,60 @@ from openai import OpenAI
|
|
50
54
|
|
51
55
|
uri = 'https://generativelanguage.googleapis.com/v1beta/files/88n7hk8tau7g'
|
52
56
|
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
#
|
63
|
-
|
64
|
-
#
|
65
|
-
#
|
66
|
-
#
|
67
|
-
#
|
68
|
-
#
|
69
|
-
#
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
57
|
+
completion = client.chat.completions.create(
|
58
|
+
model=model,
|
59
|
+
messages=[
|
60
|
+
{
|
61
|
+
"role": "user",
|
62
|
+
"content": [
|
63
|
+
{
|
64
|
+
"type": "text",
|
65
|
+
"text": "9个8如何加减乘除运直得到1000",
|
66
|
+
# "text": "如何比较9.8 9.11哪个大"
|
67
|
+
},
|
68
|
+
# {
|
69
|
+
# "type": "image_url",
|
70
|
+
# "image_url": {
|
71
|
+
# "url": uri,
|
72
|
+
# }
|
73
|
+
# }
|
74
|
+
]
|
75
|
+
},
|
76
|
+
],
|
77
|
+
reasoning_effort="high",
|
78
|
+
# reasoning_effort="low",
|
79
|
+
# reasoning_effort=None,
|
74
80
|
|
75
|
-
tools = [
|
76
|
-
{
|
77
|
-
"type": "function",
|
78
|
-
"function": {
|
79
|
-
"name": "google_search",
|
80
|
-
|
81
|
-
}
|
82
|
-
}
|
83
|
-
]
|
84
|
-
#
|
85
|
-
messages = [{"role": "user", "content": "今天南京天气"}]
|
86
|
-
response = client.chat.completions.create(
|
87
|
-
model="gemini-2.0-flash-thinking-exp",
|
88
|
-
messages=messages,
|
89
|
-
# tools=tools,
|
90
|
-
# tool_choice="auto"
|
91
81
|
)
|
82
|
+
print(completion)
|
92
83
|
|
93
|
-
|
84
|
+
#
|
85
|
+
# tools = [
|
86
|
+
# {
|
87
|
+
# "type": "function",
|
88
|
+
# "function": {
|
89
|
+
# "name": "google_search",
|
90
|
+
#
|
91
|
+
# }
|
92
|
+
# }
|
93
|
+
# ]
|
94
|
+
# #
|
95
|
+
# messages = [{"role": "user", "content": "今天南京天气"}]
|
96
|
+
# response = client.chat.completions.create(
|
97
|
+
# model="gemini-2.0-flash-thinking-exp",
|
98
|
+
# messages=messages,
|
99
|
+
# # tools=tools,
|
100
|
+
# # tool_choice="auto"
|
101
|
+
# )
|
102
|
+
#
|
103
|
+
# "generationConfig": {
|
104
|
+
# "thinkingConfig": {
|
105
|
+
# "includeThoughts": true,
|
106
|
+
# "thinkingBudget": 1024
|
107
|
+
# }
|
108
|
+
# }
|
109
|
+
|
110
|
+
# print(response)
|
94
111
|
|
95
112
|
# gemini-2.0-flash-audio
|
96
113
|
# completion = client.chat.completions.create(
|
@@ -10,6 +10,7 @@
|
|
10
10
|
|
11
11
|
from meutils.pipe import *
|
12
12
|
from meutils.llm.clients import zhipuai_sdk_client
|
13
|
+
from meutils.schemas.openai_types import chat_completion_chunk
|
13
14
|
|
14
15
|
from zhipuai import ZhipuAI
|
15
16
|
|
@@ -25,9 +26,10 @@ from zhipuai import ZhipuAI
|
|
25
26
|
#
|
26
27
|
# # print(bjson(client.assistant.query_support()))
|
27
28
|
generate = zhipuai_sdk_client.assistant.conversation(
|
29
|
+
assistant_id="65940acff94777010aa6b796",
|
28
30
|
# assistant_id="65a265419d72d299a9230616",
|
29
31
|
# assistant_id="659d051a5f14eb8ce1235b96",
|
30
|
-
assistant_id="65d2f07bb2c10188f885bd89",
|
32
|
+
# assistant_id="65d2f07bb2c10188f885bd89",
|
31
33
|
|
32
34
|
# assistant_id="659e54b1b8006379b4b2abd6",
|
33
35
|
# conversation_id=None, # 多轮:从messages获取
|
@@ -39,8 +41,8 @@ generate = zhipuai_sdk_client.assistant.conversation(
|
|
39
41
|
"content": [{
|
40
42
|
"type": "text",
|
41
43
|
# "text": "北京未来七天气温,做个折线图",
|
42
|
-
|
43
|
-
"text": "周杰伦 【最新动态、相关信息或新闻】",
|
44
|
+
"text": "南京天气",
|
45
|
+
# "text": "周杰伦 【最新动态、相关信息或新闻】",
|
44
46
|
|
45
47
|
# "text": "画条狗"
|
46
48
|
# "text": "周杰伦",
|
@@ -60,9 +62,15 @@ for resp in generate:
|
|
60
62
|
if hasattr(delta, "tool_calls") and delta.tool_calls:
|
61
63
|
# print(delta)
|
62
64
|
|
65
|
+
# print(delta.model_dump_json(indent=4, exclude_none=True))
|
66
|
+
# logger.debug(delta)
|
63
67
|
print(delta.model_dump_json(indent=4, exclude_none=True))
|
68
|
+
elif hasattr(delta, "content"):
|
69
|
+
print(delta.content, end="")
|
64
70
|
|
65
|
-
|
71
|
+
else:
|
72
|
+
logger.debug(delta)
|
73
|
+
# print(resp.model_dump_json(indent=4, exclude_none=True))
|
66
74
|
# for tc in delta.tool_calls:
|
67
75
|
# tc.web_browser
|
68
76
|
|
examples/bserver.py
CHANGED
@@ -1,65 +1,87 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
"mj_fast_describe": 0.04,
|
5
|
-
"mj_fast_high_variation": 0.08,
|
6
|
-
"mj_fast_imagine": 0.08,
|
7
|
-
"mj_fast_inpaint": 0,
|
8
|
-
"mj_fast_low_variation": 0.08,
|
9
|
-
"mj_fast_modal": 0.08,
|
10
|
-
"mj_fast_pan": 0.08,
|
11
|
-
"mj_fast_pic_reader": 0,
|
12
|
-
"mj_fast_prompt_analyzer": 0,
|
13
|
-
"mj_fast_prompt_analyzer_extended": 0,
|
14
|
-
"mj_fast_reroll": 0.08,
|
15
|
-
"mj_fast_shorten": 0.08,
|
16
|
-
"mj_fast_upload": 0.01,
|
17
|
-
"mj_fast_upscale": 0.04,
|
18
|
-
"mj_fast_upscale_creative": 0.08,
|
19
|
-
"mj_fast_upscale_subtle": 0.08,
|
20
|
-
"mj_fast_variation": 0.08,
|
21
|
-
"mj_fast_zoom": 0.08,}
|
22
|
-
|
23
|
-
d2 = {
|
24
|
-
"mj_relax_blend": 0.08 * MJ_RELAX,
|
25
|
-
"mj_relax_custom_oom": 0,
|
26
|
-
"mj_relax_describe": 0.04 * MJ_RELAX,
|
27
|
-
"mj_relax_high_variation": 0.08 * MJ_RELAX,
|
28
|
-
"mj_relax_imagine": 0.08 * MJ_RELAX,
|
29
|
-
"mj_relax_inpaint": 0,
|
30
|
-
"mj_relax_low_variation": 0.08 * MJ_RELAX,
|
31
|
-
"mj_relax_modal": 0.08 * MJ_RELAX,
|
32
|
-
"mj_relax_pan": 0.08 * MJ_RELAX,
|
33
|
-
"mj_relax_pic_reader": 0,
|
34
|
-
"mj_relax_prompt_analyzer": 0,
|
35
|
-
"mj_relax_prompt_analyzer_extended": 0,
|
36
|
-
"mj_relax_reroll": 0.08 * MJ_RELAX,
|
37
|
-
"mj_relax_shorten": 0.08 * MJ_RELAX,
|
38
|
-
"mj_relax_upload": 0.01 * MJ_RELAX,
|
39
|
-
"mj_relax_upscale": 0.04 * 1,
|
40
|
-
"mj_relax_upscale_creative": 0.08 * 1,
|
41
|
-
"mj_relax_upscale_subtle": 0.08 * 1,
|
42
|
-
"mj_relax_variation": 0.08 * 1,
|
43
|
-
"mj_relax_zoom": 0.08 * MJ_RELAX,
|
44
|
-
}
|
45
|
-
|
46
|
-
d = dict(zip(d1, d2))
|
47
|
-
|
48
|
-
|
49
|
-
def fetch_video_result(file_id: str):
|
50
|
-
print("---------------视频生成成功,下载中---------------")
|
51
|
-
url = "https://api.minimax.chat/v1/files/retrieve?file_id="+file_id
|
52
|
-
headers = {
|
53
|
-
'authorization': 'Bearer '+api_key,
|
54
|
-
}
|
55
|
-
|
56
|
-
response = requests.request("GET", url, headers=headers)
|
57
|
-
print(response.text)
|
58
|
-
|
59
|
-
download_url = response.json()['file']['download_url']
|
60
|
-
print("视频下载链接:" + download_url)
|
61
|
-
with open(output_file_name, 'wb') as f:
|
62
|
-
f.write(requests.get(download_url).content)
|
63
|
-
print("已下载在:"+os.getcwd()+'/'+output_file_name)
|
1
|
+
from PIL import Image
|
2
|
+
import os
|
3
|
+
import math
|
64
4
|
|
65
5
|
|
6
|
+
def stitch_images_grid(image_paths, output_path, cols, background_color=(255, 255, 255)):
|
7
|
+
"""
|
8
|
+
使用 Pillow 将图片拼接成网格。
|
9
|
+
假设所有图片大小相似,或以最大图片的尺寸为单元格大小。
|
10
|
+
|
11
|
+
Args:
|
12
|
+
image_paths (list): 包含图片文件路径的列表。
|
13
|
+
output_path (str): 输出拼接后图片的路径。
|
14
|
+
cols (int): 网格的列数。
|
15
|
+
background_color (tuple): 画布背景色 (R, G, B)。
|
16
|
+
"""
|
17
|
+
images = []
|
18
|
+
max_w = 0
|
19
|
+
max_h = 0
|
20
|
+
|
21
|
+
# 加载图片并找到最大尺寸
|
22
|
+
for path in image_paths:
|
23
|
+
try:
|
24
|
+
img = Image.open(path).convert('RGB')
|
25
|
+
images.append(img)
|
26
|
+
max_w = max(max_w, img.width)
|
27
|
+
max_h = max(max_h, img.height)
|
28
|
+
except FileNotFoundError:
|
29
|
+
print(f"警告: 文件未找到 {path}, 跳过此图片。")
|
30
|
+
except Exception as e:
|
31
|
+
print(f"警告: 加载图片 {path} 时出错: {e}, 跳过此图片。")
|
32
|
+
|
33
|
+
if not images:
|
34
|
+
print("错误: 没有可拼接的有效图片。")
|
35
|
+
return
|
36
|
+
|
37
|
+
num_images = len(images)
|
38
|
+
rows = math.ceil(num_images / cols)
|
39
|
+
|
40
|
+
# 计算画布总尺寸
|
41
|
+
grid_width = cols * max_w
|
42
|
+
grid_height = rows * max_h
|
43
|
+
|
44
|
+
# 创建画布
|
45
|
+
grid_image = Image.new('RGB', (grid_width, grid_height), background_color)
|
46
|
+
|
47
|
+
# 拼接图片到网格
|
48
|
+
for index, img in enumerate(images):
|
49
|
+
row = index // cols
|
50
|
+
col = index % cols
|
51
|
+
# 计算粘贴位置 (左上角)
|
52
|
+
paste_x = col * max_w
|
53
|
+
paste_y = row * max_h
|
54
|
+
|
55
|
+
# 可选:如果图片尺寸小于单元格,可以居中
|
56
|
+
offset_x = (max_w - img.width) // 2
|
57
|
+
offset_y = (max_h - img.height) // 2
|
58
|
+
|
59
|
+
grid_image.paste(img, (paste_x + offset_x, paste_y + offset_y))
|
60
|
+
|
61
|
+
# 保存结果
|
62
|
+
try:
|
63
|
+
grid_image.save(output_path)
|
64
|
+
print(f"图片已成功按 {rows}x{cols} 网格拼接并保存至: {output_path}")
|
65
|
+
except Exception as e:
|
66
|
+
print(f"错误: 保存网格图片时出错: {e}")
|
67
|
+
|
68
|
+
|
69
|
+
if __name__ == '__main__':
|
70
|
+
|
71
|
+
# --- 示例用法 ---
|
72
|
+
image_files = ["cover.jpeg", "image2.png", "image3.jpg", "image4.gif"] # 替换路径
|
73
|
+
image_files = ['cover.jpeg', 'img.png']
|
74
|
+
output_file = "xxxxxxxxxxxxxxxxxxxxxxxxxxx.jpg"
|
75
|
+
columns = 2 # 设置网格列数
|
76
|
+
|
77
|
+
# (确保示例图片存在或创建它们)
|
78
|
+
# if not os.path.exists("image4.gif"):
|
79
|
+
# try:
|
80
|
+
# img = Image.new('RGB', (110, 130), color = (50, 150, 50))
|
81
|
+
# img.save("image4.gif")
|
82
|
+
# print("创建了示例图片: image4.gif")
|
83
|
+
# except Exception as e:
|
84
|
+
# print(f"无法创建示例图片 image4.gif: {e}")
|
85
|
+
|
86
|
+
|
87
|
+
stitch_images_grid(image_files, output_file, cols=columns)
|
@@ -0,0 +1,127 @@
|
|
1
|
+
#!/usr/bin/env python
|
2
|
+
# -*- coding: utf-8 -*-
|
3
|
+
# @Project : AI. @by PyCharm
|
4
|
+
# @File : chat
|
5
|
+
# @Time : 2025/4/23 10:23
|
6
|
+
# @Author : betterme
|
7
|
+
# @WeChat : meutils
|
8
|
+
# @Software : PyCharm
|
9
|
+
# @Description :
|
10
|
+
|
11
|
+
from meutils.pipe import *
|
12
|
+
from meutils.schemas.openai_types import CompletionRequest
|
13
|
+
from meutils.llm.clients import AsyncOpenAI
|
14
|
+
from meutils.caches import rcache
|
15
|
+
from meutils.schemas.chatglm_types import VideoRequest, Parameter, VIDEO_BASE_URL, EXAMPLES
|
16
|
+
|
17
|
+
from meutils.decorators.retry import retrying
|
18
|
+
from meutils.notice.feishu import send_message as _send_message
|
19
|
+
from meutils.config_utils.lark_utils import get_next_token_for_polling
|
20
|
+
from meutils.db.redis_db import redis_aclient
|
21
|
+
|
22
|
+
from fake_useragent import UserAgent
|
23
|
+
|
24
|
+
ua = UserAgent()
|
25
|
+
|
26
|
+
FEISHU_URL = "https://xchatllm.feishu.cn/sheets/Bmjtst2f6hfMqFttbhLcdfRJnNf?sheet=EOZuBW"
|
27
|
+
BASE_URL = "https://chatglm.cn/chatglm/backend-api"
|
28
|
+
"https://chatglm.cn/chatglm/backend-api/assistant/stream"
|
29
|
+
|
30
|
+
|
31
|
+
# {
|
32
|
+
# "assistant_id": "65940acff94777010aa6b796",
|
33
|
+
# "conversation_id": "",
|
34
|
+
# "meta_data": {
|
35
|
+
# "is_test": false,
|
36
|
+
# "input_question_type": "xxxx",
|
37
|
+
# "channel": "",
|
38
|
+
# "draft_id": "",
|
39
|
+
# "is_networking": false,
|
40
|
+
# "chat_mode": "",
|
41
|
+
# "quote_log_id": "",
|
42
|
+
# "platform": "pc"
|
43
|
+
# },
|
44
|
+
# "messages": [
|
45
|
+
# {
|
46
|
+
# "role": "user",
|
47
|
+
# "content": [
|
48
|
+
# {
|
49
|
+
# "type": "text",
|
50
|
+
# "text": "你是谁"
|
51
|
+
# }
|
52
|
+
# ]
|
53
|
+
# }
|
54
|
+
# ]
|
55
|
+
# }
|
56
|
+
|
57
|
+
# {"id":"68084f7bef14104a4663f6a8","conversation_id":"68084f7bef14104a4663f6a7","assistant_id":"65940acff94777010aa6b796","parts":[],"created_at":"2025-04-23 10:24:59","status":"init","last_error":{},"meta_data":{"input_question_type":"xxxx","if_plus_model":false,"plus_model_available":true,"if_increase_push":false}}
|
58
|
+
|
59
|
+
class Completions(object):
|
60
|
+
def __init__(self, api_key: Optional[str] = None):
|
61
|
+
self.api_key = api_key
|
62
|
+
|
63
|
+
async def create(self, request: CompletionRequest):
|
64
|
+
payload = {
|
65
|
+
"assistant_id": request.model,
|
66
|
+
"conversation_id": "",
|
67
|
+
"meta_data": {
|
68
|
+
"is_test": False,
|
69
|
+
"input_question_type": "xxxx",
|
70
|
+
"channel": "",
|
71
|
+
"draft_id": "",
|
72
|
+
"is_networking": False,
|
73
|
+
"chat_mode": "",
|
74
|
+
"quote_log_id": "",
|
75
|
+
"platform": "pc"
|
76
|
+
},
|
77
|
+
"messages": request.messages
|
78
|
+
}
|
79
|
+
# client = AsyncOpenAI(base_url=BASE_URL, api_key=self.get_access_token())
|
80
|
+
# response = await client.post(
|
81
|
+
# "/assistant/stream",
|
82
|
+
# cast_to=object,
|
83
|
+
# body=payload,
|
84
|
+
# stream=True,
|
85
|
+
# )
|
86
|
+
# for i in response:
|
87
|
+
# logger.debug(i)
|
88
|
+
|
89
|
+
url = "https://chatglm.cn/chatglm/backend-api/assistant/stream"
|
90
|
+
# response = self.httpx_client.post(url=url, json=payload)
|
91
|
+
headers = {
|
92
|
+
'Authorization': f"Bearer {self.get_access_token()}",
|
93
|
+
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36'
|
94
|
+
}
|
95
|
+
async with httpx.AsyncClient(headers=headers).stream("POST", url=url, json=payload, timeout=200) as response:
|
96
|
+
async for chunk in response.aiter_lines():
|
97
|
+
logger.debug(chunk)
|
98
|
+
|
99
|
+
@rcache(ttl=1 * 3600)
|
100
|
+
async def get_access_token(self, token: Optional[str] = None):
|
101
|
+
token = self.api_key or token or await get_next_token_for_polling(FEISHU_URL)
|
102
|
+
|
103
|
+
response = await AsyncOpenAI(base_url=BASE_URL, api_key=token).post(
|
104
|
+
"/v1/user/refresh",
|
105
|
+
cast_to=object,
|
106
|
+
)
|
107
|
+
|
108
|
+
# logger.debug(response)
|
109
|
+
|
110
|
+
return response.get("result", {}).get("accessToken")
|
111
|
+
|
112
|
+
|
113
|
+
if __name__ == '__main__':
|
114
|
+
# arun(Completions().get_access_token())
|
115
|
+
|
116
|
+
request = CompletionRequest(
|
117
|
+
model="65940acff94777010aa6b796",
|
118
|
+
messages=[
|
119
|
+
{
|
120
|
+
"role": "user",
|
121
|
+
"content": [{"type": "text", "text": "你是谁"}],
|
122
|
+
}
|
123
|
+
],
|
124
|
+
stream=True,
|
125
|
+
)
|
126
|
+
|
127
|
+
arun(Completions().create(request))
|