xiaogpt 2.40__py3-none-any.whl → 2.42__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.
- {xiaogpt-2.40.dist-info → xiaogpt-2.42.dist-info}/METADATA +98 -11
- {xiaogpt-2.40.dist-info → xiaogpt-2.42.dist-info}/RECORD +5 -5
- {xiaogpt-2.40.dist-info → xiaogpt-2.42.dist-info}/WHEEL +1 -1
- {xiaogpt-2.40.dist-info → xiaogpt-2.42.dist-info}/entry_points.txt +0 -0
- {xiaogpt-2.40.dist-info → xiaogpt-2.42.dist-info}/licenses/LICENSE +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: xiaogpt
|
3
|
-
Version: 2.
|
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
|
17
|
-
Requires-Dist: httpx
|
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
|
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
|
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
|
-
|
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
|
|
@@ -1,7 +1,7 @@
|
|
1
|
-
xiaogpt-2.
|
2
|
-
xiaogpt-2.
|
3
|
-
xiaogpt-2.
|
4
|
-
xiaogpt-2.
|
1
|
+
xiaogpt-2.42.dist-info/METADATA,sha256=NEpOOqe2DKXkqji4SemjYNvNo7dTQ3tcP6O8InlT_hI,28865
|
2
|
+
xiaogpt-2.42.dist-info/WHEEL,sha256=gZRWN_1fGFDwBnXrZ9N3dgvbKlKgo5AUcDIMajlGpKM,90
|
3
|
+
xiaogpt-2.42.dist-info/entry_points.txt,sha256=zLFzA72qQ_eWBepdA2YU5vdXFqORH8wXhv2Ox1vnYP8,46
|
4
|
+
xiaogpt-2.42.dist-info/licenses/LICENSE,sha256=XdClh516MvlnOf9749JZHCxSB7y6_fyXcWmLDz6IkZY,1063
|
5
5
|
xiaogpt/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
6
6
|
xiaogpt/__main__.py,sha256=MSmt_5Xg84uHqzTN38JwgseJK8rsJn_11A8WD99VtEo,61
|
7
7
|
xiaogpt/bot/__init__.py,sha256=7K9v6j6xDkuvIrJwjby0Ec_1ywd4Si0Ww9S_R8M3LeU,919
|
@@ -26,4 +26,4 @@ xiaogpt/tts/mi.py,sha256=9HkgGWByAs7k8sTpRdVlgJnnmjc44RNAccJa6tGDlXk,1096
|
|
26
26
|
xiaogpt/tts/openai.py,sha256=_Qk12zYY-UuXLKvQVe3PqIvCmoRW9OcVCqQRoGCXvNc,1533
|
27
27
|
xiaogpt/utils.py,sha256=B7NCH7g19hcwHDXsnBJPTU6UcWnXoEntKWm-pgcet2I,2072
|
28
28
|
xiaogpt/xiaogpt.py,sha256=YyDTm5DaO_US7cJOg-nPcjdQ_Xug0-tT3yQWg9APpBs,15337
|
29
|
-
xiaogpt-2.
|
29
|
+
xiaogpt-2.42.dist-info/RECORD,,
|
File without changes
|
File without changes
|