xiaogpt 2.61__py3-none-any.whl → 2.63__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/cli.py CHANGED
@@ -83,8 +83,12 @@ def main():
83
83
  default=None,
84
84
  help="try to mute xiaoai answer",
85
85
  )
86
- parser.add_argument("--volc-access-key", help="Volcengine access key")
87
- parser.add_argument("--volc-secret-key", help="Volcengine secret key")
86
+ parser.add_argument(
87
+ "--volc_access_key", dest="volc_access_key", help="Volcengine access key"
88
+ )
89
+ parser.add_argument(
90
+ "--volc_secret_key", dest="volc_secret_key", help="Volcengine secret key"
91
+ )
88
92
  parser.add_argument(
89
93
  "--verbose",
90
94
  dest="verbose",
@@ -140,6 +144,13 @@ def main():
140
144
  const="gemini",
141
145
  help="if use gemini",
142
146
  )
147
+ bot_group.add_argument(
148
+ "--use_doubao",
149
+ dest="bot",
150
+ action="store_const",
151
+ const="doubao",
152
+ help="if use doubao",
153
+ )
143
154
  parser.add_argument(
144
155
  "--bing_cookie_path",
145
156
  dest="bing_cookie_path",
@@ -156,6 +167,7 @@ def main():
156
167
  "gemini",
157
168
  "langchain",
158
169
  "qwen",
170
+ "doubao",
159
171
  ],
160
172
  )
