2506minecraft commited on
Commit
52dce41
·
verified ·
1 Parent(s): e7e0232

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +7 -9
app.py CHANGED
@@ -23,7 +23,7 @@ logging.basicConfig(
23
  )
24
  logger = logging.getLogger(__name__)
25
 
26
- # ===== تحميل النماذج البديلة =====
27
  try:
28
  # 1. نموذج التعرف على الكلام
29
  asr_pipeline = pipeline(
@@ -32,9 +32,9 @@ try:
32
  token=os.getenv("HF_TOKEN")
33
  )
34
 
35
- # 2. نموذج توليف الصوت الأنثوي (فيسبوك MMS)
36
  tts_tokenizer = AutoTokenizer.from_pretrained(
37
- "facebook/mms-tts-arb", # نموذج بديل مدعوم
38
  token=os.getenv("HF_TOKEN")
39
  )
40
  tts_model = VitsModel.from_pretrained(
@@ -77,14 +77,14 @@ async def generate_response(text: str, user_id: str) -> str:
77
  try:
78
  # تحديث ذاكرة المحادثة
79
  conversation_history[user_id].append(text)
80
- context = "\n".join(conversation_history[user_id][-3:]) # أخر 3 رسائل
81
 
82
  chatbot = pipeline(
83
  "text-generation",
84
  model="aubmindlab/aragpt2-base",
85
  token=os.getenv("HF_TOKEN"),
86
- max_length=50, # طول الرد محدود
87
- temperature=0.7, # تقليل العشوائية
88
  )
89
  response = chatbot(
90
  context,
@@ -100,7 +100,7 @@ async def text_to_speech(text: str) -> None:
100
  try:
101
  inputs = tts_tokenizer(text, return_tensors="pt")
102
  with torch.no_grad():
103
- output = tts_model(**inputs, speaker_id=1) # اختيار الصوت الأنثوي
104
  waveform = output.waveform[0].numpy()
105
  sf.write("bot_response.wav", waveform, tts_model.config.sampling_rate)
106
  except Exception as e:
@@ -116,12 +116,10 @@ async def process_voice(update: Update, context):
116
  voice_file = await update.message.voice.get_file()
117
  await voice_file.download_to_drive("user_voice.ogg")
118
 
119
- # معالجة الصوت
120
  user_text = await speech_to_text("user_voice.ogg")
121
  bot_response = await generate_response(user_text, str(user_id))
122
  await text_to_speech(bot_response)
123
 
124
- # إرسال الرد
125
  if enhance_audio("bot_response.wav", "bot_response_enhanced.wav"):
126
  await update.message.reply_voice("bot_response_enhanced.wav")
127
  else:
 
23
  )
24
  logger = logging.getLogger(__name__)
25
 
26
+ # ===== تحميل النماذج =====
27
  try:
28
  # 1. نموذج التعرف على الكلام
29
  asr_pipeline = pipeline(
 
32
  token=os.getenv("HF_TOKEN")
33
  )
34
 
35
+ # 2. نموذج توليف الصوت الأنثوي (التسمية الصحيحة)
36
  tts_tokenizer = AutoTokenizer.from_pretrained(
37
+ "facebook/mms-tts-arb", # الاسم الصحيح
38
  token=os.getenv("HF_TOKEN")
39
  )
40
  tts_model = VitsModel.from_pretrained(
 
77
  try:
78
  # تحديث ذاكرة المحادثة
79
  conversation_history[user_id].append(text)
80
+ context = "\n".join(conversation_history[user_id][-3:])
81
 
82
  chatbot = pipeline(
83
  "text-generation",
84
  model="aubmindlab/aragpt2-base",
85
  token=os.getenv("HF_TOKEN"),
86
+ max_length=50,
87
+ temperature=0.7,
88
  )
89
  response = chatbot(
90
  context,
 
100
  try:
101
  inputs = tts_tokenizer(text, return_tensors="pt")
102
  with torch.no_grad():
103
+ output = tts_model(**inputs, speaker_id=1)
104
  waveform = output.waveform[0].numpy()
105
  sf.write("bot_response.wav", waveform, tts_model.config.sampling_rate)
106
  except Exception as e:
 
116
  voice_file = await update.message.voice.get_file()
117
  await voice_file.download_to_drive("user_voice.ogg")
118
 
 
119
  user_text = await speech_to_text("user_voice.ogg")
120
  bot_response = await generate_response(user_text, str(user_id))
121
  await text_to_speech(bot_response)
122
 
 
123
  if enhance_audio("bot_response.wav", "bot_response_enhanced.wav"):
124
  await update.message.reply_voice("bot_response_enhanced.wav")
125
  else: