Juega ChatGPT y otros LLM con Xiaomi AI Speaker
Sistema y carcasa | Linux *sh | Usuarios de CMD de Windows | Usuarios de Windows PowerShell |
---|---|---|---|
1. Paquete de instalación | pip install miservice_fork | pip install miservice_fork | pip install miservice_fork |
2. Establecer 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. Obtener MI_DID | micli list | micli list | micli list |
4. Establecer MI_DID | export MI_DID=xxx | set MI_DID=xxx | $env:MI_DID="xxx" |
Notas sobre interacciones interactivas entre Xiaoai y ChatGPT sin root
pip install -U --force-reinstall xiaogpt[locked]
micli list
en la terminal local para obtener el DID de su altavoz. Si tiene éxito, no olvide configurar export MI_DID=xxx para este MI_DID.xiaogpt --hardware ${your_hardware} --use_chatgpt_api
hardware Ves que hay un número de modelo en el trasero de Xiao Ai, ingrésalo. Si no puedes encontrarlo en tu trasero o el modelo es incorrecto, puedes usar micli mina
para. encuentre el número de modelo.--cookie '${cookie}'
Don No olvides envolver la cookie entre comillas simples.--use_command
para usar el comando tts.--mute_xiaoai
para detener rápidamente las respuestas de Xiaoai--account ${account} --password ${password}
--use_chatgpt_api
para tener una conversación más fluida, que es muy rápida y logra una experiencia conversacional Openai, comando --use_chatgpt_api
.--api_base ${url}
en su lugar. Tenga en cuenta que la API que ingrese aquí debe ser " https://xxxx/v1
" y el nombre de dominio debe estar entre comillas.--use_moonshot_api
y otros modelos, consulte a continuación开始持续对话
y entre automáticamente en el estado de conversación continua, y结束持续对话
para finalizar el estado de conversación continua.--tts edge
para obtener mejores capacidades de tts--tts fish --fish_api_key <your-fish-key> --fish_voice_key <fish-voice>
para obtener la capacidad de audio de pez (consulte a continuación cómo obtener la voz de pez)--tts openai
para obtener capacidades de openai tts--tts azure --azure_tts_speech_key <your-speech-key>
para obtener capacidades TTS de Azure--use_langchain
en lugar de --use_chatgpt_api
para llamar al servicio LangChain (chagpt predeterminado) para implementar operaciones matemáticas y de recuperación en línea.p.ej.
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}
Utilice git clone para ejecutar
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 desea comenzar a través de un único archivo de configuración, también es posible especificar el archivo de configuración a través del parámetro --config
. El archivo de configuración debe tener una prioridad de parámetro de formato Yaml o JSON legal.
python3 xiaogpt.py --config xiao_config.yaml
# or
xiaogpt --config xiao_config.yaml
o
cp xiao_config.yaml.example xiao_config.yaml
python3 xiaogpt.py
Para especificar los parámetros del modelo OpenAI, como modelo, temporal, top_p, especifique en config.yaml:
gpt_options :
temperature : 0.9
top_p : 0.9
Consulte la documentación de Open AI API para conocer funciones de parámetros específicas. Documentación de ChatGLM
parámetro | ilustrar | valor predeterminado | Valor opcional |
---|---|---|---|
hardware | Modelo de dispositivo | ||
cuenta | cuenta xiaoai | ||
contraseña | Contraseña de la cuenta Xiaoai | ||
openai_key | apikey de openai | ||
moonshot_api_key | apikey por kimi moonshot | ||
yi_api_key | 01 apikey de wanwu | ||
llama_api_key | llama3 apikey para groq | ||
serpapi_api_key | Referencia de clave de Serpapi SerpAPI | ||
glm_key | chatglm apikey | ||
llave_geminis | referencia de apikey de géminis | ||
dominio_api_géminis | Referencia de nombre de dominio personalizado de Gemini | ||
qwen_key | referencia apikey de qwen | ||
galletas | Cookie de la cuenta Xiaoai (puede dejarla en blanco si inicia sesión con la contraseña anterior) | ||
mi_did | dispositivo | ||
usar_comando | Utilice el comando MI para interactuar con Xiaoai | false | |
mudo_xiaoai | Detenga rápidamente la propia respuesta de Xiaoai. | true | |
verboso | Ya sea para imprimir registros detallados | false | |
bot | El tipo de bot utilizado actualmente admite chatgptapi, newbing, qwen, gemini | chatgptapi | |
tts | Tipo TTS utilizado | mi | edge , openai , azure , volc , baidu , google , minimax |
opciones_tts | Diccionario de parámetros TTS, consulte tetos para conocer los parámetros disponibles | ||
inmediato | Mensaje personalizado | 请用100字以内回答 | |
palabra clave | Lista de palabras de solicitud personalizada | ["请"] | |
cambiar_prompt_palabra clave | Cambiar la lista de activadores de palabras emergentes | ["更改提示词"] | |
iniciar_conversación | Iniciar una conversación en curso con palabras clave | 开始持续对话 | |
final_conversación | Finalizar las palabras clave de la conversación en curso | 结束持续对话 | |
arroyo | Utilice respuestas en tiempo real para obtener respuestas más rápidas | true | |
apoderado | Admite proxy HTTP, pasa la URL del proxy http | "" | |
opciones_gpt | Diccionario de parámetros para la API OpenAI | {} | |
id_despliegue | ID de implementación del servicio Azure OpenAI | Consulte esto sobre cómo encontrar despliegue_id | |
base_api | Si necesita reemplazar la API predeterminada o usar el servicio Azure OpenAI | Por ejemplo: https://abc-def.openai.azure.com/ | |
volc_access_key | Obtenga la clave de acceso de Volcano Engine aquí | ||
volc_clave_secreta | Obtenga la clave secreta de Volcano Engine aquí |
--use_command
LX04, Estos modelos también solo son compatibles con el TTS original de Xiaoai.C:Users用户名
proyecto localmente y luego tírelo al servidor donde no puede iniciar sesión. Si es Linux, colóquelo en la carpeta de inicio del usuario actual. En este momento, puede volver a ejecutar el comando anterior y podrá iniciar sesión. normalmente sin ningún accidente (pero la cookie puede caducar después de un período de tiempo y es necesario reiniciarla. get)https://www.youtube.com/watch?v=K4YA8YwzOOA
Imagen de X86/ARM Docker: yihong0618/xiaogpt
docker run -e OPENAI_API_KEY= < your-openapi-key > yihong0618/xiaogpt <命令行参数>
como
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
El archivo de configuración de xiaogpt se puede procesar especificando el volumen /config y especificando el parámetro --config, como
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 compilación falla o la instalación es lenta al instalar dependencias, puede usar el parámetro --build-arg
para especificar la dirección de origen nacional al crear la imagen de Docker:
docker build --build-arg PIP_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple -t xiaogpt .
Si necesita compilar x86 en Apple M1/M2
docker buildx build --platform=linux/amd64 -t xiaogpt-x86 .
Actualmente admitimos tres TTS de terceros: edge/openai/azure/volc/baidu/google
edge-tts proporciona capacidades similares a Microsoft TTS azure-tts proporciona capacidades similares a Microsoft Azure TTS openai-tts proporciona capacidades similares a OpenAI TTS fish-tts proporciona capacidades similares a fish TTS
Puedes habilitarlo a través del parámetro tts
,
tts : edge
Para ver más soporte de idiomas, elige uno
edge-tts --list-voices
e80ea225770f42f79d50aa98be3cedfc
es la identificación clave del sonido tts : fish
# TTS 参数字典,参考 https://github.com/frostming/tetos 获取可用参数
tts_options : {
" api_key " : " xxxxx " ,
" voice " : " xxxxxx "
}
Dado que Edge TTS inicia un servicio HTTP local, debe asignar el puerto del contenedor al host y especificar el nombre de host de la máquina local:
docker run -v < your-config-dir > :/config -p 9527:9527 -e XIAOGPT_HOSTNAME= < your ip > yihong0618/xiaogpt --config=/config/config.yaml
Tenga en cuenta que el puerto debe asignarse de forma coherente con el contenedor y XIAOGPT_HOSTNAME debe configurarse en la dirección IP del host; de lo contrario, Xiaoai no podrá reproducir la voz normalmente.
持续会话功能
gracias es suficiente