Gopikanth123 commited on
Commit
59b3ced
·
verified ·
1 Parent(s): a5b45a4

Update main.py

Browse files
Files changed (1) hide show
  1. main.py +17 -26
main.py CHANGED
@@ -10,8 +10,19 @@ app = Flask(__name__)
10
 
11
  # Load the DeepSeek-V3 model and tokenizer
12
  model_name = "deepseek-ai/DeepSeek-V3"
13
- tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
14
- model = AutoModelForCausalLM.from_pretrained(model_name, trust_remote_code=True)
 
 
 
 
 
 
 
 
 
 
 
15
 
16
  # Supported languages for translation
17
  SUPPORTED_LANGUAGES = {
@@ -30,37 +41,24 @@ os.makedirs(AUDIO_DIR, exist_ok=True)
30
 
31
  # Handle user queries using DeepSeek-V3
32
  def handle_query(query):
33
- # Tokenize the input query
34
  inputs = tokenizer(query, return_tensors="pt")
35
-
36
- # Generate a response using the DeepSeek-V3 model
37
  outputs = model.generate(
38
  inputs.input_ids,
39
- max_length=50, # Adjust the max length as needed
40
  num_return_sequences=1,
41
- temperature=0.7, # Adjust temperature for creativity
42
- pad_token_id=tokenizer.eos_token_id # Ensure proper padding
43
  )
44
-
45
- # Decode the generated response
46
  response = tokenizer.decode(outputs[0], skip_special_tokens=True)
47
  return response.strip()
48
 
49
  # Generate response and translate if needed
50
  def generate_response(query, language):
51
  try:
52
- # Get response from DeepSeek-V3
53
  bot_response = handle_query(query)
54
-
55
- # Translate response if the language is not English
56
  target_lang = SUPPORTED_LANGUAGES.get(language.lower(), "en")
57
  if target_lang != "en":
58
- try:
59
- bot_response = GoogleTranslator(source='en', target=target_lang).translate(bot_response)
60
- except Exception as e:
61
- print(f"Translation error: {e}")
62
- bot_response = "Sorry, I couldn't translate the response."
63
-
64
  return bot_response
65
  except Exception as e:
66
  return f"Error fetching the response: {str(e)}"
@@ -68,14 +66,10 @@ def generate_response(query, language):
68
  # Convert text to speech using gTTS
69
  def text_to_speech(text, lang="en"):
70
  try:
71
- # Generate a unique filename for the audio file
72
  audio_filename = f"{uuid.uuid4()}.mp3"
73
  audio_path = os.path.join(AUDIO_DIR, audio_filename)
74
-
75
- # Create gTTS object and save the audio file
76
  tts = gTTS(text=text, lang=lang)
77
  tts.save(audio_path)
78
-
79
  return audio_path
80
  except Exception as e:
81
  print(f"Error generating speech: {e}")
@@ -96,10 +90,7 @@ def chat():
96
  if not user_message:
97
  return jsonify({"response": "Please say something!", "audio_url": None})
98
 
99
- # Generate response
100
  bot_response = generate_response(user_message, language)
101
-
102
- # Convert response to speech
103
  target_lang = SUPPORTED_LANGUAGES.get(language, "en")
104
  audio_path = text_to_speech(bot_response, lang=target_lang)
105
 
 
10
 
11
  # Load the DeepSeek-V3 model and tokenizer
12
  model_name = "deepseek-ai/DeepSeek-V3"
13
+ revision = "main" # Pin to a specific revision if needed
14
+
15
+ try:
16
+ tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True, revision=revision)
17
+ model = AutoModelForCausalLM.from_pretrained(
18
+ model_name,
19
+ trust_remote_code=True,
20
+ revision=revision,
21
+ quantization_config=None # Disable quantization
22
+ )
23
+ except Exception as e:
24
+ print(f"Error loading model: {e}")
25
+ raise
26
 
27
  # Supported languages for translation
28
  SUPPORTED_LANGUAGES = {
 
41
 
42
  # Handle user queries using DeepSeek-V3
43
  def handle_query(query):
 
44
  inputs = tokenizer(query, return_tensors="pt")
 
 
45
  outputs = model.generate(
46
  inputs.input_ids,
47
+ max_length=50,
48
  num_return_sequences=1,
49
+ temperature=0.7,
50
+ pad_token_id=tokenizer.eos_token_id
51
  )
 
 
52
  response = tokenizer.decode(outputs[0], skip_special_tokens=True)
53
  return response.strip()
54
 
55
  # Generate response and translate if needed
56
  def generate_response(query, language):
57
  try:
 
58
  bot_response = handle_query(query)
 
 
59
  target_lang = SUPPORTED_LANGUAGES.get(language.lower(), "en")
60
  if target_lang != "en":
61
+ bot_response = GoogleTranslator(source='en', target=target_lang).translate(bot_response)
 
 
 
 
 
62
  return bot_response
63
  except Exception as e:
64
  return f"Error fetching the response: {str(e)}"
 
66
  # Convert text to speech using gTTS
67
  def text_to_speech(text, lang="en"):
68
  try:
 
69
  audio_filename = f"{uuid.uuid4()}.mp3"
70
  audio_path = os.path.join(AUDIO_DIR, audio_filename)
 
 
71
  tts = gTTS(text=text, lang=lang)
72
  tts.save(audio_path)
 
73
  return audio_path
74
  except Exception as e:
75
  print(f"Error generating speech: {e}")
 
90
  if not user_message:
91
  return jsonify({"response": "Please say something!", "audio_url": None})
92
 
 
93
  bot_response = generate_response(user_message, language)
 
 
94
  target_lang = SUPPORTED_LANGUAGES.get(language, "en")
95
  audio_path = text_to_speech(bot_response, lang=target_lang)
96