Irina เป็นผู้ช่วยเสียงรัสเซียสำหรับการทำงานออฟไลน์ ต้องใช้ Python 3.5+ (การพึ่งพาอาศัยกันน้อยกว่า แต่ในกรณีใด ๆ ของ Python 3)
สนับสนุนปลั๊กอิน (ทักษะ)
บทความเกี่ยวกับ Habri | บทความที่สองเกี่ยวกับ Habri | บทความที่สามเกี่ยวกับ Habri | กลุ่มในโทรเลข
ผ่านบริการ vsegpt.ru โครงการอื่นของผู้แต่ง Irina:
ไปที่ https://github.com/janvarev/irene-va-win-installer ดาวน์โหลดรหัส (รหัส/ดาวน์โหลด zip) และทำตามคำแนะนำ
หลังจากการติดตั้งคำสั่งต่อไปนี้จะพร้อมใช้งาน:“ Irina Hello”,“ Irina Throw the Coin”,“ Irina Tear the Cube”,“ Irina The Game มีขนาดเล็กลง”,“ Irina Timer สามนาที”
ในการเตรียมหรือแก้ปัญหาให้เริ่ม start-settings-manager.bat เพื่อเริ่มการตั้งค่าผู้จัดการ-คุณสามารถเสร็จสิ้นปลั๊กอินและค้นหาคำสั่งเพิ่มเติม
ท่าเทียบเรือเพิ่มเติมสำหรับพันธะตัวเลือกนี้: docs/install_win_compact.md
หลังจากการติดตั้งทีมออฟไลน์จะพร้อมใช้งาน (เนื่องจากนี่คือการกำหนดค่าเริ่มต้น) ตัวอย่าง: "Irina Hello", "Irina Tear the Coin", "Irina Tear the Cube", "Irina The Game มีขนาดเล็กลง", "Irina Timer สามนาที"
วิธีเตรียมตัวเลือกนี้: เอกสาร/install_win_compact.md
คุณจะต้องใช้งูหลามที่ติดตั้ง (ประมาณ 3.7-3.11)
ในการติดตั้งการพึ่งพาที่ต้องการทั้งหมดอย่างรวดเร็วคุณสามารถใช้คำสั่ง: pip install -r requirements.txt (สำหรับ Linux และ MacOS - แพ็คเกจติดตั้งแรกสำหรับเครื่องถ่ายภาพ)
ในการเริ่มต้นการเริ่มต้นใช้ไฟล์ runva_vosk.py จากโฟลเดอร์รูท โดยค่าเริ่มต้นเขาจะเปิดตัว Vosk Offline ผู้สนับสนุนเพื่อรับรู้คำพูดด้วยไมโครโฟนและเครื่องยนต์ PYTSX สำหรับการเปล่งเสียงผู้ช่วยเพิ่มเติมเกี่ยวกับ PYTTSX ที่นี่
หลังจากเริ่มต้นคุณสามารถตรวจสอบกับทีมง่าย ๆ - พูดว่า "Irina, สวัสดี!" ในไมโครโฟน
โฟลเดอร์ที่มีการตั้งค่าตัวเลือกจะปรากฏขึ้นหลังจากการเปิดตัวครั้งแรกของ Irina ในนั้นคุณสามารถแก้ไขการตั้งค่าได้
ขั้นตอนเพิ่มเติม -โดยขั้นตอนเกี่ยวกับการติดตั้งบน Win (โดยเฉพาะ Win 7): docs/install_win.md
การแก้ปัญหาบางอย่างเมื่อติดตั้งภายใต้ Linux: DOCS/Install_linux.md
การแก้ปัญหาบางอย่างเมื่อติดตั้งภายใต้ MACS: DOCS/Install_mac.md
หลักการของการดีบักระหว่างปัญหาการติดตั้ง: เอกสาร/install_debug.md
ข้อบกพร่องสามารถเขียนในประเด็นที่กล่าวถึง - ในโทรเลข
C เวอร์ชัน 9.0 ตัวจัดการการตั้งค่าเว็บที่มีอยู่ผ่าน Gradio
ในการเปิดตัวให้เริ่มไฟล์ runva_settings_manager.py จากโฟลเดอร์รูท
หากคุณต้องการเรียกใช้ทุกอย่างผ่านท่าเรือ: docs/install_docker.md (นอกจากนี้ยังมีท่าเทียบเรือของ Doker สำหรับ ARM (ราสเบอร์รี่ ฯลฯ ) จาก Ivan-Firefly)
หากคุณต้องการส่วนประกอบคีย์ที่ซับซ้อนเท่านั้นให้รันผ่าน Dock: DOCS/Install_Docker_Comp.md
การเปิดตัวทีมทั้งหมดเริ่มต้นด้วยชื่อผู้ช่วย (ปรับในตัวเลือก/core.json โดยค่าเริ่มต้น - Irina) สิ่งนี้ทำเพื่อแยกงานที่ไม่ถูกต้องเมื่อฟังไมโครโฟนอย่างต่อเนื่อง ถัดไปจะอธิบายโดยทีมโดยไม่มีคำนำหน้า "irina"
รองรับการควบคุมในท้องถิ่นผ่านเว็บอินเตอร์เฟสโดยเครื่องเล่น MPC-HC ถูกสร้างขึ้นในเครื่องยนต์ดังนั้นจึงขอแนะนำให้ใช้ สามารถกำหนดค่าได้ในตัวเลือก/core.json
การรองรับปลั๊กอินทำบนเครื่องยนต์ Jaa.py - เครื่องยนต์รองรับเครื่องยนต์แบบไฟล์เดียวที่เรียบง่ายและการตั้งค่า
ปลั๊กอินอยู่ในโฟลเดอร์ปลั๊กอินและควรเริ่มต้นด้วยคำนำหน้าปลั๊กอิน _
การตั้งค่าปลั๊กอินถ้ามีอยู่ในโฟลเดอร์ตัวเลือก (สร้างขึ้นหลังจากการเปิดตัวครั้งแรก)
สำหรับแต่ละปลั๊กอินจะถูกเขียนว่าต้องการออนไลน์หรือไม่ ลบเพื่อปิดโฟลเดอร์ปลั๊กอิน
ข้อมูลที่สมบูรณ์: docs/plugins.md
หากคุณต้องการทราบ:
เยี่ยมชม: #1
(จากเวอร์ชัน 10.0.0) สำหรับการเปิดตัว Runva_plugin_installer.py
ความสนใจ: ปลั๊กอินที่เสนอได้รับการสนับสนุนโดยนักพัฒนาที่สามและพวกเขาสามารถเสริมและเปลี่ยนแปลงได้! ผู้เขียน Irina ไม่รับผิดชอบต่อการบำรุงรักษาของพวกเขา!
สำหรับนักพัฒนา : หากคุณต้องการเพิ่มปลั๊กอินของคุณในรายการนี้สำหรับการติดตั้งที่ง่ายขึ้นคุณจะต้องทำสิ่งต่อไปนี้:
ตัวอย่างการออกแบบปลั๊กอิน: https://github.com/janvarev/irene_plugin_boltalka2_openai
มีปลั๊กอินของบุคคลที่สามที่ดีที่ช่วยให้คุณเปิดตัวสคริปต์ผู้ช่วยที่บ้านผ่าน Irina: https://github.com/timhok/ireneva-script-trigger-plugugin
การตั้งค่าปลั๊กอินเฉพาะจะดูดีที่สุดในปลั๊กอิน
{
"contextDefaultDuration" : 10 , # Время в секундах, пока Ирина находится в контексте (контекст используется в непрерывном чате, играх и пр.; в контексте не надо использовать слово Ирина)
"contextRemoteWaitForCall" : false , # должна ли Ирина ждать от клиентов сингнала "Проигрывание ответа закончена, запускаем время для контекста?"
# официальные клиенты поддерживают contextRemoteWaitForCall, рекомендуется true
"fuzzyThreshold" : 0.5 , # (ПРО) Порог уверенности при использовании плагинов нечеткого распознавания команд
"isOnline" : true , # при установке в false будет выдавать заглушку на команды плагинов, требующих онлайн. Рекомендуется, если нужен только оффлайн.
"linguaFrancaLang" : "ru" , # язык для конвертации чисел в lingua-franca. Смените, если будете работать с другим языком
"logPolicy" : "cmd" , # all|cmd|none . Когда распознается речь с микрофона - выводить в консоль всегда | только, если является командой | никогда
"mpcHcPath" : "C: \ Program Files (x86) \ K-Lite Codec Pack \ MPC-HC64 \ mpc-hc64_nvo.exe" , # путь до MPC HC, если используете
"mpcIsUse" : true , # используется ли MPC HC?
"mpcIsUseHttpRemote" : true , # MPC HC - включено ли управление через веб-интерфейс?
"playWavEngineId" : "audioplayer" , # плагин проигрыша WAV-файлов. Некоторые WAV требуют sounddevice.
"replyNoCommandFound" : "Извини, я не поняла" , # ответ при непонимании
"replyNoCommandFoundInContext" : "Не поняла..." , # ответ при непонимании в состоянии контекста
"replyOnlineRequired" : "Нужен онлайн" , # ответ при вызове в оффлайн функции плагина, требующего онлайн
"tempDir" : "temp" , # папка для временных файлов
"ttsEngineId" : "pyttsx" , # используемый TTS-движок
"ttsEngineId2" : "" , # 2 используемый TTS-движок. Работает только на локальную озвучку - например, буфера обмена. Вызывается командой say2
"useTTSCache" : false , # при установке true в папке tts_cache будет кэшировать .wav файлы со сгенерированными TTS-движком ответами
"v" : "1.7" , # версия плагина core. Обновляется автоматически, не трогайте
"voiceAssNames" : "ирина|ирины|ирину" , # Если это появится в звуковом потоке, то дальше будет команда. (Различные имена помощника, рекомендуется несколько)
"voiceAssNameRunCmd" : { # если вы обратитесь к помощнику по этому имени, то в начало вашей команды будет подставлено соответствующее слово
"альбина" : "чатгпт"
}
}สำหรับการดีบักคุณสามารถใช้การเปิดตัวระบบผ่านไฟล์ runva_cmdline.py
เธอสร้างนิวเคลียส ( vacore ใน vacore.py ) ผ่านอินเตอร์เฟสบรรทัดคำสั่งนี้สะดวกกว่าการบอกด้วยเสียง
เอกสารการพัฒนา
การติดตั้งแบบหลายครั้งในโหมด "ไคลเอนต์เซิร์ฟเวอร์" ค่อนข้างซับซ้อนกว่า แต่ช่วยให้คุณจัดการ Irina:
อ่านเพิ่มเติมเกี่ยวกับการตั้งค่าลูกค้าเซิร์ฟเวอร์
เอกสาร Web API
หากคุณมีปัญหาเกี่ยวกับการติดตั้ง VOSK (ตัวอย่างเช่นบน Mac) คุณสามารถใช้งานผ่านเซิร์ฟเวอร์การรู้จำเสียงพูดอัตโนมัติของ VOSK ซึ่งเปิดตัวผ่านท่าเรือ
docker run -d -p 2700:2700 alphacep/kaldi-ru:latest (รายละเอียด: https://alphacephei.com/vosk/server)vosk_asr_server.py , ลดพารามิเตอร์ภายใน args . interface = os . environ . get ( 'VOSK_SERVER_INTERFACE' , "0.0.0.0" )
args . port = int ( os . environ . get ( 'VOSK_SERVER_PORT' , 2700 )runva_voskrem.py เขาจะอ่านข้อมูลจากไมโครโฟนและส่งไปยังเซิร์ฟเวอร์เพื่อรับรู้ หากคุณต้องการเปิดการรับรู้บนเครื่องอื่น -ใช้พารามิเตอร์ -u ( -uri): runva_voskrem.py -u=ws://100.100.100.100:2700 เพื่อชี้แจงที่อยู่ของเซิร์ฟเวอร์
SpeechRecognition - เครื่องมือคลาสสิกสำหรับการเปิดตัวโดย Google และบริการอื่น ๆ อีกมากมาย ในการเปิดการรับรู้นี้ให้เริ่มระบบผ่านไฟล์ runva_speecrecognition.py
สำหรับการทำงานคุณจะต้อง:
pip install PyAudio
pip install SpeechRecognition
หากมีปัญหาเกี่ยวกับการติดตั้ง Pyaudio อ่านรายละเอียดจาก Enjirouz
คุณสมบัติ: การรับรู้ตัวเลข วลีเดียวกันนี้ได้รับการยอมรับดังนี้:
โครงการโดยรวมไม่ได้หมายความถึงการสนับสนุนคำพูดหลายภาษาเนื่องจากใช้คำแยกวิเคราะห์แบบกำหนดเองในปลั๊กอิน แต่อย่างไรก็ตามนิวเคลียส ( vacore.py ) ไม่ได้เชื่อมโยงกับลิ้นอย่างสมบูรณ์และคุณสามารถรวบรวมการติดตั้งของคุณเองในภาษาอื่นเพียงแค่เขียนปลั๊กอินใหม่สำหรับพวกเขา
วลีภาษาหลายภาษาที่กำหนดแกนหลักของผู้ช่วยภาษา (ชื่อของเขารวมถึงวลีเช่น "ฉันไม่เข้าใจ") ถูกตั้งค่าในไฟล์การกำหนดค่าปลั๊กอิน หลัก
C เวอร์ชัน 7.5 รองรับการประมวลผลอินพุตผู้ใช้ที่คลุมเครือ
ในการตั้งค่าเกณฑ์การรับรู้จะมีพารามิเตอร์ทั่วโลกฟัซซีทรช์ลด์ใน core.json มันยอมรับค่าจาก 0 ถึง 1 (1 - ความมั่นใจอย่างสมบูรณ์ในวลี)
ปลั๊กอินที่มีชื่อเสียงทำงานกับสิ่งนี้:
จากเวอร์ชัน 8.1 ในโหมดทดสอบการสนับสนุน core-plane จากผู้ช่วยเสียงของ Vasya ถูกสร้างขึ้น: https://github.com/oknolaz/Vasisualy
เพื่อเพิ่ม:
มันทำงานในกรณีที่ง่ายที่สุด - ทดสอบบนปลั๊กอินเหรียญและ Crystall_ball
หากไม่ได้ผลให้อ่านรหัส การสนับสนุนทำผ่านปลั๊กอินปลั๊กอิน _vasi.py
หากคุณต้องการเพิ่มบางสิ่งบางอย่างลงในโครงการเป็นการดีที่จะทำความคุ้นเคยกับนโยบายที่มีส่วนร่วม
สั้น:
@enjirouz สำหรับโครงการผู้ช่วยเสียง: https://github.com/enjirouz/voice-ssistant-app ซึ่งกลายเป็นพื้นฐาน (แม้ว่ามันจะได้รับการออกแบบใหม่มาก)
Alphacephei สำหรับห้องสมุดการจดจำที่สวยงาม Vosk (https://alphacephei.com/vosk/index.ru)
ความยากลำบากหลักใน OpenSors ไม่ใช่การเขียนโค้ด การเขียนรหัสเป็นเรื่องที่น่าสนใจ
ความยากลำบากในการ opensors คือการรักษารหัสและผู้ใช้เป็นเวลานาน
ตอบคำถาม แก้ไขข้อบกพร่อง เขียนบทความและเอกสาร
หากคุณต้องการสนับสนุนความสนใจของฉันและสร้าง Irina ในฐานะผู้ช่วยแกนนำที่เป็นอิสระจาก บริษัท ขนาดใหญ่คุณสามารถสนับสนุนได้คุณสามารถ: