Paulwalker4884 commited on
Commit
1453b63
·
1 Parent(s): 51bf58b

Initial commit

Browse files
Files changed (1) hide show
  1. app.py +20 -13
app.py CHANGED
@@ -25,22 +25,22 @@ logger.debug("Loading CodeT5-base model")
25
  try:
26
  code_tokenizer = AutoTokenizer.from_pretrained("Salesforce/codeT5-base", cache_dir="/tmp/hf_cache")
27
  code_model = AutoModelForSeq2SeqLM.from_pretrained("Salesforce/codeT5-base", cache_dir="/tmp/hf_cache")
28
- code_gen = pipeline("text2text-generation", model=code_model, tokenizer=code_tokenizer, max_length=512, device=-1)
29
  logger.debug("CodeT5-base model loaded")
30
  except Exception as e:
31
  logger.error(f"Failed to load CodeT5-base: {e}")
32
  raise
33
 
34
  # لود مدل ترجمه
35
- logger.debug("Loading Helsinki-NLP/opus-mt-fa-en model")
36
  try:
37
- translate_tokenizer = AutoTokenizer.from_pretrained("Helsinki-NLP/opus-mt-fa-en", cache_dir="/tmp/hf_cache")
38
- translate_model = AutoModelForSeq2SeqLM.from_pretrained("Helsinki-NLP/opus-mt-fa-en", cache_dir="/tmp/hf_cache")
39
  translate_gen = pipeline("translation", model=translate_model, tokenizer=translate_tokenizer, max_length=300)
40
- logger.debug("Helsinki-NLP/opus-mt-fa-en model loaded")
41
  except Exception as e:
42
  logger.error(f"Failed to load translation model: {e}")
43
- raise
44
 
45
  # آزادسازی حافظه
46
  import gc
@@ -82,8 +82,7 @@ def save_to_memory(user_input, task_type, prompt, response):
82
  logger.debug("Saved to DB")
83
  except Exception as e:
84
  logger.error(f"DB Save Error: {e}")
85
- # نذار خطای دیتابیس جلوی ادامه کار رو بگیره
86
- pass
87
 
88
  # دریافت تاریخچه
89
  def get_history():
@@ -113,11 +112,14 @@ def get_history():
113
  def debug_models(text, language):
114
  logger.debug(f"Debugging models with input: {text}, language: {language}")
115
  try:
116
- translated = translate_gen(text, max_length=300)[0]['translation_text']
 
 
 
117
  logger.debug(f"Translated text: {translated}")
118
  prompt = f"Write a complete, correct, and well-explained code in {language} to: {translated}"
119
  logger.debug(f"Generated prompt: {prompt}")
120
- code_output = code_gen(prompt, max_length=512, num_beams=5)[0]['generated_text']
121
  logger.debug(f"Generated code: {code_output}")
122
  return f"Debug: Translation: {translated}\nPrompt: {prompt}\nCode: {code_output}"
123
  except Exception as e:
@@ -128,19 +130,24 @@ def debug_models(text, language):
128
  def translate_and_prompt(text, language):
129
  logger.debug(f"Translating input: {text}")
130
  try:
131
- translated = translate_gen(text, max_length=300)[0]['translation_text']
 
 
 
132
  logger.debug(f"Translated text: {translated}")
133
  prompt = f"Write a complete, correct, and well-explained code in {language} to: {translated}"
134
  return prompt
135
  except Exception as e:
136
  logger.error(f"Translation error: {e}")
137
- return f"Translation error: {e}"
 
 
138
 
139
  # تولید کد
140
  def generate_code(prompt):
141
  logger.debug(f"Generating code with prompt: {prompt}")
142
  try:
143
- result = code_gen(prompt, max_length=512, num_beams=5, do_sample=False)
144
  code_output = result[0]['generated_text']
145
  if not code_output.strip():
146
  logger.warning("Generated code is empty")
 
25
  try:
