เล่น ChatGPT และ LLM อื่น ๆ ด้วย Xiaomi AI Speaker
ระบบและเชลล์ | ลินุกซ์ *sh | ผู้ใช้ 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 คุณเห็นว่ามีหมายเลขรุ่นอยู่ที่ก้นของ Xiao Ai ให้ป้อนเข้าไป หากคุณไม่พบมันที่ก้นของคุณหรือโมเดลผิด คุณสามารถใช้ micli mina
ได้ ค้นหาหมายเลขรุ่น--cookie '${cookie}'
Don อย่าลืมห่อคุกกี้ด้วยเครื่องหมายคำพูดเดี่ยว--use_command
เพื่อใช้คำสั่งกับ tts--mute_xiaoai
เพื่อหยุดคำตอบของ 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>
เพื่อรับความสามารถด้านเสียงปลา (ดูด้านล่างสำหรับวิธีรับเสียงปลา)--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
พารามิเตอร์ | แสดงให้เห็น | ค่าเริ่มต้น | ค่าที่ไม่บังคับ |
---|---|---|---|
ฮาร์ดแวร์ | รุ่นอุปกรณ์ | ||
บัญชี | บัญชีเสี่ยวไอ | ||
รหัสผ่าน | รหัสผ่านบัญชี Xiaoai | ||
openai_key | APIKEY ของ openai | ||
moonshot_api_key | apikey โดย มูนช็อต คิมิ | ||
yi_api_key | 01 apikey ของ wanwu | ||
llama_api_key | llama3 apikey สำหรับ groq | ||
serpapi_api_key | การอ้างอิงคีย์ Serpapi SerpAPI | ||
glm_key | chatglm apikey | ||
gemini_key | การอ้างอิง apikey ราศีเมถุน | ||
gemini_api_domain | การอ้างอิงชื่อโดเมนที่กำหนดเองของ Gemini | ||
qwen_key | การอ้างอิง apikey ของ qwen | ||
คุกกี้ | คุกกี้บัญชี Xiaoai (คุณสามารถเว้นว่างไว้ได้หากคุณเข้าสู่ระบบด้วยรหัสผ่านข้างต้น) | ||
mi_did | อุปกรณ์ทำ | ||
use_command | ใช้คำสั่ง MI เพื่อโต้ตอบกับ Xiaoai | false | |
mute_xiaoai | หยุดคำตอบของ Xiaoai อย่างรวดเร็ว | true | |
รายละเอียด | ไม่ว่าจะพิมพ์บันทึกโดยละเอียด | false | |
บอท | ประเภทบอทที่ใช้ในปัจจุบันรองรับ chatgptapi, newbing, qwen, gemini | chatgptapi | |
ทีที | ใช้ประเภท TTS | mi | edge , openai , azure , volc , baidu , google , minimax |
tts_options | พจนานุกรมพารามิเตอร์ TTS โปรดดูที่ tetos สำหรับพารามิเตอร์ที่มี | ||
พร้อมท์ | พรอมต์ที่กำหนดเอง | 请用100字以内回答 | |
คำหลัก | รายการคำร้องขอที่กำหนดเอง | ["请"] | |
change_prompt_keyword | เปลี่ยนรายการทริกเกอร์คำที่แจ้ง | ["更改提示词"] | |
start_conversation | เริ่มคำสำคัญการสนทนาที่กำลังดำเนินอยู่ | 开始持续对话 | |
end_conversation | จบคำสำคัญการสนทนาที่กำลังดำเนินอยู่ | 结束持续对话 | |
ลำธาร | ใช้การตอบกลับแบบสตรีมเพื่อการตอบสนองที่รวดเร็วยิ่งขึ้น | true | |
พร็อกซี | รองรับพร็อกซี HTTP ส่งผ่าน URL พร็อกซี http | - | |
gpt_options | พจนานุกรมพารามิเตอร์สำหรับ OpenAI API | {} | |
การปรับใช้_id | ID การปรับใช้ของบริการ Azure OpenAI | อ้างอิงถึงวิธีการค้นหา Deployment_id นี้ | |
api_base | หากคุณต้องการแทนที่ API เริ่มต้นหรือใช้บริการ Azure OpenAI | ตัวอย่างเช่น: https://abc-def.openai.azure.com/ | |
volc_access_key | กรุณารับรหัสการเข้าถึงของ Volcano Engine ที่นี่ | ||
volc_secret_key | กรุณารับรหัสลับของเครื่องยนต์ภูเขาไฟที่นี่ |
--use_command
LX04, โมเดลเหล่านี้รองรับเฉพาะ TTS ดั้งเดิมของ Xiaoai เท่านั้นC:Users用户名
หลังจากปรับใช้โปรเจ็กต์ ภายในเครื่องแล้วโยนไปยังเซิร์ฟเวอร์ที่คุณไม่สามารถเข้าสู่ระบบได้ หากเป็น Linux โปรดวางไว้ในโฟลเดอร์โฮมของผู้ใช้ปัจจุบัน ในขณะนี้ คุณสามารถดำเนินการคำสั่งก่อนหน้าอีกครั้งและคุณสามารถเข้าสู่ระบบได้ตามปกติ โดยไม่มีอุบัติเหตุใดๆ (แต่คุกกี้อาจหมดอายุหลังจากช่วงระยะเวลาหนึ่งและจำเป็นต้องเริ่มต้นใหม่อีกครั้ง)https://www.youtube.com/watch?v=K4YA8YwzOOA
X86/ARM Docker ภาพ: 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 จะไม่สามารถเล่นเสียงได้ตามปกติ
持续会话功能
ขอบคุณก็พอแล้ว