161
173
  parser.add_argument(
xiaogpt/config.py CHANGED
@@ -153,6 +153,8 @@ class Config:
153
153
  key, value = "bot", "gemini"
154
154
  elif key == "use_qwen":
155
155
  key, value = "bot", "qwen"
156
+ elif key == "use_doubao":
157
+ key, value = "bot", "doubao"
156
158
  elif key == "use_langchain":
157
159
  key, value = "bot", "langchain"
158
160
  elif key == "enable_edge_tts":
xiaogpt/xiaogpt.py CHANGED
@@ -411,7 +411,7 @@ class MiGPT:
411
411
  await self.wakeup_xiaoai()
412
412
 
413
413
  async def speak(self, text_stream: AsyncIterator[str]) -> None:
414
- text = await anext(text_stream)
414
+ text = await text_stream.__anext__()
415
415
  # See if the first part contains language code(e.g. en-US|Hello world)
416
416
  lang, _, first_chunk = text.rpartition("|")
417
417
  if len(lang) > 7:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: xiaogpt
3
- Version: 2.61
3
+ Version: 2.63
4
4
  Summary: Play ChatGPT or other LLM with xiaomi AI speaker
5
5
  Author-Email: yihong0618 <zouzou0208@gmail.com>
6
6
  License: MIT
@@ -37,7 +37,7 @@ Requires-Dist: certifi==2024.2.2; extra == "locked"
37
37
  Requires-Dist: charset-normalizer==3.3.2; extra == "locked"
38
38
  Requires-Dist: click==8.1.7; extra == "locked"
39
39
  Requires-Dist: colorama==0.4.6; platform_system == "Windows" and extra == "locked"
40
- Requires-Dist: dashscope==1.17.0; extra == "locked"
40
+ Requires-Dist: dashscope==1.17.1; extra == "locked"
41
41
  Requires-Dist: dataclasses-json==0.6.3; extra == "locked"
42
42
  Requires-Dist: distro==1.9.0; extra == "locked"
43
43
  Requires-Dist: edge-tts==6.1.10; extra == "locked"
@@ -51,7 +51,7 @@ Requires-Dist: google-api-python-client==2.125.0; extra == "locked"
51
51
  Requires-Dist: google-auth==2.26.1; extra == "locked"
52
52
  Requires-Dist: google-auth-httplib2==0.2.0; extra == "locked"
53
53
  Requires-Dist: google-cloud-texttospeech==2.16.3; extra == "locked"
54
- Requires-Dist: google-generativeai==0.5.1; extra == "locked"
54
+ Requires-Dist: google-generativeai==0.5.2; extra == "locked"
55
55
  Requires-Dist: google-search-results==2.4.2; extra == "locked"
56
56
  Requires-Dist: googleapis-common-protos==1.62.0; extra == "locked"
57
57
  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"
@@ -79,7 +79,7 @@ Requires-Dist: mutagen==1.47.0; extra == "locked"
79
79
  Requires-Dist: mypy-extensions==1.0.0; extra == "locked"
80
80
  Requires-Dist: numexpr==2.10.0; extra == "locked"
81
81
  Requires-Dist: numpy==1.26.3; extra == "locked"
82
- Requires-Dist: openai==1.21.2; extra == "locked"
82
+ Requires-Dist: openai==1.23.2; extra == "locked"
83
83
  Requires-Dist: orjson==3.10.0; extra == "locked"
84
84
  Requires-Dist: packaging==23.2; extra == "locked"
85
85
  Requires-Dist: prompt-toolkit==3.0.43; extra == "locked"
@@ -133,6 +133,7 @@ Play ChatGPT and other LLM with Xiaomi AI Speaker
133
133
  - New Bing
134
134
  - [ChatGLM](http://open.bigmodel.cn/)
135
135
  - [Gemini](https://makersuite.google.com/app/apikey)
136
+ - [Doubao](https://console.volcengine.com/iam/keymanage/)
136
137
  - [通义千问](https://help.aliyun.com/zh/dashscope/developer-reference/api-details)
137
138
 
138
139
  ## 获取小米音响DID
@@ -195,6 +196,8 @@ xiaogpt --hardware LX06 --mute_xiaoai --use_gemini --gemini_key ${gemini_key}
195
196
  python3 xiaogpt.py --hardware LX06 --mute_xiaoai --use_gemini --gemini_key ${gemini_key} --gemini_api_domain ${gemini_api_domain}
196
197
  # 如果你想使用阿里的通义千问
197
198
  xiaogpt --hardware LX06 --mute_xiaoai --use_qwen --qen_key ${qwen_key}
199
+ # 如果你想使用豆包
200
+ xiaogpt --hardware LX06 --mute_xiaoai --use_doubao --stream --volc_access_key xxxx --volc_secret_key xxx
198
201
  # 如果你想用 edge-tts
199
202
  xiaogpt --hardware LX06 --cookie ${cookie} --use_chatgpt_api --tts edge
200
203
  # 如果你想使用 LangChain + SerpApi 实现上网检索或其他本地服务(目前仅支持 stream 模式)
@@ -224,6 +227,8 @@ python3 xiaogpt.py --hardware LX06 --mute_xiaoai --use_gemini --gemini_key ${ge
224
227
  python3 xiaogpt.py --hardware LX06 --mute_xiaoai --use_gemini --gemini_key ${gemini_key} --gemini_api_domain ${gemini_api_domain}
225
228
  # 如果你想使用阿里的通义千问
226
229
  python3 xiaogpt.py --hardware LX06 --mute_xiaoai --use_qwen --qen_key ${qwen_key}
230
+ # 如果你想使用豆包
231
+ python3 xiaogpt.py --hardware LX06 --mute_xiaoai --use_doubao --stream --volc_access_key xxxx --volc_secret_key xxx
227
232
  # 如果你想使用 LangChain+SerpApi 实现上网检索或其他本地服务(目前仅支持 stream 模式)
228
233
  export OPENAI_API_KEY=${your_api_key}
229
234
  export SERPAPI_API_KEY=${your_serpapi_key}
@@ -375,7 +380,7 @@ docker build --build-arg PIP_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple
375
380
 
376
381
  ### 第三方 TTS
377
382
 
378
- 我们目前支持是三种第三方 TTS:edge/openai/azure
383
+ 我们目前支持是三种第三方 TTS:edge/openai/azure/volc/baidu/google
379
384
 
380
385
  [edge-tts](https://github.com/rany2/edge-tts) 提供了类似微软tts的能力
381
386
  [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 的能力
@@ -388,17 +393,16 @@ docker build --build-arg PIP_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple
388
393
  ```json
389
394
  {
390
395
  "tts": "edge",
391
- "tts_voice": "zh-CN-XiaoxiaoNeural"
392
396
  }
393
397
  ```
394
398
 
395
- 查看更多语言支持, 从中选择一个
399
+ For edge 查看更多语言支持, 从中选择一个
396
400
 
397
401
  ```shell
398
402
  edge-tts --list-voices
399
403
  ```
400
404
 
401
- #### 在容器中使用 edge-tts/azure-tts/openai-tts
405
+ #### 在容器中使用 edge-tts/azure-tts/openai-tts/volc/google/baidu
402
406
 
403
407
  由于 Edge TTS 启动了一个本地的 HTTP 服务,所以需要将容器的端口映射到宿主机上,并且指定本地机器的 hostname:
404
408
 
@@ -1,7 +1,7 @@
1
- xiaogpt-2.61.dist-info/METADATA,sha256=UWMVMRGMTJSpxviAmmPkwSpMGQGOJmQ74GBFTrGNWww,28013
2
- xiaogpt-2.61.dist-info/WHEEL,sha256=7sv5iXvIiTVJSnAxCz2tGBm9DHsb2vPSzeYeT7pvGUY,90
3
- xiaogpt-2.61.dist-info/entry_points.txt,sha256=zLFzA72qQ_eWBepdA2YU5vdXFqORH8wXhv2Ox1vnYP8,46
4
- xiaogpt-2.61.dist-info/licenses/LICENSE,sha256=XdClh516MvlnOf9749JZHCxSB7y6_fyXcWmLDz6IkZY,1063
1
+ xiaogpt-2.63.dist-info/METADATA,sha256=8Vk0OkzUitqd2JdliqJSJUHLWap4C3c3orfgsOiiPF8,28355
2
+ xiaogpt-2.63.dist-info/WHEEL,sha256=7sv5iXvIiTVJSnAxCz2tGBm9DHsb2vPSzeYeT7pvGUY,90
3
+ xiaogpt-2.63.dist-info/entry_points.txt,sha256=zLFzA72qQ_eWBepdA2YU5vdXFqORH8wXhv2Ox1vnYP8,46
4
+ xiaogpt-2.63.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=kOIY1lR0r-tbrnlcv_lj3cXxcwM4UpM8THxQ-JrRfwM,1006
@@ -13,8 +13,8 @@ xiaogpt/bot/glm_bot.py,sha256=QoMJbnu5_rHDz4tzwn7gh3IoAuw7E4hZQLAfziMAvNY,1825
13
13
  xiaogpt/bot/langchain_bot.py,sha256=4Uz5iOYzA2ongCklS-9zBse2fw-7kEE_9wITH7wdVCc,1944
14
14
  xiaogpt/bot/newbing_bot.py,sha256=afUmw6tyMXbgGZvfQQWaA5h0-e0V0isFolW-WGhd0Vs,2289
15
15
  xiaogpt/bot/qwen_bot.py,sha256=325lMa4Z38rRh47HDa3J4XjvSs4SWOqMVhrMWzkGNo4,3657
16
- xiaogpt/cli.py,sha256=y7Cs1M5IbCjtdbeLU9h_2__fLT-7C8qt3FIDrG2LaBQ,4696
17
- xiaogpt/config.py,sha256=hCdggjjmBpQ_BX1teOuatjxUO9tRCUbSa3TLSnoiRkA,6444
16
+ xiaogpt/cli.py,sha256=TcdMjk95vven3BmHAPFYSBe1rHKVfbEcc4PF6wHbyDw,4956
17
+ xiaogpt/config.py,sha256=Ua-Rx6riCzPm40gmOZhbrXazHCFHdnfMyTuj0qxvqYU,6535
18
18
  xiaogpt/langchain/callbacks.py,sha256=yR9AXQt9OHVYBWC47Q1I_BUT4Xg9iM44vnW2vv0BLpE,2616
19
19
  xiaogpt/langchain/chain.py,sha256=z0cqRlL0ElWnf31ByxZBN7AKOT-svXQDt5_NDft_nYc,1495
20
20
  xiaogpt/langchain/examples/email/mail_box.py,sha256=xauqrjE4-G4XPQnokUPE-MZgAaHQ_VrUDLlbfYTdCoo,6372
@@ -24,5 +24,5 @@ xiaogpt/tts/base.py,sha256=fljxdXy60HXqdLXyQlsJZtzJBo5VtTwLkkWTi58tzQc,4656
24
24
  xiaogpt/tts/mi.py,sha256=1MzCB27DBohPQ_4Xz4W_FV9p-chJFDavOHB89NviLcM,1095
25
25
  xiaogpt/tts/tetos.py,sha256=9DaSrfU8Pf_aa7mI6JXMvE70XYJogIPvbim4Yuhcc3k,1903
26
26
  xiaogpt/utils.py,sha256=B7NCH7g19hcwHDXsnBJPTU6UcWnXoEntKWm-pgcet2I,2072
27
- xiaogpt/xiaogpt.py,sha256=Be5kUkn7H4lKU032dmaHP9LJAQKb65hMvulJMnVc5-g,15821
28
- xiaogpt-2.61.dist-info/RECORD,,
27
+ xiaogpt/xiaogpt.py,sha256=r1wl94caTA3CfK-tSz3b8D2Qt7J6uPzNlWMLvoeuspw,15826
28
+ xiaogpt-2.63.dist-info/RECORD,,
File without changes