Jouez à ChatGPT et à d'autres LLM avec Xiaomi AI Speaker
Système et coque | Linux *ch | Utilisateurs Windows CMD | Utilisateurs de Windows PowerShell |
---|---|---|---|
1. Forfait d'installation | pip install miservice_fork | pip install miservice_fork | pip install miservice_fork |
2. Définir les variables | 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. Obtenez MI_DID | micli list | micli list | micli list |
4. Définissez MI_DID | export MI_DID=xxx | set MI_DID=xxx | $env:MI_DID="xxx" |
Notes sur les interactions interactives entre Xiaoai et ChatGPT sans root
pip install -U --force-reinstall xiaogpt[locked]
micli list
dans le terminal local pour obtenir le DID de votre haut-parleur. En cas de succès, n'oubliez pas de définir export MI_DID=xxx pour ce MI_DID.xiaogpt --hardware ${your_hardware} --use_chatgpt_api
hardware Vous voyez qu'il y a un numéro de modèle sur les fesses de Xiao Ai, entrez-le. Si vous ne le trouvez pas sur vos fesses ou si le modèle est erroné, vous pouvez utiliser micli mina
pour. trouvez le numéro de modèle.--cookie '${cookie}'
Don n'oubliez pas de mettre le cookie entre guillemets simples--use_command
pour utiliser la commande vers tts.--mute_xiaoai
pour arrêter rapidement les réponses de Xiaoai--account ${account} --password ${password}
--use_chatgpt_api
pour avoir une conversation plus fluide, qui est très rapide et permet d'obtenir une expérience conversationnelle Openai, commande --use_chatgpt_api
--api_base ${url}
à la place. Veuillez noter que l'API que vous entrez ici doit être « https://xxxx/v1
» et que le nom de domaine doit être placé entre guillemets.--use_moonshot_api
et autres modèles, veuillez vous référer ci-dessous开始持续对话
pour entrer automatiquement dans l'état de conversation continue et结束持续对话
pour mettre fin à l'état de conversation continue.--tts edge
pour obtenir de meilleures capacités tts--tts fish --fish_api_key <your-fish-key> --fish_voice_key <fish-voice>
pour obtenir la capacité audio de poisson (voir ci-dessous pour savoir comment obtenir la voix de poisson)--tts openai
pour obtenir les fonctionnalités openai tts--tts azure --azure_tts_speech_key <your-speech-key>
pour obtenir les fonctionnalités Azure TTS--use_langchain
au lieu de --use_chatgpt_api
pour appeler le service LangChain (chatgpt par défaut) afin d'implémenter la récupération en ligne et les opérations mathématiques.par ex.
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}
Utilisez git clone pour exécuter
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}
Si vous souhaitez démarrer avec un seul fichier de configuration, c'est également possible. Vous pouvez spécifier le fichier de configuration via le paramètre --config
. Le fichier de configuration doit être une priorité légale de paramètre au format Yaml ou JSON.
python3 xiaogpt.py --config xiao_config.yaml
# or
xiaogpt --config xiao_config.yaml
ou
cp xiao_config.yaml.example xiao_config.yaml
python3 xiaogpt.py
Pour spécifier les paramètres du modèle OpenAI, tels que model, temporal, top_p, veuillez spécifier dans config.yaml :
gpt_options :
temperature : 0.9
top_p : 0.9
Veuillez vous référer à la documentation de l'API Open AI pour connaître les fonctions de paramètres spécifiques. Documentation ChatGLM
paramètre | illustrer | valeur par défaut | Valeur facultative |
---|---|---|---|
matériel | Modèle d'appareil | ||
compte | Compte Xiaoai | ||
mot de passe | Mot de passe du compte Xiaoai | ||
clé_openai | apikey d'openai | ||
moonshot_api_key | apikey par moonshot kimi | ||
yi_api_key | 01 l'apikey de Wanwu | ||
lama_api_key | lama3 apikey pour groq | ||
serpapi_api_key | Référence de la clé Serpapi SerpAPI | ||
glm_key | chatglm apikey | ||
clé_gemini | référence apikey des Gémeaux | ||
gemini_api_domain | Référence de nom de domaine personnalisé de Gemini | ||
qwen_key | référence apikey de Qwen | ||
cookies | Cookie du compte Xiaoai (vous pouvez le laisser vide si vous vous connectez avec le mot de passe ci-dessus) | ||
mi_did | appareill'a fait | ||
utiliser_commande | Utilisez la commande MI pour interagir avec Xiaoai | false | |
mute_xiaoai | Arrêtez rapidement la propre réponse de Xiaoai | true | |
verbeux | S'il faut imprimer des journaux détaillés | false | |
robot | Le type de bot utilisé prend actuellement en charge chatgptapi, newbing, qwen, gemini | chatgptapi | |
tts | Type TTS utilisé | mi | edge , openai , azure , volc , baidu , google , minimax |
tts_options | Dictionnaire des paramètres TTS, reportez-vous à tetos pour les paramètres disponibles | ||
rapide | Invite personnalisée | 请用100字以内回答 | |
mot-clé | Liste de mots de requête personnalisée | ["请"] | |
change_prompt_keyword | Modifier la liste de déclencheurs de mots d'invite | ["更改提示词"] | |
démarrer_conversation | Démarrer une conversation en cours avec des mots-clés | 开始持续对话 | |
fin_conversation | Mettre fin aux mots-clés de la conversation en cours | 结束持续对话 | |
flux | Utilisez les réponses en streaming pour des réponses plus rapides | true | |
procuration | Prise en charge du proxy HTTP, transmission de l'URL du proxy http | "" | |
gpt_options | Dictionnaire de paramètres pour l'API OpenAI | {} | |
ID_déploiement | ID de déploiement du service Azure OpenAI | Reportez-vous à ceci pour savoir comment trouver l'ID de déploiement | |
api_base | Si vous devez remplacer l'API par défaut ou utiliser le service Azure OpenAI | Par exemple : https://abc-def.openai.azure.com/ | |
volc_access_key | Veuillez obtenir la clé d'accès de Volcano Engine ici | ||
clé_volc_secret | Veuillez obtenir la clé secrète de Volcano Engine ici |
--use_command
LX04, Ces modèles ne prennent également en charge que le TTS original de Xiaoai.C:Users用户名
après le déploiement du projet. localement, puis lancez-le sur le serveur sur lequel vous ne pouvez pas vous connecter. S'il s'agit de Linux, veuillez le placer dans le dossier personnel de l'utilisateur actuel. À ce stade, vous pouvez réexécuter la commande précédente et vous connecter normalement. sans aucun accident (mais le cookie peut expirer après un certain temps et doit être redémarré. get)https://www.youtube.com/watch?v=K4YA8YwzOOA
Image Docker X86/ARM : yihong0618/xiaogpt
docker run -e OPENAI_API_KEY= < your-openapi-key > yihong0618/xiaogpt <命令行参数>
comme
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
Le fichier de configuration de xiaogpt peut être traité en spécifiant le volume /config et en spécifiant le paramètre --config, tel que
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 .
Si la construction échoue ou si l'installation est lente lors de l'installation des dépendances, vous pouvez utiliser le paramètre --build-arg
pour spécifier l'adresse source nationale lors de la création de l'image Docker :
docker build --build-arg PIP_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple -t xiaogpt .
Si vous devez compiler x86 sur Apple M1/M2
docker buildx build --platform=linux/amd64 -t xiaogpt-x86 .
Nous prenons actuellement en charge trois TTS tiers : edge/openai/azure/volc/baidu/google
edge-tts fournit des fonctionnalités similaires à Microsoft TTS azure-tts fournit des fonctionnalités similaires à Microsoft Azure TTS openai-tts fournit des fonctionnalités similaires à OpenAI TTS fish-tts fournit des fonctionnalités similaires à fish TTS
Vous pouvez l'activer via le paramètre tts
,
tts : edge
Pour Edge Voir plus de prise en charge linguistique, choisissez-en une
edge-tts --list-voices
e80ea225770f42f79d50aa98be3cedfc
est l'identifiant clé du son tts : fish
# TTS 参数字典,参考 https://github.com/frostming/tetos 获取可用参数
tts_options : {
" api_key " : " xxxxx " ,
" voice " : " xxxxxx "
}
Étant donné qu'Edge TTS démarre un service HTTP local, vous devez mapper le port du conteneur sur l'hôte et spécifier le nom d'hôte de la machine locale :
docker run -v < your-config-dir > :/config -p 9527:9527 -e XIAOGPT_HOSTNAME= < your ip > yihong0618/xiaogpt --config=/config/config.yaml
Notez que le port doit être mappé de manière cohérente avec le conteneur et que XIAOGPT_HOSTNAME doit être défini sur l'adresse IP de l'hôte, sinon Xiaoai ne peut pas lire la voix normalement.
持续会话功能
Merci c'est suffisant