xiaogpt 2.40__tar.gz → 2.42__tar.gz

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.
Files changed (29) hide show
  1. {xiaogpt-2.40 → xiaogpt-2.42}/PKG-INFO +98 -11
  2. {xiaogpt-2.40 → xiaogpt-2.42}/README.md +7 -5
  3. xiaogpt-2.42/pyproject.toml +155 -0
  4. xiaogpt-2.40/pyproject.toml +0 -65
  5. {xiaogpt-2.40 → xiaogpt-2.42}/LICENSE +0 -0
  6. {xiaogpt-2.40 → xiaogpt-2.42}/xiaogpt/__init__.py +0 -0
  7. {xiaogpt-2.40 → xiaogpt-2.42}/xiaogpt/__main__.py +0 -0
  8. {xiaogpt-2.40 → xiaogpt-2.42}/xiaogpt/bot/__init__.py +0 -0
  9. {xiaogpt-2.40 → xiaogpt-2.42}/xiaogpt/bot/base_bot.py +0 -0
  10. {xiaogpt-2.40 → xiaogpt-2.42}/xiaogpt/bot/chatgptapi_bot.py +0 -0
  11. {xiaogpt-2.40 → xiaogpt-2.42}/xiaogpt/bot/gemini_bot.py +0 -0
  12. {xiaogpt-2.40 → xiaogpt-2.42}/xiaogpt/bot/glm_bot.py +0 -0
  13. {xiaogpt-2.40 → xiaogpt-2.42}/xiaogpt/bot/langchain_bot.py +0 -0
  14. {xiaogpt-2.40 → xiaogpt-2.42}/xiaogpt/bot/newbing_bot.py +0 -0
  15. {xiaogpt-2.40 → xiaogpt-2.42}/xiaogpt/bot/qwen_bot.py +0 -0
  16. {xiaogpt-2.40 → xiaogpt-2.42}/xiaogpt/cli.py +0 -0
  17. {xiaogpt-2.40 → xiaogpt-2.42}/xiaogpt/config.py +0 -0
  18. {xiaogpt-2.40 → xiaogpt-2.42}/xiaogpt/langchain/callbacks.py +0 -0
  19. {xiaogpt-2.40 → xiaogpt-2.42}/xiaogpt/langchain/chain.py +0 -0
  20. {xiaogpt-2.40 → xiaogpt-2.42}/xiaogpt/langchain/examples/email/mail_box.py +0 -0
  21. {xiaogpt-2.40 → xiaogpt-2.42}/xiaogpt/langchain/examples/email/mail_summary_tools.py +0 -0
  22. {xiaogpt-2.40 → xiaogpt-2.42}/xiaogpt/tts/__init__.py +0 -0
  23. {xiaogpt-2.40 → xiaogpt-2.42}/xiaogpt/tts/azure.py +0 -0
  24. {xiaogpt-2.40 → xiaogpt-2.42}/xiaogpt/tts/base.py +0 -0
  25. {xiaogpt-2.40 → xiaogpt-2.42}/xiaogpt/tts/edge.py +0 -0
  26. {xiaogpt-2.40 → xiaogpt-2.42}/xiaogpt/tts/mi.py +0 -0
  27. {xiaogpt-2.40 → xiaogpt-2.42}/xiaogpt/tts/openai.py +0 -0
  28. {xiaogpt-2.40 → xiaogpt-2.42}/xiaogpt/utils.py +0 -0
  29. {xiaogpt-2.40 → xiaogpt-2.42}/xiaogpt/xiaogpt.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: xiaogpt
3
- Version: 2.40
3
+ Version: 2.42
4
4
  Summary: Play ChatGPT or other LLM with xiaomi AI speaker
5
5
  Author-Email: yihong0618 <zouzou0208@gmail.com>
6
6
  License: MIT
@@ -13,8 +13,8 @@ Requires-Dist: miservice_fork
13
13
  Requires-Dist: openai>=1
14
14
  Requires-Dist: aiohttp
15
15
  Requires-Dist: rich
