Играйте в ChatGPT и другие LLM с помощью динамика Xiaomi AI
Система и оболочка | Linux *ш | Пользователи Windows CMD | Пользователи Windows PowerShell |
---|---|---|---|
1. Инсталляционный пакет | pip install miservice_fork | pip install miservice_fork | pip install miservice_fork |
2. Установите переменные | 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. Получите MI_DID | micli list | micli list | micli list |
4. Установите MI_DID | export MI_DID=xxx | set MI_DID=xxx | $env:MI_DID="xxx" |
Примечания об интерактивном взаимодействии между Xiaoai и ChatGPT без рута
pip install -U --force-reinstall xiaogpt[locked]
micli list
в локальном терминале, чтобы получить DID вашего динамика. В случае успеха не забудьте установить экспорт MI_DID=xxx для этого MI_DID.xiaogpt --hardware ${your_hardware} --use_chatgpt_api
hardware Вы видите номер модели на заднице Сяо Ай, введите его. Если вы не можете найти его на своей заднице или модель неправильная, вы можете использовать micli mina
для поиска. найдите номер модели.--cookie '${cookie}'
Дон. не забудьте заключить файл cookie в одинарные кавычки--use_command
для использования команды tts.--mute_xiaoai
, чтобы быстро остановить ответы Сяоая.--account ${account} --password ${password}
--use_chatgpt_api
, чтобы обеспечить более плавный разговор, который происходит очень быстро и обеспечивает диалоговый интерфейс Openai API, команда --use_chatgpt_api
--api_base ${url}
. Обратите внимание, что API, который вы здесь вводите, должен быть https://xxxx/v1
, а имя домена необходимо заключить в кавычки.--use_moonshot_api
и другие модели, пожалуйста, смотрите ниже开始持续对话
и автоматически перейти в состояние непрерывного разговора, а также结束持续对话
, чтобы завершить состояние непрерывного разговора.--tts edge
чтобы улучшить возможности tts.--tts fish --fish_api_key <your-fish-key> --fish_voice_key <fish-voice>
, чтобы получить возможность Fish-Audio (о том, как получить голос рыбы, см. ниже).--tts openai
для получения возможностей openai tts.--tts azure --azure_tts_speech_key <your-speech-key>
чтобы получить возможности Azure TTS.--use_langchain
вместо --use_chatgpt_api
для вызова службы LangChain (chatgpt по умолчанию) для реализации онлайн-поиска и математических операций.например
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}
Используйте git clone для запуска
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}
Если вы хотите начать с одного файла конфигурации, это также возможно. Вы можете указать файл конфигурации с помощью параметра --config
. Файл конфигурации должен иметь допустимый приоритет параметра формата Yaml или JSON.
python3 xiaogpt.py --config xiao_config.yaml
# or
xiaogpt --config xiao_config.yaml
или
cp xiao_config.yaml.example xiao_config.yaml
python3 xiaogpt.py
Чтобы указать параметры модели OpenAI, такие как model, temporal, top_p, укажите в config.yaml:
gpt_options :
temperature : 0.9
top_p : 0.9
Пожалуйста, обратитесь к документации Open AI API для получения информации о конкретных функциях параметров. Документация ChatGLM
параметр | иллюстрировать | значение по умолчанию | Необязательное значение |
---|---|---|---|
аппаратное обеспечение | Модель устройства | ||
счет | Сяоай аккаунт | ||
пароль | Пароль от аккаунта Сяоай | ||
openai_key | апикей Openai | ||
Moonshot_api_key | Apikey от Moonshot Кими | ||
yi_api_key | Апикей 01 Вану | ||
llama_api_key | llama3 апикэй для грок | ||
serpapi_api_key | Справочник ключей Serpapi SerpAPI | ||
glm_key | чатглм апикей | ||
Gemini_key | ссылка на апикей Близнецов | ||
Gemini_api_domain | Ссылка на собственное доменное имя Gemini | ||
qwen_key | ссылка на апикей qwen | ||
печенье | Файл cookie учетной записи Xiaoai (вы можете оставить его пустым, если входите в систему с указанным выше паролем) | ||
mi_did | устройство сделало | ||
использовать_команду | Используйте команду MI для взаимодействия с Сяоай. | false | |
mute_xiaoai | Быстро прекратите ответ Сяоая. | true | |
многословный | Печатать ли подробные журналы | false | |
бот | Тип используемого в настоящее время бота поддерживает Chatgptapi, newbing, qwen, Gemini. | chatgptapi | |
ТТС | Используемый тип TTS | mi | edge , openai , azure , volc , baidu , google , minimax |
tts_options | Словарь параметров TTS, доступные параметры см. в tetos | ||
быстрый | Пользовательское приглашение | 请用100字以内回答 | |
ключевое слово | Список слов пользовательского запроса | ["请"] | |
изменить_подсказку_ключевое слово | Изменить список триггеров слов-подсказок | ["更改提示词"] | |
начало_разговора | Ключевые слова для начала текущего разговора | 开始持续对话 | |
конец_разговора | Завершить текущие ключевые слова разговора | 结束持续对话 | |
транслировать | Используйте потоковые ответы для более быстрого ответа. | true | |
прокси | Поддержка HTTP-прокси, передайте URL-адрес HTTP-прокси | "" | |
gpt_options | Словарь параметров для OpenAI API | {} | |
развертывание_id | Идентификатор развертывания службы Azure OpenAI | Обратитесь к этому, как найти развертывание_id | |
api_base | Если вам нужно заменить API по умолчанию или использовать службу Azure OpenAI | Например: https://abc-def.openai.azure.com/ | |
volc_access_key | Пожалуйста, получите ключ доступа к Volcano Engine здесь. | ||
volc_secret_key | Пожалуйста, получите секретный ключ Volcano Engine здесь. |
--use_command
LX04, Эти модели также поддерживают только оригинальную TTS Xiaoai.C:Users用户名
после развертывания. проект локально, а затем кинуть его на сервер, на котором вы не можете войти. Если это Linux, поместите его в домашнюю папку текущего пользователя. В это время вы можете повторно выполнить предыдущую команду и войти в систему. обычно без каких-либо происшествий (но срок действия файла cookie может истекать через определенный период времени, и его необходимо перезапустить. get)https://www.youtube.com/watch?v=K4YA8YwzOOA
Образ Docker X86/ARM: yihong0618/xiaogpt
docker run -e OPENAI_API_KEY= < your-openapi-key > yihong0618/xiaogpt <命令行参数>
нравиться
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
Файл конфигурации xiaogpt можно обработать, указав том /config и указав параметр --config, например:
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 .
Если сборка завершается неудачно или установка происходит медленно при установке зависимостей, вы можете использовать параметр --build-arg
чтобы указать адрес внутреннего источника при сборке образа Docker:
docker build --build-arg PIP_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple -t xiaogpt .
Если вам нужно скомпилировать x86 на Apple M1/M2
docker buildx build --platform=linux/amd64 -t xiaogpt-x86 .
В настоящее время мы поддерживаем три сторонних TTS: Edge/openai/azure/volc/baidu/google.
Edge-tts предоставляет возможности, аналогичные Microsoft TTS. azure-tts предоставляет возможности, аналогичные Microsoft Azure TTS. openai-tts предоставляет возможности, аналогичные OpenAI TTS. fish-tts предоставляет возможности, аналогичные fish TTS.
Вы можете включить его через параметр tts
,
tts : edge
Для Edge Посмотрите дополнительную языковую поддержку, выберите один
edge-tts --list-voices
e80ea225770f42f79d50aa98be3cedfc
— это идентификатор ключа звука. tts : fish
# TTS 参数字典,参考 https://github.com/frostming/tetos 获取可用参数
tts_options : {
" api_key " : " xxxxx " ,
" voice " : " xxxxxx "
}
Поскольку Edge TTS запускает локальную службу HTTP, вам необходимо сопоставить порт контейнера с хостом и указать имя хоста локального компьютера:
docker run -v < your-config-dir > :/config -p 9527:9527 -e XIAOGPT_HOSTNAME= < your ip > yihong0618/xiaogpt --config=/config/config.yaml
Обратите внимание, что порт должен быть сопоставлен в соответствии с контейнером, а XIAOGPT_HOSTNAME должен быть установлен на IP-адрес хоста, иначе Xiaoai не сможет нормально воспроизводить голос.
持续会话功能
Спасибо, достаточно