26
  code_tokenizer = AutoTokenizer.from_pretrained("Salesforce/codeT5-base", cache_dir="/tmp/hf_cache")
27
  code_model = AutoModelForSeq2SeqLM.from_pretrained("Salesforce/codeT5-base", cache_dir="/tmp/hf_cache")
28
+ code_gen = pipeline("text2text-generation", model=code_model, tokenizer=code_tokenizer, max_length=768, device=-1)
29
  logger.debug("CodeT5-base model loaded")
30
  except Exception as e:
31
  logger.error(f"Failed to load CodeT5-base: {e}")
32
  raise
33
 
34
  # لود مدل ترجمه
35
+ logger.debug("Loading Helsinki-NLP/opus-mt-fas-en model")
36
  try:
37
+ translate_tokenizer = AutoTokenizer.from_pretrained("Helsinki-NLP/opus-mt-fas-en", cache_dir="/tmp/hf_cache")
38
+ translate_model = AutoModelForSeq2SeqLM.from_pretrained("Helsinki-NLP/opus-mt-fas-en", cache_dir="/tmp/hf_cache")
39
  translate_gen = pipeline("translation", model=translate_model, tokenizer=translate_tokenizer, max_length=300)
40
+ logger.debug("Helsinki-NLP/opus-mt-fas-en model loaded")
41
  except Exception as e:
42
  logger.error(f"Failed to load translation model: {e}")
43
+ translate_gen = None # Fallback: اگه مدل ترجمه لود نشد، از ورودی خام استفاده می‌کنیم
44
 
45
  # آزادسازی حافظه
46
  import gc
 
82
  logger.debug("Saved to DB")
83
  except Exception as e:
84
  logger.error(f"DB Save Error: {e}")
85
+ pass # نذار خطای دیتابیس جلوی ادامه کار رو بگیره
 
86
 
87
  # دریافت تاریخچه
88
  def get_history():
 
112
  def debug_models(text, language):
113
  logger.debug(f"Debugging models with input: {text}, language: {language}")
114
  try:
115
+ if translate_gen:
116
+ translated = translate_gen(text, max_length=300)[0]['translation_text']
117
+ else:
118
+ translated = text # Fallback: اگه ترجمه کار نکرد، از ورودی خام استفاده کن
119
  logger.debug(f"Translated text: {translated}")
120
  prompt = f"Write a complete, correct, and well-explained code in {language} to: {translated}"
121
  logger.debug(f"Generated prompt: {prompt}")
122
+ code_output = code_gen(prompt, max_length=768, num_beams=5, do_sample=False)[0]['generated_text']
123
  logger.debug(f"Generated code: {code_output}")
124
  return f"Debug: Translation: {translated}\nPrompt: {prompt}\nCode: {code_output}"
125
  except Exception as e:
 
130
  def translate_and_prompt(text, language):
131
  logger.debug(f"Translating input: {text}")
132
  try:
133
+ if translate_gen:
134
+ translated = translate_gen(text, max_length=300)[0]['translation_text']
135
+ else:
136
+ translated = text # Fallback: اگه ترجمه کار نکرد، از ورودی خام استفاده کن
137
  logger.debug(f"Translated text: {translated}")
138
  prompt = f"Write a complete, correct, and well-explained code in {language} to: {translated}"
139
  return prompt
140
  except Exception as e:
141
  logger.error(f"Translation error: {e}")
142
+ prompt = f"Write a complete, correct, and well-explained code in {language} to: {text}"
143
+ logger.debug(f"Fallback prompt: {prompt}")
144
+ return prompt
145
 
146
  # تولید کد
147
  def generate_code(prompt):
148
  logger.debug(f"Generating code with prompt: {prompt}")
149
  try:
150
+ result = code_gen(prompt, max_length=768, num_beams=5, do_sample=False)
151
  code_output = result[0]['generated_text']
152
  if not code_output.strip():
153
  logger.warning("Generated code is empty")