16
- Requires-Dist: zhipuai==2.0.1
17
- Requires-Dist: httpx==0.24.1
16
+ Requires-Dist: zhipuai>=2.0.1
17
+ Requires-Dist: httpx[socks]
18
18
  Requires-Dist: edge-tts>=6.1.3
19
19
  Requires-Dist: EdgeGPT==0.1.26
20
20
  Requires-Dist: langchain>=0.0.343
@@ -22,10 +22,95 @@ Requires-Dist: beautifulsoup4>=4.12.0
22
22
  Requires-Dist: google-search-results>=2.4.2
23
23
  Requires-Dist: google-generativeai
24
24
  Requires-Dist: numexpr>=2.8.6
25
- Requires-Dist: dashscope==1.10.0
26
- Requires-Dist: httpcore==0.15.0
27
- Requires-Dist: idna==3.7
25
+ Requires-Dist: dashscope>=1.10.0
28
26
  Requires-Dist: azure-cognitiveservices-speech>=1.37.0
27
+ Requires-Dist: aiohttp==3.9.4; extra == "locked"
28
+ Requires-Dist: aiosignal==1.3.1; extra == "locked"
29
+ Requires-Dist: annotated-types==0.6.0; extra == "locked"
30
+ Requires-Dist: anyio==3.7.1; extra == "locked"
31
+ Requires-Dist: async-timeout==4.0.3; python_version < "3.11" and extra == "locked"
32
+ Requires-Dist: attrs==23.2.0; extra == "locked"
33
+ Requires-Dist: azure-cognitiveservices-speech==1.37.0; extra == "locked"
34
+ Requires-Dist: beautifulsoup4==4.12.3; extra == "locked"
35
+ Requires-Dist: bingimagecreator==0.5.0; extra == "locked"
36
+ Requires-Dist: cachetools==5.3.2; extra == "locked"
37
+ Requires-Dist: certifi==2024.2.2; extra == "locked"
38
+ Requires-Dist: charset-normalizer==3.3.2; extra == "locked"
39
+ Requires-Dist: colorama==0.4.6; platform_system == "Windows" and extra == "locked"
40
+ Requires-Dist: dashscope==1.10.0; extra == "locked"
41
+ Requires-Dist: dataclasses-json==0.6.3; extra == "locked"
42
+ Requires-Dist: distro==1.9.0; extra == "locked"
43
+ Requires-Dist: edge-tts==6.1.10; extra == "locked"
44
+ Requires-Dist: edgegpt==0.1.26; extra == "locked"
45
+ Requires-Dist: exceptiongroup==1.2.0; python_version < "3.11" and extra == "locked"
46
+ Requires-Dist: frozenlist==1.4.1; extra == "locked"
47
+ Requires-Dist: google-ai-generativelanguage==0.6.1; extra == "locked"
48
+ Requires-Dist: google-api-core==2.15.0; extra == "locked"
49
+ Requires-Dist: google-api-core[grpc]==2.15.0; extra == "locked"
50
+ Requires-Dist: google-api-python-client==2.125.0; extra == "locked"
51
+ Requires-Dist: google-auth==2.26.1; extra == "locked"
52
+ Requires-Dist: google-auth-httplib2==0.2.0; extra == "locked"
53
+ Requires-Dist: google-generativeai==0.5.0; extra == "locked"
54
+ Requires-Dist: google-search-results==2.4.2; extra == "locked"
55
+ Requires-Dist: googleapis-common-protos==1.62.0; extra == "locked"
56
+ Requires-Dist: greenlet==3.0.3; (platform_machine == "win32" or platform_machine == "WIN32" or platform_machine == "AMD64" or platform_machine == "amd64" or platform_machine == "x86_64" or platform_machine == "ppc64le" or platform_machine == "aarch64") and extra == "locked"
57
+ Requires-Dist: grpcio==1.60.0; extra == "locked"
58
+ Requires-Dist: grpcio-status==1.60.0; extra == "locked"
59
+ Requires-Dist: h11==0.14.0; extra == "locked"
60
+ Requires-Dist: httpcore==1.0.5; extra == "locked"
61
+ Requires-Dist: httplib2==0.22.0; extra == "locked"
62
+ Requires-Dist: httpx==0.27.0; extra == "locked"
63
+ Requires-Dist: httpx[socks]==0.27.0; extra == "locked"
64
+ Requires-Dist: idna==3.7; extra == "locked"
65
+ Requires-Dist: jsonpatch==1.33; extra == "locked"
66
+ Requires-Dist: jsonpointer==2.4; extra == "locked"
67
+ Requires-Dist: langchain==0.1.16; extra == "locked"
68
+ Requires-Dist: langchain-community==0.0.32; extra == "locked"
69
+ Requires-Dist: langchain-core==0.1.42; extra == "locked"
70
+ Requires-Dist: langchain-text-splitters==0.0.1; extra == "locked"
71
+ Requires-Dist: langsmith==0.1.45; extra == "locked"
72
+ Requires-Dist: markdown-it-py==3.0.0; extra == "locked"
73
+ Requires-Dist: marshmallow==3.20.1; extra == "locked"
74
+ Requires-Dist: mdurl==0.1.2; extra == "locked"
75
+ Requires-Dist: miservice-fork==2.4.3; extra == "locked"
76
+ Requires-Dist: multidict==6.0.4; extra == "locked"
77
+ Requires-Dist: mutagen==1.47.0; extra == "locked"
78
+ Requires-Dist: mypy-extensions==1.0.0; extra == "locked"
79
+ Requires-Dist: numexpr==2.10.0; extra == "locked"
80
+ Requires-Dist: numpy==1.26.3; extra == "locked"
81
+ Requires-Dist: openai==1.17.1; extra == "locked"
82
+ Requires-Dist: orjson==3.10.0; extra == "locked"
83
+ Requires-Dist: packaging==23.2; extra == "locked"
84
+ Requires-Dist: prompt-toolkit==3.0.43; extra == "locked"
85
+ Requires-Dist: proto-plus==1.23.0; extra == "locked"
86
+ Requires-Dist: protobuf==4.25.1; extra == "locked"
87
+ Requires-Dist: pyasn1==0.5.1; extra == "locked"
88
+ Requires-Dist: pyasn1-modules==0.3.0; extra == "locked"
89
+ Requires-Dist: pydantic==2.5.3; extra == "locked"
90
+ Requires-Dist: pydantic-core==2.14.6; extra == "locked"
91
+ Requires-Dist: pygments==2.17.2; extra == "locked"
92
+ Requires-Dist: pyjwt==2.8.0; extra == "locked"
93
+ Requires-Dist: pyparsing==3.1.2; python_version > "3.0" and extra == "locked"
94
+ Requires-Dist: pyyaml==6.0.1; extra == "locked"
95
+ Requires-Dist: regex==2023.12.25; extra == "locked"
96
+ Requires-Dist: requests==2.31.0; extra == "locked"
97
+ Requires-Dist: rich==13.7.1; extra == "locked"
98
+ Requires-Dist: rsa==4.9; extra == "locked"
99
+ Requires-Dist: sniffio==1.3.0; extra == "locked"
100
+ Requires-Dist: socksio==1.0.0; extra == "locked"
101
+ Requires-Dist: soupsieve==2.5; extra == "locked"
102
+ Requires-Dist: sqlalchemy==2.0.25; extra == "locked"
103
+ Requires-Dist: tenacity==8.2.3; extra == "locked"
104
+ Requires-Dist: tqdm==4.66.1; extra == "locked"
105
+ Requires-Dist: typing-extensions==4.9.0; extra == "locked"
106
+ Requires-Dist: typing-inspect==0.9.0; extra == "locked"
107
+ Requires-Dist: uritemplate==4.1.1; extra == "locked"
108
+ Requires-Dist: urllib3==2.1.0; extra == "locked"
109
+ Requires-Dist: wcwidth==0.2.13; extra == "locked"
110
+ Requires-Dist: websockets==12.0; extra == "locked"
111
+ Requires-Dist: yarl==1.9.4; extra == "locked"
112
+ Requires-Dist: zhipuai==2.0.1; extra == "locked"
113
+ Provides-Extra: locked
29
114
  Description-Content-Type: text/markdown
