Athspi commited on
Commit
99753e8
·
verified ·
1 Parent(s): 2ac6d9c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +11 -6
app.py CHANGED
@@ -5,6 +5,7 @@ from faster_whisper import WhisperModel
5
  from moviepy.video.io.VideoFileClip import VideoFileClip
6
  import logging
7
  import google.generativeai as genai
 
8
 
9
  # Suppress moviepy logs
10
  logging.getLogger("moviepy").setLevel(logging.ERROR)
@@ -14,8 +15,8 @@ genai.configure(api_key=os.environ["GEMINI_API_KEY"])
14
 
15
  # Create the Gemini model
16
  generation_config = {
17
- "temperature": 0.7, # Lower temperature for more focused translations
18
- "top_p": 0.9,
19
  "top_k": 40,
20
  "max_output_tokens": 8192,
21
  "response_mime_type": "text/plain",
@@ -97,10 +98,14 @@ def format_timestamp(seconds):
97
 
98
  def translate_text(text, target_language):
99
  """Translate text using Gemini."""
100
- # Magic prompt to ensure concise and accurate translations
101
- prompt = f"Translate the following text into {target_language}. Only provide the translated text, no explanations or additional text:\n\n{text}"
102
- response = model.generate_content(prompt)
103
- return response.text
 
 
 
 
104
 
105
  def translate_srt(srt_text, target_language):
106
  """Translate an SRT file while preserving timestamps."""
 
5
  from moviepy.video.io.VideoFileClip import VideoFileClip
6
  import logging
7
  import google.generativeai as genai
8
+ from google.api_core import exceptions
9
 
10
  # Suppress moviepy logs
11
  logging.getLogger("moviepy").setLevel(logging.ERROR)
 
15
 
16
  # Create the Gemini model
17
  generation_config = {
18
+ "temperature": 1,
19
+ "top_p": 0.95,
20
  "top_k": 40,
21
  "max_output_tokens": 8192,
22
  "response_mime_type": "text/plain",
 
98
 
99
  def translate_text(text, target_language):
100
  """Translate text using Gemini."""
101
+ try:
102
+ prompt = f"Translate the following text into {target_language}:\n\n{text}"
103
+ response = model.generate_content(prompt)
104
+ return response.text
105
+ except exceptions.ResourceExhausted:
106
+ return f"Translation failed: API quota exceeded. Please try again later."
107
+ except Exception as e:
108
+ return f"Translation failed: {str(e)}"
109
 
110
  def translate_srt(srt_text, target_language):
111
  """Translate an SRT file while preserving timestamps."""