مقدمة:
حساب WeChat العام غير المعتمد متصل بـ chatgpt، تمت إضافة دردشة صوتية جديدة (محادثة باللغة الإنجليزية)، بناءً على Flask، حساب WeChat العام الشخصي [بدون مصادقة] متصل بـ ChatGPT
- تعليمات التحديث:
V1.1.0: (2023.04.13)
- تمت إضافة استجابة دفق جديدة (دفق) للتخفيف من مشكلة مهلة الطلب إلى حد ما. تحتاج إلى تثبيت حزمة بايثون: sseclient-py==1.7.2;
بعد تمكين الاستجابة المتدفقة، سيتم إنشاء اتصال (myrequest) أولاً، ومن ثم سيتم استخدام (SSEClient) للحصول على النص الذي تم إنشاؤه حرفًا تلو الآخر، وأخيرًا سيتم ربط القائمة النصية التي تم الحصول عليها في نص الرد. سيظل وقت إنشاء الاتصال متأثرًا بـ max_tokens، لذا لا يوصى بتعيين max_tokens على حجم كبير جدًا. المفتاح لتخفيف مهلة الطلب هو أن استهلاك الوقت لإنشاء الاتصال أقل من استهلاك الوقت للعودة لمرة واحدة، لذلك طالما تم إنشاء الاتصال بنجاح خلال وقت معين، فيمكن إرجاع المحتوى بشكل أساسي سيتأثر طول المحتوى الذي تم إرجاعه بوقت الاتصال.
-حذف أحدث الرسائل التي أرسلها المستخدم بعد فشل الطلب أو انتهاء المهلة لتجنب الأخطاء في الرد التالي.
الإصدار 1.0.1:
- تمت إضافة خيار لتمكين اكتشاف IP (لمنع هجمات doss)؛
-ملاحظة: إذا كان أي من wechat-ip_detection وazure-trans_to_voice صحيحًا، فيجب ملء كل من معرف التطبيق والسر.
الإصدار 1.0:
- وظيفة الدردشة الصوتية الجديدة، الوصول إلى خدمة تحويل النص إلى كلام من Microsoft السحابية (وصول مجاني)، لإجراء محادثات صوتية (الصينية والإنجليزية)؛
- قوالب تعلم اللغة الإنجليزية المضمنة، يمكنك إجراء محادثات باللغة الإنجليزية عن طريق الرد على رسائل القالب؛
- تمت إضافة اكتشاف IP للقائمة البيضاء لخلفية WeChat لمنع هجمات doss، وما إلى ذلك؛
- تمت إضافة حد تردد رسائل المستخدم لمنع إرسال رسائل غير مرغوب فيها؛
- تنظيف الملفات الصوتية المؤقتة تلقائيا؛
- تنظيف المواد الصوتية المؤقتة التي تم تحميلها في خلفية WeChat تلقائيًا؛
-تحسين الأداء وإصلاح الأخطاء.
خلفية:
لقد رأيت مؤخرًا أن ChatGPT يوفر واجهة API، ولدي خادم وحساب عام، لذا أريد أن أقوم بتجربته؟ ومع ذلك، لا يوجد سوى حساب رسمي شخصي واحد غير معتمد (الموارد محدودة؟) القيود المفروضة على هذا الحساب الرسمي هي:
1. يمكنه الرد بشكل سلبي فقط على رسائل المستخدم. يرسل المستخدم رسالة إلى الحساب الرسمي. يمكن للخادم الرد على رسالة واحدة فقط لهذا الطلب ولا يمكنه الرد على الرسائل الإضافية (رسائل خدمة العملاء)؛
2. يجب الرد على كل رسالة خلال 15 ثانية بعد أن ترسل منصة الحساب الرسمي طلبًا إلى الخادم، وإذا لم تتلقى ردًا خلال 5 ثوانٍ، فسوف ترسل طلبًا آخر وتنتظر لمدة 5 ثوانٍ إذا كان الطلب لا يزال قائمًا إذا لم يتم استلامها، فسيتم إرسال طلب نهائي، لذلك يجب على الخادم معالجة الرسالة كاملة خلال 15 ثانية.
راجع الكود لمعرفة طرق المعالجة المحددة. هذا مشروع مبتدئ، يرجى إدراج أي عيوب والتصحيحات موضع ترحيب، شكرًا لك~
يحتاج:
الخادم (يجب أن يكون قادرًا على الوصول إلى واجهة openai، وقد يحتاج إلى أن يكون في الخارج ~)
إذا كنت بحاجة إلى تمكين خدمة تحويل النص إلى كلام، فأنت بحاجة إلى تسجيل خدمة تحويل النص إلى كلام من Azure. التسجيل واستخدام هذه الخدمة مجانيان. يرجى الرجوع إلى موقع الويب للحصول على التفاصيل: AZURE
حساب WeChat العام: النوع الشخصي يكفي
العرض التوضيحي:
الحساب العام: معمل توري، تابع وأرسل رسائل لتجربته.
مقدمة لتغريدات الحساب العام:
1. مقدمة للبدء: تم توصيل ChatGPT
2. مقدمة عن استخدام الخدمة الصوتية: تم توصيل الخدمة الصوتية
كيفية الاستخدام:
قم بتعيين معلمات config.yml في التكوين:
# 微信相关设置
wechat :
token : " **** "
# 是否获取微信公众平台的ip白名单(用于防止doss检测)
ip_detection : false
# 如果上面的选项为true,下面两项内容必填;如要开启后面文本转语音服务,下面两项内容必填
appid : " **** "
secret : " **** "
# openai相关设置
openai :
#填写openai的api_keys时,要注意前面要加上:Bearer, 可以填写多个,因为单个账号有速率的限制
api_keys :
- " Bearer sk-**** "
# - "Bearer sk-****"
# - "Bearer sk-****"
# 单条消息的长度,这个参数对回复速度有非常大的影响,请不要填太大~
max_tokens : 120
# 模型
model : " gpt-3.5-turbo-0301 "
# temperature,越大随机性越强
temperature : 0.8
# 有时候文本长度超过150,用该参数限制长度避免超过微信能发送的最长消息
rsize : 500
# 对话的保存历史
save_history : 21
# azure文本转语音设置
azure :
# 是否开启文本转语音服务
trans_to_voice : false
# 如上面的选项为false,下面的内容不用填写
# 新定义文本长度,开启后增加处理时间,避免文本太长,处理时间过久,超过15s
max_token : 80
# 是否开启流式响应
stream_response : true
# 密钥
subscription : " **** "
region : " koreacentral "
# 中文语音模型
zh_model : " zh-CN-XiaoyanNeural "
# 英文语音模型
en_model : " en-US-AriaNeural "
ابدأ القارورة
export FLASK_APP=myflask
flask run --host=0.0.0.0 --port=80
# 或者
nohup flask run --host=0.0.0.0 --port=80 >> /home/jupyter/flask/log/wechat.log 2>&1 &
يلاحظ:
1. عند ملء مفاتيح API_key الخاصة بـ openai، تأكد من إضافة: الحامل في المقدمة. يمكنك ملء عدة مفاتيح api_keys لأن الحساب الواحد له حد للسعر؛
2.max_tokens له تأثير كبير على سرعة الرد، يرجى عدم ملئه بحجم كبير جدًا.