30
115
 
31
116
  # xiaogpt
@@ -59,7 +144,7 @@ set MI_DID=xxxx
59
144
  ```
60
145
 
61
146
  - 如果获取did报错时,请更换一下无线网络,有很大概率解决问题。
62
-
147
+
63
148
  ### Linux(使用 export 设置环境变量)
64
149
  ```sh
65
150
  # 1、安装模块
@@ -89,7 +174,7 @@ export MI_DID=xxxx
89
174
 
90
175
  ## 使用
91
176
 
92
- - `pip install -U --force-reinstall xiaogpt`
177
+ - `pip install -U --force-reinstall xiaogpt[locked]`
93
178
  - 参考我 fork 的 [MiService](https://github.com/yihong0618/MiService) 项目 README 并在本地 terminal 跑 `micli list` 拿到你音响的 DID 成功 **别忘了设置 export MI_DID=xxx** 这个 MI_DID 用
94
179
  - run `xiaogpt --hardware ${your_hardware} --use_chatgpt_api` hardware 你看小爱屁股上有型号,输入进来,如果在屁股上找不到或者型号不对,可以用 `micli mina` 找到型号
95
180
  - 跑起来之后就可以问小爱同学问题了,“帮我"开头的问题,会发送一份给 ChatGPT 然后小爱同学用 tts 回答
@@ -208,7 +293,7 @@ ChatGLM [文档](http://open.bigmodel.cn/doc/api#chatglm_130b)
208
293
  | use_command | 使用 MI command 与小爱交互 | `false` | |
209
294
  | mute_xiaoai | 快速停掉小爱自己的回答 | `true` | |
210
295
  | verbose | 是否打印详细日志 | `false` | |
211
- | bot | 使用的 bot 类型,目前支持 chatgptapi,newbing, qwen, gemini | `chatgptapi` | |
296
+ | bot | 使用的 bot 类型,目前支持 chatgptapi,newbing, qwen, gemini | `chatgptapi` | |
212
297
  | tts | 使用的 TTS 类型 | `mi` | `edge`、 `openai`、`azure` |
213
298
  | tts_voice | TTS 的嗓音 | `zh-CN-XiaoxiaoNeural`(edge), `alloy`(openai), `zh-CN-XiaoxiaoMultilingualNeural`(azure) | |
214
299
  | prompt | 自定义prompt | `请用100字以内回答` | |
@@ -301,9 +386,11 @@ docker build --build-arg PIP_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple
301
386
 
302
387
  ### 第三方 TTS
303
388
 
304
- 我们目前支持两种第三方 TTS:edge/openai
389
+ 我们目前支持是三种第三方 TTS:edge/openai/azure
305
390
 
306
391
  [edge-tts](https://github.com/rany2/edge-tts) 提供了类似微软tts的能力
392
+ [azure-tts](https://techcommunity.microsoft.com/t5/ai-azure-ai-services-blog/9-more-realistic-ai-voices-for-conversations-now-generally/ba-p/4099471) 提供了微软 azure tts 的能力
393
+ [openai-tts](https://platform.openai.com/docs/guides/text-to-speech) 提供了类似 openai tts 的能力
307
394
 
308
395
  #### Usage
309
396
 
@@ -322,7 +409,7 @@ docker build --build-arg PIP_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple
322
409
  edge-tts --list-voices
323
410
  ```
324
411
 
325
- #### 在容器中使用edge-tts
412
+ #### 在容器中使用 edge-tts/azure-tts/openai-tts
326
413
 
327
414
  由于 Edge TTS 启动了一个本地的 HTTP 服务,所以需要将容器的端口映射到宿主机上,并且指定本地机器的 hostname:
328
415
 
@@ -29,7 +29,7 @@ set MI_DID=xxxx
29
29
  ```
30
30
 
31
31
  - 如果获取did报错时,请更换一下无线网络,有很大概率解决问题。
32
-
32
+
33
33
  ### Linux(使用 export 设置环境变量)
34
34
  ```sh
35
35
  # 1、安装模块
@@ -59,7 +59,7 @@ export MI_DID=xxxx
59
59
 
60
60
  ## 使用
61
61
 
62
- - `pip install -U --force-reinstall xiaogpt`
62
+ - `pip install -U --force-reinstall xiaogpt[locked]`
63
63
  - 参考我 fork 的 [MiService](https://github.com/yihong0618/MiService) 项目 README 并在本地 terminal 跑 `micli list` 拿到你音响的 DID 成功 **别忘了设置 export MI_DID=xxx** 这个 MI_DID 用
64
64
  - run `xiaogpt --hardware ${your_hardware} --use_chatgpt_api` hardware 你看小爱屁股上有型号,输入进来,如果在屁股上找不到或者型号不对,可以用 `micli mina` 找到型号
65
65
  - 跑起来之后就可以问小爱同学问题了,“帮我"开头的问题,会发送一份给 ChatGPT 然后小爱同学用 tts 回答
@@ -178,7 +178,7 @@ ChatGLM [文档](http://open.bigmodel.cn/doc/api#chatglm_130b)
178
178
  | use_command | 使用 MI command 与小爱交互 | `false` | |
179
179
  | mute_xiaoai | 快速停掉小爱自己的回答 | `true` | |
180
180
  | verbose | 是否打印详细日志 | `false` | |
181
- | bot | 使用的 bot 类型,目前支持 chatgptapi,newbing, qwen, gemini | `chatgptapi` | |
181
+ | bot | 使用的 bot 类型,目前支持 chatgptapi,newbing, qwen, gemini | `chatgptapi` | |
182
182
  | tts | 使用的 TTS 类型 | `mi` | `edge`、 `openai`、`azure` |
183
183
  | tts_voice | TTS 的嗓音 | `zh-CN-XiaoxiaoNeural`(edge), `alloy`(openai), `zh-CN-XiaoxiaoMultilingualNeural`(azure) | |
184
184
  | prompt | 自定义prompt | `请用100字以内回答` | |
@@ -271,9 +271,11 @@ docker build --build-arg PIP_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple
271
271
 
272
272
  ### 第三方 TTS
273
273
 
274
- 我们目前支持两种第三方 TTS:edge/openai
274
+ 我们目前支持是三种第三方 TTS:edge/openai/azure
275
275
 
276
276
  [edge-tts](https://github.com/rany2/edge-tts) 提供了类似微软tts的能力
277
+ [azure-tts](https://techcommunity.microsoft.com/t5/ai-azure-ai-services-blog/9-more-realistic-ai-voices-for-conversations-now-generally/ba-p/4099471) 提供了微软 azure tts 的能力
278
+ [openai-tts](https://platform.openai.com/docs/guides/text-to-speech) 提供了类似 openai tts 的能力
277
279
 
278
280
  #### Usage
279
281
 
@@ -292,7 +294,7 @@ docker build --build-arg PIP_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple
292
294
  edge-tts --list-voices
293
295
  ```
294
296
 
295
- #### 在容器中使用edge-tts
297
+ #### 在容器中使用 edge-tts/azure-tts/openai-tts
296
298
 
297
299
  由于 Edge TTS 启动了一个本地的 HTTP 服务,所以需要将容器的端口映射到宿主机上,并且指定本地机器的 hostname:
298
300
 
@@ -0,0 +1,155 @@
1
+ [project]
2
+ name = "xiaogpt"
3
+ description = "Play ChatGPT or other LLM with xiaomi AI speaker"
4
+ readme = "README.md"
5
+ authors = [
6
+ { name = "yihong0618", email = "zouzou0208@gmail.com" },
7
+ ]
8
+ classifiers = [
9
+ "License :: OSI Approved :: MIT License",
10
+ "Operating System :: OS Independent",
11
+ "Programming Language :: Python :: 3",
12
+ ]
13
+ requires-python = ">=3.9"
14
+ dependencies = [
15
+ "miservice_fork",
16
+ "openai>=1",
17
+ "aiohttp",
18
+ "rich",
19
+ "zhipuai>=2.0.1",
20
+ "httpx[socks]",
21
+ "edge-tts>=6.1.3",
22
+ "EdgeGPT==0.1.26",
23
+ "langchain>=0.0.343",
24
+ "beautifulsoup4>=4.12.0",
25
+ "google-search-results>=2.4.2",
26
+ "google-generativeai",
27
+ "numexpr>=2.8.6",
28
+ "dashscope>=1.10.0",
29
+ "azure-cognitiveservices-speech>=1.37.0",
30
+ ]
31
+ dynamic = []
32
+ version = "2.42"
33
+
34
+ [project.license]
35
+ text = "MIT"
36
+
37
+ [project.urls]
38
+ Homepage = "https://github.com/yihong0618/xiaogpt"
39
+
40
+ [project.scripts]
41
+ xiaogpt = "xiaogpt.cli:main"
42
+
43
+ [project.optional-dependencies]
44
+ locked = [
45
+ "aiohttp==3.9.4",
46
+ "aiosignal==1.3.1",
47
+ "annotated-types==0.6.0",
48
+ "anyio==3.7.1",
49
+ "async-timeout==4.0.3 ; python_version < \"3.11\"",
50
+ "attrs==23.2.0",
51
+ "azure-cognitiveservices-speech==1.37.0",
52
+ "beautifulsoup4==4.12.3",
53
+ "bingimagecreator==0.5.0",
54
+ "cachetools==5.3.2",
55
+ "certifi==2024.2.2",
56
+ "charset-normalizer==3.3.2",
57
+ "colorama==0.4.6 ; platform_system == \"Windows\"",
58
+ "dashscope==1.10.0",
59
+ "dataclasses-json==0.6.3",
60
+ "distro==1.9.0",
61
+ "edge-tts==6.1.10",
62
+ "edgegpt==0.1.26",
63
+ "exceptiongroup==1.2.0 ; python_version < \"3.11\"",
64
+ "frozenlist==1.4.1",
65
+ "google-ai-generativelanguage==0.6.1",
66
+ "google-api-core==2.15.0",
67
+ "google-api-core[grpc]==2.15.0",
68
+ "google-api-python-client==2.125.0",
69
+ "google-auth==2.26.1",
70
+ "google-auth-httplib2==0.2.0",
71
+ "google-generativeai==0.5.0",
72
+ "google-search-results==2.4.2",
73
+ "googleapis-common-protos==1.62.0",
74
+ "greenlet==3.0.3 ; platform_machine == \"win32\" or platform_machine == \"WIN32\" or platform_machine == \"AMD64\" or platform_machine == \"amd64\" or platform_machine == \"x86_64\" or platform_machine == \"ppc64le\" or platform_machine == \"aarch64\"",
75
+ "grpcio==1.60.0",
76
+ "grpcio-status==1.60.0",
77
+ "h11==0.14.0",
78
+ "httpcore==1.0.5",
79
+ "httplib2==0.22.0",
80
+ "httpx==0.27.0",
81
+ "httpx[socks]==0.27.0",
82
+ "idna==3.7",
83
+ "jsonpatch==1.33",
84
+ "jsonpointer==2.4",
85
+ "langchain==0.1.16",
86
+ "langchain-community==0.0.32",
87
+ "langchain-core==0.1.42",
88
+ "langchain-text-splitters==0.0.1",
89
+ "langsmith==0.1.45",
90
+ "markdown-it-py==3.0.0",
91
+ "marshmallow==3.20.1",
92
+ "mdurl==0.1.2",
93
+ "miservice-fork==2.4.3",
94
+ "multidict==6.0.4",
95
+ "mutagen==1.47.0",
96
+ "mypy-extensions==1.0.0",
97
+ "numexpr==2.10.0",
98
+ "numpy==1.26.3",
99
+ "openai==1.17.1",
100
+ "orjson==3.10.0",
101
+ "packaging==23.2",
102
+ "prompt-toolkit==3.0.43",
103
+ "proto-plus==1.23.0",
104
+ "protobuf==4.25.1",
105
+ "pyasn1==0.5.1",
106
+ "pyasn1-modules==0.3.0",
107
+ "pydantic==2.5.3",
108
+ "pydantic-core==2.14.6",
109
+ "pygments==2.17.2",
110
+ "pyjwt==2.8.0",
111
+ "pyparsing==3.1.2 ; python_version > \"3.0\"",
112
+ "pyyaml==6.0.1",
113
+ "regex==2023.12.25",
114
+ "requests==2.31.0",
115
+ "rich==13.7.1",
116
+ "rsa==4.9",
117
+ "sniffio==1.3.0",
118
+ "socksio==1.0.0",
119
+ "soupsieve==2.5",
120
+ "sqlalchemy==2.0.25",
121
+ "tenacity==8.2.3",
122
+ "tqdm==4.66.1",
123
+ "typing-extensions==4.9.0",
124
+ "typing-inspect==0.9.0",
125
+ "uritemplate==4.1.1",
126
+ "urllib3==2.1.0",
127
+ "wcwidth==0.2.13",
128
+ "websockets==12.0",
129
+ "yarl==1.9.4",
130
+ "zhipuai==2.0.1",
131
+ ]
132
+
133
+ [tool.pdm]
134
+ plugins = [
135
+ "pdm-autoexport",
136
+ ]
137
+ autoexport = [
138
+ { filename = "requirements.txt", without-hashes = true },
139
+ ]
140
+
141
+ [tool.pdm.version]
142
+ source = "scm"
143
+
144
+ [tool.pdm.build]
145
+ includes = [
146
+ "xiaogpt/",
147
+ ]
148
+ locked = true
149
+
150
+ [build-system]
151
+ requires = [
152
+ "pdm-backend>=2.0.0",
153
+ "pdm-build-locked",
154
+ ]
155
+ build-backend = "pdm.backend"
@@ -1,65 +0,0 @@
1
- [project]
2
- name = "xiaogpt"
3
- description = "Play ChatGPT or other LLM with xiaomi AI speaker"
4
- readme = "README.md"
5
- authors = [
6
- { name = "yihong0618", email = "zouzou0208@gmail.com" },
7
- ]
8
- classifiers = [
9
- "License :: OSI Approved :: MIT License",
10
- "Operating System :: OS Independent",
11
- "Programming Language :: Python :: 3",
12
- ]
13
- requires-python = ">=3.9"
14
- dependencies = [
15
- "miservice_fork",
16
- "openai>=1",
17
- "aiohttp",
18
- "rich",
19
- "zhipuai==2.0.1",
20
- "httpx==0.24.1",
21
- "edge-tts>=6.1.3",
22
- "EdgeGPT==0.1.26",
23
- "langchain>=0.0.343",
24
- "beautifulsoup4>=4.12.0",
25
- "google-search-results>=2.4.2",
26
- "google-generativeai",
27
- "numexpr>=2.8.6",
28
- "dashscope==1.10.0",
29
- "httpcore==0.15.0",
30
- "idna==3.7",
31
- "azure-cognitiveservices-speech>=1.37.0",
32
- ]
33
- dynamic = []
34
- version = "2.40"
35
-
36
- [project.license]
37
- text = "MIT"
38
-
39
- [project.urls]
40
- Homepage = "https://github.com/yihong0618/xiaogpt"
41
-
42
- [project.scripts]
43
- xiaogpt = "xiaogpt.cli:main"
44
-
45
- [tool.pdm]
46
- plugins = [
47
- "pdm-autoexport",
48
- ]
49
- autoexport = [
50
- { filename = "requirements.txt", without-hashes = true },
51
- ]
52
-
53
- [tool.pdm.version]
54
- source = "scm"
55
-
56
- [tool.pdm.build]
57
- includes = [
58
- "xiaogpt/",
59
- ]
60
-
61
- [build-system]
62
- requires = [
63
- "pdm-backend>=2.0.0",
64
- ]
65
- build-backend = "pdm.backend"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes