Spielen Sie ChatGPT und andere LLM mit Xiaomi AI Speaker
System und Shell | Linux *sh | Windows CMD-Benutzer | Benutzer von Windows PowerShell |
---|---|---|---|
1. Installationspaket | pip install miservice_fork | pip install miservice_fork | pip install miservice_fork |
2. Variablen festlegen | export MI_USER=xxx export MI_PASS=xxx | set MI_USER=xxx set MI_PASS=xxx | $env:MI_USER="xxx" $env:MI_PASS="xxx" |
3. Erhalten Sie MI_DID | micli list | micli list | micli list |
4. Stellen Sie MI_DID ein | export MI_DID=xxx | set MI_DID=xxx | $env:MI_DID="xxx" |
Hinweise zu interaktiven Interaktionen zwischen Xiaoai und ChatGPT ohne Root
pip install -U --force-reinstall xiaogpt[locked]
micli list
im lokalen Terminal aus, um die DID Ihres Lautsprechers zu erhalten. Vergessen Sie bei Erfolg nicht, export MI_DID=xxx für diese MI_DID festzulegen .xiaogpt --hardware ${your_hardware} --use_chatgpt_api
hardware aus. Sie sehen, dass sich auf Xiao Ais Hintern eine Modellnummer befindet. Geben Sie diese ein. Wenn Sie sie auf Ihrem Hintern nicht finden können oder das Modell falsch ist, können Sie micli mina
verwenden Finden Sie die Modellnummer.--cookie '${cookie}'
Don Vergessen Sie nicht, das Cookie in einfache Anführungszeichen zu setzen--use_command
für tts verwenden.--mute_xiaoai
um Xiaoais Antworten schnell zu stoppen--account ${account} --password ${password}
--use_chatgpt_api
, um eine reibungslosere Konversation zu führen, die sehr schnell ist und ein Openai-API bietet, Befehl --use_chatgpt_api
--api_base ${url}
. Bitte beachten Sie, dass die hier eingegebene API „ https://xxxx/v1
“ sein sollte und der Domänenname in Anführungszeichen gesetzt werden muss.--use_moonshot_api
und andere Modelle finden Sie unten开始持续对话
, um automatisch in den kontinuierlichen Konversationsstatus zu wechseln, und结束持续对话
, um den kontinuierlichen Konversationsstatus zu beenden.--tts edge
verwenden, um bessere TTS-Funktionen zu erhalten--tts fish --fish_api_key <your-fish-key> --fish_voice_key <fish-voice>
verwenden, um die Fish-Audio-Funktion zu erhalten (siehe unten, wie Sie die Fischstimme erhalten)--tts openai
verwenden, um die TTS-Funktionen von openai zu erhalten--tts azure --azure_tts_speech_key <your-speech-key>
verwenden, um Azure TTS-Funktionen zu erhalten--use_langchain
anstelle von --use_chatgpt_api
verwenden, um den LangChain-Dienst (Standard-Chatgpt) aufzurufen, um Online-Abrufe und mathematische Operationen zu implementieren.z.B.
export OPENAI_API_KEY= ${your_api_key}
xiaogpt --hardware LX06 --use_chatgpt_api
# or
xiaogpt --hardware LX06 --cookie ${cookie} --use_chatgpt_api
# 如果你想直接输入账号密码
xiaogpt --hardware LX06 --account ${your_xiaomi_account} --password ${your_password} --use_chatgpt_api
# 如果你想 mute 小米的回答
xiaogpt --hardware LX06 --mute_xiaoai --use_chatgpt_api
# 使用流式响应,获得更快的响应
xiaogpt --hardware LX06 --mute_xiaoai --stream
# 如果你想使用 google 的 gemini
xiaogpt --hardware LX06 --mute_xiaoai --use_gemini --gemini_key ${gemini_key}
# 如果你想使用自己的 google gemini 服务
python3 xiaogpt.py --hardware LX06 --mute_xiaoai --use_gemini --gemini_key ${gemini_key} --gemini_api_domain ${gemini_api_domain}
# 如果你想使用阿里的通义千问
xiaogpt --hardware LX06 --mute_xiaoai --use_qwen --qwen_key ${qwen_key}
# 如果你想使用 kimi
xiaogpt --hardware LX06 --mute_xiaoai --use_moonshot_api --moonshot_api_key ${moonshot_api_key}
# 如果你想使用 llama3
xiaogpt --hardware LX06 --mute_xiaoai --use_llama --llama_api_key ${llama_api_key}
# 如果你想使用 01
xiaogpt --hardware LX06 --mute_xiaoai --use_yi_api --ti_api_key ${yi_api_key}
# 如果你想使用 LangChain+SerpApi 实现上网检索或其他本地服务(目前仅支持 stream 模式)
export OPENAI_API_KEY= ${your_api_key}
export SERPAPI_API_KEY= ${your_serpapi_key}
xiaogpt --hardware Lx06 --use_langchain --mute_xiaoai --stream --openai_key ${your_api_key} --serpapi_api_key ${your_serpapi_key}
Verwenden Sie zum Ausführen den Git-Klon
export OPENAI_API_KEY= ${your_api_key}
python3 xiaogpt.py --hardware LX06
# or
python3 xiaogpt.py --hardware LX06 --cookie ${cookie}
# 如果你想直接输入账号密码
python3 xiaogpt.py --hardware LX06 --account ${your_xiaomi_account} --password ${your_password} --use_chatgpt_api
# 如果你想 mute 小米的回答
python3 xiaogpt.py --hardware LX06 --mute_xiaoai
# 使用流式响应,获得更快的响应
python3 xiaogpt.py --hardware LX06 --mute_xiaoai --stream
# 如果你想使用 ChatGLM api
python3 xiaogpt.py --hardware LX06 --mute_xiaoai --use_glm --glm_key ${glm_key}
# 如果你想使用 google 的 gemini
python3 xiaogpt.py --hardware LX06 --mute_xiaoai --use_gemini --gemini_key ${gemini_key}
# 如果你想使用自己的 google gemini 服务
python3 xiaogpt.py --hardware LX06 --mute_xiaoai --use_gemini --gemini_key ${gemini_key} --gemini_api_domain ${gemini_api_domain}
# 如果你想使用阿里的通义千问
python3 xiaogpt.py --hardware LX06 --mute_xiaoai --use_qwen --qwen_key ${qwen_key}
# 如果你想使用 kimi
xiaogpt --hardware LX06 --mute_xiaoai --use_moonshot_api --moonshot_api_key ${moonshot_api_key}
# 如果你想使用 01
xiaogpt --hardware LX06 --mute_xiaoai --use_yi_api --ti_api_key ${yi_api_key}
# 如果你想使用豆包
python3 xiaogpt.py --hardware LX06 --mute_xiaoai --use_doubao --stream --volc_access_key xxxx --volc_secret_key xxx
# 如果你想使用 llama3
python3 xiaogpt.py --hardware LX06 --mute_xiaoai --use_llama --llama_api_key ${llama_api_key}
# 如果你想使用 LangChain+SerpApi 实现上网检索或其他本地服务(目前仅支持 stream 模式)
export OPENAI_API_KEY= ${your_api_key}
export SERPAPI_API_KEY= ${your_serpapi_key}
python3 xiaogpt.py --hardware Lx06 --use_langchain --mute_xiaoai --stream --openai_key ${your_api_key} --serpapi_api_key ${your_serpapi_key}
Wenn Sie mit einer einzelnen Konfigurationsdatei beginnen möchten, können Sie die Konfigurationsdatei auch über den Parameter --config
angeben. Die Konfigurationsdatei muss eine zulässige Parameterpriorität im Yaml- oder JSON-Format haben.
python3 xiaogpt.py --config xiao_config.yaml
# or
xiaogpt --config xiao_config.yaml
oder
cp xiao_config.yaml.example xiao_config.yaml
python3 xiaogpt.py
Um OpenAI-Modellparameter wie model, temporal, top_p anzugeben, geben Sie bitte in config.yaml Folgendes an:
gpt_options :
temperature : 0.9
top_p : 0.9
Spezifische Parameterfunktionen finden Sie in der Open AI API-Dokumentation. ChatGLM-Dokumentation
Parameter | veranschaulichen | Standardwert | Optionaler Wert |
---|---|---|---|
Hardware | Gerätemodell | ||
Konto | Xiaoai-Konto | ||
Passwort | Passwort des Xiaoai-Kontos | ||
openai_key | Openais Apikey | ||
moonshot_api_key | apikey von Moonshot Kimi | ||
yi_api_key | 01 Wanwus Apikey | ||
llama_api_key | llama3 apikey für groq | ||
serpapi_api_key | Serpapi-Schlüsselreferenz SerpAPI | ||
glm_key | chatglm apikey | ||
gemini_key | Gemini-Apikey-Referenz | ||
gemini_api_domain | Geminis benutzerdefinierte Domainnamen-Referenz | ||
qwen_key | Qwens Apikey-Referenz | ||
Kekse | Xiaoai-Konto-Cookie (Sie können es leer lassen, wenn Sie sich mit dem oben genannten Passwort anmelden) | ||
mi_did | Gerät tat | ||
use_command | Verwenden Sie den MI-Befehl, um mit Xiaoai zu interagieren | false | |
mute_xiaoai | Stoppen Sie schnell Xiaoais eigene Antwort | true | |
ausführlich | Ob detaillierte Protokolle gedruckt werden sollen | false | |
bot | Der verwendete Bot-Typ unterstützt derzeit chatgptapi, newbing, qwen, gemini | chatgptapi | |
tts | Verwendeter TTS-Typ | mi | edge , openai , azure , volc , baidu , google , minimax |
tts_options | TTS-Parameterwörterbuch, verfügbare Parameter finden Sie in Tetos | ||
prompt | Benutzerdefinierte Eingabeaufforderung | 请用100字以内回答 | |
Stichwort | Benutzerdefinierte Wunschwortliste | ["请"] | |
change_prompt_keyword | Ändern Sie die Auslöserliste für Eingabeaufforderungswörter | ["更改提示词"] | |
start_conversation | Beginnen Sie mit fortlaufenden Konversationsschlüsselwörtern | 开始持续对话 | |
end_conversation | Beenden Sie laufende Konversationen mit Schlüsselwörtern | 结束持续对话 | |
Strom | Verwenden Sie Streaming-Antworten für schnellere Antworten | true | |
Stellvertreter | Unterstützen Sie HTTP-Proxy, übergeben Sie die HTTP-Proxy-URL | „“ | |
gpt_options | Parameterwörterbuch für die OpenAI-API | {} | |
Bereitstellungs-ID | Bereitstellungs-ID des Azure OpenAI-Dienstes | Hier erfahren Sie, wie Sie die Bereitstellungs-ID finden | |
api_base | Wenn Sie die Standard-API ersetzen oder den Azure OpenAI-Dienst verwenden müssen | Zum Beispiel: https://abc-def.openai.azure.com/ | |
volc_access_key | Den Zugangsschlüssel für Volcano Engine erhalten Sie hier | ||
volc_secret_key | Bitte holen Sie sich hier den geheimen Schlüssel von Volcano Engine |
--use_command
LX04, Diese Modelle unterstützen auch nur das Original-TTS von Xiaoai.C:Users用户名
lokal und werfen Sie es dann auf den Server, auf dem Sie sich nicht anmelden können. Wenn es sich um Linux handelt, legen Sie es bitte im Home-Ordner des aktuellen Benutzers ab. Zu diesem Zeitpunkt können Sie den vorherigen Befehl erneut ausführen und sich normal anmelden ohne Unfall (aber das Cookie kann nach einiger Zeit ablaufen und muss neu gestartet werden. get)https://www.youtube.com/watch?v=K4YA8YwzOOA
X86/ARM Docker-Image: yihong0618/xiaogpt
docker run -e OPENAI_API_KEY= < your-openapi-key > yihong0618/xiaogpt <命令行参数>
wie
docker run -e OPENAI_API_KEY= < your-openapi-key > yihong0618/xiaogpt --account= < your-xiaomi-account > --password= < your-xiaomi-password > --hardware= < your-xiaomi-hardware > --use_chatgpt_api
Die Konfigurationsdatei von xiaogpt kann durch Angabe von volume /config und Angabe des Parameters --config verarbeitet werden, z
docker run -v < your-config-dir > :/config yihong0618/xiaogpt --config=/config/config.yaml
docker run -v < your-config-dir > :/config --network=host yihong0618/xiaogpt --config=/config/config.yaml
docker build -t xiaogpt .
Wenn der Build fehlschlägt oder die Installation beim Installieren von Abhängigkeiten langsam ist, können Sie beim Erstellen des Docker-Images den Parameter --build-arg
verwenden, um die inländische Quelladresse anzugeben:
docker build --build-arg PIP_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple -t xiaogpt .
Wenn Sie x86 auf Apple M1/M2 kompilieren müssen
docker buildx build --platform=linux/amd64 -t xiaogpt-x86 .
Wir unterstützen derzeit drei TTS von Drittanbietern: edge/openai/azure/volc/baidu/google
Edge-tts bietet ähnliche Funktionen wie Microsoft TTS. Azure-tts bietet ähnliche Funktionen wie Microsoft Azure TTS. openai-tts bietet ähnliche Funktionen wie OpenAI TTS. Fish-tts bietet ähnliche Funktionen wie Fish TTS
Sie können es über den Parameter tts
aktivieren.
tts : edge
Wählen Sie für Edge Weitere Sprachunterstützung aus
edge-tts --list-voices
e80ea225770f42f79d50aa98be3cedfc
die Schlüssel-ID des Sounds ist tts : fish
# TTS 参数字典,参考 https://github.com/frostming/tetos 获取可用参数
tts_options : {
" api_key " : " xxxxx " ,
" voice " : " xxxxxx "
}
Da Edge TTS einen lokalen HTTP-Dienst startet, müssen Sie den Port des Containers dem Host zuordnen und den Hostnamen des lokalen Computers angeben:
docker run -v < your-config-dir > :/config -p 9527:9527 -e XIAOGPT_HOSTNAME= < your ip > yihong0618/xiaogpt --config=/config/config.yaml
Beachten Sie, dass der Port konsistent mit dem Container zugeordnet sein muss und XIAOGPT_HOSTNAME auf die IP-Adresse des Hosts eingestellt sein muss, sonst kann Xiaoai die Stimme nicht normal abspielen.
持续会话功能
zu unterstützen Danke reicht