ผู้ช่วยแบบโต้ตอบด้วยเสียงที่ติดตั้งเสียงสังเคราะห์ที่หลากหลาย (รวมถึงเสียงของจาร์วิสจากไอรอนแมน)
รูปภาพโดย Midjourney AI
เคยใฝ่ฝันที่จะถามเคล็ดลับระบบที่ฉลาดเกินจริงเพื่อปรับปรุงเกราะของคุณหรือไม่? ตอนนี้คุณทำได้! อาจไม่ใช่ส่วนเกราะ ... โครงการนี้ใช้ประโยชน์จาก Openai Whisper, Openai Chatgpt และ IBM Watson
แรงจูงใจโครงการ:
หลายครั้งที่ความคิดมาในช่วงเวลาที่เลวร้ายที่สุดและพวกเขาก็จางหายไปก่อนที่คุณจะมีเวลาสำรวจพวกเขาดีขึ้น วัตถุประสงค์ของโครงการนี้คือการพัฒนาระบบที่มีความสามารถในการให้คำแนะนำและความคิดเห็นในเวลากึ่งจริงเกี่ยวกับสิ่งที่คุณถาม ผู้ช่วยสูงสุดจะสามารถเข้าถึงได้จากไมโครโฟนที่ได้รับอนุญาตภายในบ้านหรือโทรศัพท์ของคุณมันควรทำงานอย่างต่อเนื่องในพื้นหลังและเมื่อเรียกควรจะสามารถสร้างคำตอบที่มีความหมาย (ด้วยเสียงที่ไม่ดี) รวมถึงอินเทอร์เฟซกับพีซีหรือเซิร์ฟเวอร์และบันทึก/อ่าน/เขียนที่สามารถเข้าถึงได้ในภายหลัง มันควรจะสามารถเรียกใช้งานวิจัยรวบรวมเนื้อหาจากอินเทอร์เน็ต (แยกเนื้อหาจากหน้า HTML, ถอดความวิดีโอ YouTube, ค้นหาเอกสารทางวิทยาศาสตร์ ... ) และให้บทสรุปที่สามารถใช้เป็นบริบทเพื่อทำการตัดสินใจอย่างชาญฉลาด นอกจากนี้มันอาจเชื่อมต่อกับอุปกรณ์ภายนอก (IoT) บางส่วน แต่นั่นเป็นพิเศษ
การสาธิต:
ฉันสามารถแบ่งปันร่างแรกของโหมดการวิจัย รูปแบบนี้เป็นความคิดสำหรับคนที่มักจะจัดการกับงานวิจัย
PS: โหมดนี้ไม่เสถียรมากและจำเป็นต้องทำงานต่อไป
PPS: โครงการนี้จะถูกยกเลิกบางครั้งเนื่องจากฉันจะทำวิทยานิพนธ์ของฉันจนถึงปี 2024 อย่างไรก็ตามมีหลายสิ่งหลายอย่างที่สามารถปรับปรุงได้ดังนั้นฉันจะกลับมา!
ข้อจำกัดความรับผิดชอบ:
โครงการอาจใช้เครดิต OpenAI ของคุณส่งผลให้เกิดการเรียกเก็บเงินที่ไม่พึงประสงค์
ฉันไม่รับผิดชอบต่อค่าใช้จ่ายที่ไม่พึงประสงค์ใด ๆ
พิจารณาการตั้งค่าข้อ จำกัด เกี่ยวกับการใช้เครดิตที่บัญชี OpenAI ของคุณ
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu117
);คุณสามารถพึ่งพา
setup.bat
ใหม่ที่จะทำสิ่งต่าง ๆ ให้คุณ
สคริปต์ หลักที่ คุณควรเรียกใช้: openai_api_chatbot.py
หากคุณต้องการใช้ OpenAI API เวอร์ชันล่าสุดภายในโฟลเดอร์ Demos คุณจะพบคำแนะนำสำหรับแพ็คเกจที่ใช้ในโครงการหากคุณมีข้อผิดพลาดคุณอาจตรวจสอบไฟล์เหล่านี้ก่อนเพื่อกำหนดเป้าหมายปัญหา ส่วนใหญ่จะถูกเก็บไว้ในโฟลเดอร์ผู้ช่วย: get_audio.py
จัดเก็บฟังก์ชั่นทั้งหมดเพื่อจัดการกับการโต้ตอบไมค์, tools.py
ใช้แง่มุมพื้นฐานบางอย่างของผู้ช่วยเสมือน voice.py
อธิบายคลาสเสียงที่หยาบ (มาก) Agents.py
จัดการส่วน langchain ของระบบ (ที่นี่คุณสามารถเพิ่มหรือลบเครื่องมือออกจากชุดเครื่องมือของตัวแทน)
สคริปต์ที่เหลืออยู่นั้นเสริมด้วยการสร้างเสียงและไม่ควรแก้ไข
คุณสามารถเรียกใช้ setup.bat
ได้หากคุณทำงานบน Windows/Linux สคริปต์จะดำเนินการทุกขั้นตอนของการติดตั้งด้วยตนเองตามลำดับ อ้างถึงสิ่งเหล่านั้นในกรณีที่ขั้นตอนควรล้มเหลว
การติดตั้งอัตโนมัติจะเรียกใช้การติดตั้ง Vicuna (คู่มือการติดตั้ง Vicuna)
pip install -r venv_requirements.txt
; อาจใช้เวลาสักครู่ หากคุณพบความขัดแย้งในแพ็คเกจที่เฉพาะเจาะจงให้ติดตั้งด้วยตนเองโดยไม่ต้อง ==<version>
;whisper_edits
ไปยังโฟลเดอร์ whisper
ของสภาพแวดล้อมของคุณ (. venv lib site-packages Whisper ) การแก้ไขเหล่านี้จะเพิ่มแอตทริบิวต์ให้กับโมเดล Whisper เพื่อเข้าถึงมิติได้ง่ายขึ้นdemos/tts_demo.py
); cd Vicuna
call vicuna.ps1
env.txt
และเปลี่ยนชื่อเป็น .env
(ใช่ลบส่วนขยาย txt)torch.cuda.is_available()
และ torch.cuda.get_device_name(0)
ภายใน Pyhton; -tests.py
ไฟล์นี้พยายามดำเนินการพื้นฐานที่อาจทำให้เกิดข้อผิดพลาดVirtualAssistant.__init__()
; __main__()
ที่ whisper_model = whisper.load_model("large")
; แต่ฉันหวังว่าหน่วยความจำ GPU ของคุณจะมีขนาดใหญ่เช่นเดียวกัน openai_api_chatbot.py
):เมื่อทำงานคุณจะเห็นข้อมูลจำนวนมากที่ปรากฏขึ้น ฉันพยายามอย่างต่อเนื่องที่จะปรับปรุงความสามารถในการอ่านของการดำเนินการโครงการทั้งหมดเป็นเบต้าขนาดใหญ่ให้อภัยรูปแบบเล็กน้อยจากหน้าจอด้านล่าง อย่างไรก็ตามนี่คือสิ่งที่เกิดขึ้นในแง่ทั่วไปเมื่อคุณกด 'run':
Jarvis
เรียกผู้ช่วย ณ จุดนี้การสนทนาจะเริ่มขึ้นและคุณสามารถพูดในภาษาใดก็ได้ที่คุณต้องการ (ถ้าคุณทำตามขั้นตอนที่ 2) การสนทนาจะสิ้นสุดลงเมื่อคุณ 1) พูดคำหยุด 2) พูดอะไรบางอย่างด้วยคำเดียว (เช่น 'ตกลง') 3) เมื่อคุณหยุดถามคำถามนานกว่า 30 วินาที chat_history
ด้วยคำถามของคุณมันจะส่งคำขอกับ API และจะอัปเดตประวัติทันทีที่ได้รับคำตอบเต็มจาก CHATGPT (อาจใช้เวลาถึง 5-10 วินาทีพิจารณาขอคำตอบสั้น ๆ อย่างชัดเจนหากคุณรีบ)say()
จะทำการทำซ้ำด้วยเสียงเพื่อพูดคุยกับ Jarvis/เสียงของใครบางคน หากอาร์กิวเมนต์ไม่ได้เป็นภาษาอังกฤษ IBM Watson จะส่งคำตอบจากหนึ่งในรุ่นข้อความที่ดีต่อคำพูดของพวกเขา หากทุกอย่างล้มเหลวฟังก์ชั่นจะขึ้นอยู่กับ PYTTSX3 ซึ่งเป็นทางเลือกที่รวดเร็ว แต่ไม่เจ๋ง
ฉันทำพรอมต์และปิดการสนทนา
ไม่เหมาะที่ฉันรู้ แต่ใช้งานได้ในตอนนี้
VirtualAssistant
แบบเต็มรูปแบบพร้อมหน่วยความจำและการเข้าถึงที่เก็บข้อมูลท้องถิ่น กำลังทำงานอยู่ในขณะนี้:
กำลังติดตาม:
ตรวจสอบ UpdateHistory.MD ของโครงการเพื่อดูข้อมูลเชิงลึกเพิ่มเติม
มีความสุข!
หมวดหมู่: ติดตั้ง, ทั่วไป, รันไทม์
ปัญหาเกี่ยวกับกระซิบ คุณควรติดตั้งใหม่ด้วย pip install whisper-openai
pip install --upgrade openai
ข้อกำหนดจะไม่ได้รับการปรับปรุงทุกครั้ง แม้ว่าสิ่งนี้อาจสร้างข้อผิดพลาดคุณสามารถติดตั้งโมดูลที่หายไปได้อย่างรวดเร็วในเวลาเดียวกันมันทำให้สภาพแวดล้อมสะอาดจากความขัดแย้งเมื่อฉันลองแพ็คเกจใหม่ (และฉันลองใช้จำนวนมาก)
หมายความว่ารุ่นที่คุณเลือกนั้นใหญ่เกินไปสำหรับหน่วยความจำอุปกรณ์ CUDA ของคุณ น่าเสียดายที่มีไม่มากที่คุณสามารถทำได้ยกเว้นโหลดรุ่นที่เล็กกว่า หากโมเดลขนาดเล็กไม่ตอบสนองคุณคุณอาจต้องการพูด 'ชัดเจนขึ้น' หรือทำให้พร้อมท์อีกต่อไปเพื่อให้โมเดลทำนายได้อย่างแม่นยำยิ่งขึ้นในสิ่งที่คุณพูด ฟังดูไม่สะดวก แต่ในกรณีของฉันปรับปรุงการพูดภาษาอังกฤษของฉันอย่างมาก :)
นี่เป็นข้อบกพร่องที่ยังคงมีอยู่อย่าคาดหวังว่าจะมีการสนทนากับผู้ช่วยของคุณเป็นเวลานานเพราะมันจะมีหน่วยความจำเพียงพอที่จะจดจำการสนทนาทั้งหมดในบางจุด การแก้ไขอยู่ในระหว่างการพัฒนาอาจประกอบด้วยการใช้วิธีการ 'หน้าต่างเลื่อน' แม้ว่ามันอาจทำให้เกิดการทำซ้ำของแนวคิดบางอย่าง
ตอนนี้ (เมษายน 2023) ฉันทำงานเกือบจะไม่หยุดยั้งเรื่องนี้ ฉันจะหยุดพักในช่วงฤดูร้อนเพราะฉันจะทำวิทยานิพนธ์ของฉัน
หากคุณมีคำถามที่คุณสามารถติดต่อฉันได้โดยยกปัญหาและฉันจะพยายามอย่างเต็มที่เพื่อช่วยเหลือโดยเร็วที่สุด
Gianmarco Guarnier