مساعد صوت ChatGPT
- يستخدم مساعد ChatGPT الصوتي Raspberry Pi (أو سطح المكتب) لتمكين المحادثة المنطوقة مع نماذج اللغة الكبيرة OpenAI. يستمع هذا التنفيذ إلى الكلام، ويعالج المحادثة من خلال خدمة OpenAI، ثم يستجيب. مثل Apple Siri وAmazon Alex وGoogle Nest Home وMi XiaoAi وما إلى ذلك.
- تمت كتابة هذا المشروع بلغة python التي تدعم Linux/Raspbian وmacOS وWindows.
سمات
- يدعم الحوار الصوتي في الوقت الحقيقي. بعد أن يقوم ChatGPT بإرجاع جملة، يمكنك سماع الصوت بدلاً من انتظار جميع ردود ChatGPT قبل بدء تركيب الصوت.
- دعم الحوار المستمر، وحفظ تاريخ جميع محادثات ChatGPT الحالية. عندما تكون محادثة ChatGPT أكبر من 4096 رمزًا (gpt-3.5-turbo)، سيتم تجاهل سجل المحادثة المبكر.
- دعم كلمة التنبيه المحلية، استخدمها تمامًا مثل Siri.
مساعد صوت المتحدث
- الأجهزة
- $ لراسبيري PI 3/3B/4/4B
- $ للهاتف USB مايكرو
- $ لمكبر الصوت Aux
- $ لبطاقة SD (>= 8 جيجابايت) (لإعداد نظام التشغيل Raspberry Pi OS)
- برمجة
- خدمات الكلام المعرفي Azure
- الطبقة المجانية : 5 ساعات صوتية شهريًا وطلب واحد متزامن.
- رصيد مجاني بقيمة 200 دولار : مع حساب Azure جديد يمكن استخدامه خلال أول 30 يومًا.
- OpenAI
- 0.002 دولار / 1 ألف رمز / 750 كلمة تقريبًا : ChatGPT (gpt-3.5-turbo)
- رصيد مجاني بقيمة 18 دولارًا : مع حساب OpenAI جديد يمكن استخدامه خلال أول 90 يومًا.
يثبت
- ستحتاج إلى مثيل Azure Cognitive Services وحساب OpenAI. يمكنك تشغيل البرنامج على أي منصة تقريبًا، ولكن لنبدأ مع Raspberry Pi.
راسبيري بي
- إذا كنت مستخدمًا جديدًا لـ Raspberry Pis، فاطلع على دليل البدء هذا.
1. نظام التشغيل
- أدخل بطاقة SD في جهاز الكمبيوتر الخاص بك.
- انتقل إلى https://www.raspberrypi.com/software/ ثم قم بتنزيل Raspberry Pi Imager وتشغيله.
- انقر فوق
Choose OS
وحدد Raspberry Pi OS (64 بت) أو Ubuntu 22.04.2 LTS (64 بت). - انقر فوق
Choose Storage
، وحدد بطاقة SD. - انقر فوق
Write
وانتظر حتى يكتمل التصوير. - ضع بطاقة SD في جهاز Raspberry Pi وقم بتوصيل لوحة المفاتيح والماوس والشاشة.
- أكمل الإعداد الأولي، مع التأكد من تكوين Wi-Fi.
2. مكبر صوت/ميكروفون USB
- قم بتوصيل مكبر الصوت/الميكروفون USB إذا لم تقم بذلك بالفعل.
- على سطح مكتب Raspberry PI OS، انقر بزر الماوس الأيمن على أيقونة مستوى الصوت في الجزء العلوي الأيمن من الشاشة وتأكد من تحديد جهاز USB.
- انقر بزر الماوس الأيمن على أيقونة الميكروفون في الجزء العلوي الأيمن من الشاشة وتأكد من تحديد جهاز USB.
أزور
يستخدم المتحدث المحادثة Azure Cognitive Service لتحويل الكلام إلى نص وتحويل النص إلى كلام. فيما يلي خطوات إنشاء حساب Azure ومثيل Azure Cognitive Services.
1. حساب أزور
- في متصفح الويب، انتقل إلى https://aka.ms/friendbot/azure وانقر على
Try Azure for Free
. - انقر فوق
Start Free
لبدء إنشاء حساب Azure مجاني. - قم بتسجيل الدخول باستخدام حساب Microsoft أو GitHub الخاص بك.
- بعد تسجيل الدخول، سيُطلب منك إدخال بعض المعلومات.
ملاحظة: على الرغم من أن هذا الحساب مجاني، إلا أن Azure لا يزال يتطلب معلومات بطاقة الائتمان. لن يتم تحصيل رسوم منك إلا إذا قمت بتغيير الإعدادات لاحقًا.
- بعد اكتمال إعداد حسابك، انتقل إلى https://aka.ms/friendbot/azureportal.
2. الخدمات المعرفية أزور
- قم بتسجيل الدخول إلى حسابك على https://aka.ms/friendbot/azureportal.
- في شريط البحث بالأعلى، أدخل
Cognitive Services
. ضمن Marketplace
حدد Cognitive Services
. (قد يستغرق الأمر بضع ثوانٍ للتعبئة.) - تأكد من تحديد الاشتراك الصحيح. ضمن
Resource Group
حدد Create New
. أدخل اسم مجموعة الموارد (مثل conv-speak-rg
). - حدد منطقة واسمًا لمثيل Azure Cognitive Services (على سبيل المثال
my-conv-speak-cog-001
). ملاحظة: يوصى باستخدام EastUS أو WestEurope أو SoutheastAsia، حيث تميل تلك المناطق إلى دعم أكبر عدد من الميزات.
- انقر على
Review + Create
. بعد اجتياز التحقق من الصحة، انقر فوق Create
. - عند اكتمال النشر، يمكنك النقر فوق
Go to resource
لعرض مورد Azure Cognitive Services الخاص بك. - على شريط التنقل الموجود على الجانب الأيسر، ضمن
Resourse Management
، حدد Keys and Endpoint
. - انسخ أيًا من مفتاحي الخدمات المعرفية. احفظ هذا المفتاح في مكان آمن لوقت لاحق.
مستخدمو Windows 11: إذا كان التطبيق متوقفًا عند الاتصال بواجهة برمجة تطبيقات تحويل النص إلى كلام، فتأكد من تطبيق كافة التحديثات الأمنية الحالية (الرابط).
OpenAI
يستخدم المتحدث نماذج OpenAI لإجراء محادثة ودية. فيما يلي خطوات إنشاء حساب جديد والوصول إلى نماذج الذكاء الاصطناعي. يدعم واجهة برمجة تطبيقات OpenAI الرسمية أو واجهة برمجة تطبيقات Azure OpenAI، ما عليك سوى اختيار واحدة.
1. حساب OpenAI
- في متصفح الويب، انتقل إلى https://aka.ms/maker/openai. انقر فوق
Sign up
. ملاحظة: يمكن استخدام حساب Google أو حساب Microsoft أو البريد الإلكتروني لإنشاء حساب جديد.
- أكمل عملية التسجيل (على سبيل المثال، إنشاء كلمة مرور، والتحقق من بريدك الإلكتروني، وما إلى ذلك).
ملاحظة: إذا كنت مستخدمًا جديدًا لـ OpenAI، فيرجى مراجعة إرشادات الاستخدام (https://beta.openai.com/docs/usage-guidelines).
- في الزاوية العلوية اليمنى، انقر على حسابك. انقر فوق
View API keys
. - انقر فوق
+ Create new secret key
. انسخ المفتاح الذي تم إنشاؤه واحفظه في مكان آمن لوقت لاحق.
إذا كنت مهتمًا باللعب بنماذج اللغات الكبيرة مباشرةً، فراجع https://platform.openai.com/playground?mode=chat أعلى الصفحة بعد تسجيل الدخول إلى https://aka.ms/maker /openai.
2. حساب Azure OpenAI
اختر بين حساب OpenAI الرسمي أو حساب Azure OpenAI
- إنشاء حساب أزور
- إذا لم يكن لديك حساب Azure، فانتقل إلى موقع Azure الرسمي للتسجيل للحصول على حساب. يقدم Azure خيار حساب مجاني، ويمكن للمستخدمين الجدد الحصول على قدر معين من الأرصدة المجانية للاختبار والتعلم.
- التقدم بطلب للحصول على الوصول
- في صفحة خدمة Azure OpenAI، انقر فوق الزر "التقدم بطلب للوصول". سينقلك هذا إلى صفحة التطبيق حيث تحتاج إلى ملء بعض المعلومات الضرورية، بما في ذلك اسم شركتك وحالة الاستخدام وما إلى ذلك.
- تكوين واستخدام
- بمجرد حصولك على حق الوصول، يمكنك إنشاء مورد خدمة OpenAI جديد في بوابة Azure. بعد الإنشاء، يمكنك الحصول على مفتاح API والبدء في استخدام خدمة Azure OpenAI باتباع الوثائق الرسمية.
الكود
1. تكوين الكود
- تتوفر حزمة Python Speech SDK لنظام التشغيل Windows (x64 وx86)، وMac x64 (macOS X الإصدار 10.14 أو أحدث)، وMac Arm64 (macOS الإصدار 11.0 أو أحدث)، وLinux.
- على جهاز Raspberry Pi أو جهاز الكمبيوتر الخاص بك، افتح محطة سطر الأوامر.
- على Ubuntu أو Debian، قم بتشغيل الأوامر التالية لتثبيت الحزم المطلوبة:
sudo apt-get update
sudo apt-get install libssl-dev libasound2
- في Ubuntu 22.04 LTS، يلزم أيضًا تنزيل أحدث حزمة libssl1.1 وتثبيتها، على سبيل المثال من http://security.ubuntu.com/ubuntu/pool/main/o/openssl/.
- استنساخ الريبو.
git clone https://github.com/jackwuwei/gptspeaker.git
- قم بتعيين مفاتيح واجهة برمجة التطبيقات الخاصة بك: استبدل config.json
{AzureCognitiveServices.Key}
و {AzureCognitiveServices.Region}
بمفتاح OpenAI API و {OpenAI.Key}
بمفتاح OpenAI API. {
"AzureCognitiveServices" : {
"Key" : " AzureCognitiveServicesKey " ,
"Region" : " AzureCognitiveServicesRegion " ,
},
"OpenAI" : {
"Key" : " OpenAIKey " ,
},
// Just choose one of the two OpenAI above
"AzureOpenAI" :
{
"Key" : " " , // Key 1 or Key 2
"api_version" : " 2024-02-01 " ,
"Endpoint" : " " , // Endpoint
"Model" : " " // Azure AI Studio deployment name
}
}
- متطلبات التثبيت
pip3 -r install requirements.txt
- قم بتشغيل الكود
2. (اختياري) قم بإنشاء عبارة تنبيه مخصصة
تحتوي قاعدة التعليمات البرمجية على عبارة تنبيه افتراضية ( "Hey GPT"
) بالفعل، والتي أقترح عليك استخدامها أولاً. إذا كنت تريد إنشاء كلمة تنبيه مخصصة (مجانية!) خاصة بك، فاتبع الخطوات أدناه.
- قم بإنشاء نموذج كلمة رئيسية مخصص باستخدام التوجيهات الموجودة هنا: https://aka.ms/hackster/microsoft/wakeword.
- قم بتنزيل النموذج واستخرج ملف
.table
وانسخه إلى الدليل الجذر المصدر. - قم بتحديث ملف
config.json
لتضمين ملف عبارة التنبيه في الإصدار. "AzureCognitiveServices" : {
"WakePhraseModel" : " xxx.table " ,
"WakeWord" : " xxx " ,
}
- قم بإعادة إنشاء المشروع وتشغيله لاستخدام كلمة التنبيه المخصصة الخاصة بك.