Jiangxz01 commited on
Commit
91d8fc0
·
verified ·
1 Parent(s): 7635190

Upload app.py

Browse files
Files changed (1) hide show
  1. app.py +19 -9
app.py CHANGED
@@ -256,15 +256,19 @@ class PodcastGenerator:
256
  user_prompt = f"Please generate a podcast script based on the following user input:\n{prompt}"
257
 
258
  # 配置 SambaNova API client
259
- if not api_key:
260
- api_key = os.getenv("YOUR_API_TOKEN")
 
 
 
261
  client = openai.OpenAI(
262
- api_key=api_key,
263
  base_url="https://api.sambanova.ai/v1",
264
  )
265
 
266
  # 嘗試生成內容
267
  try:
 
268
  response = client.chat.completions.create(
269
  model='Meta-Llama-3.1-405B-Instruct',
270
  messages=[
@@ -274,13 +278,14 @@ class PodcastGenerator:
274
  temperature=1,
275
  max_tokens=8192
276
  )
277
- logger.info(f"API Response: {response}")
278
 
279
  if response.choices and len(response.choices) > 0:
280
  generated_text = response.choices[0].message.content
 
281
  else:
282
  logger.warning("No content generated from the API")
283
- raise ValueError("No content generated from the API")
284
 
285
  except Exception as e:
286
  logger.error(f"Error generating script: {str(e)}")
@@ -292,14 +297,11 @@ class PodcastGenerator:
292
  else:
293
  raise gr.Error(f"Failed to generate podcast script: {str(e)}")
294
 
295
- # 列印生成的Podcast指令碼
296
- print(f"Generated podcast script:\n{generated_text}")
297
-
298
  # 嘗試解析JSON,如果失敗則返回原始文本
299
  try:
300
  return json.loads(generated_text)
301
  except json.JSONDecodeError:
302
- print("Warning: Generated text is not valid JSON. Returning raw text.")
303
  return {"raw_text": generated_text}
304
 
305
  async def tts_generate(self, text: str, speaker: int, speaker1: str, speaker2: str) -> str:
@@ -384,6 +386,11 @@ class PodcastGenerator:
384
  start_time = time.time()
385
  podcast_json = await self.generate_script(input_text, language, api_key)
386
  end_time = time.time()
 
 
 
 
 
387
  gr.Info(f"Successfully generated podcast script in {(end_time - start_time):.2f} seconds!")
388
 
389
  # 生成Podcast音訊檔案
@@ -472,6 +479,9 @@ async def process_input(input_text: str, input_file, language: str, speaker1: st
472
  # 建立PodcastGenerator實例並生成Podcast
473
  podcast_generator = PodcastGenerator()
474
  podcast = await podcast_generator.generate_podcast(input_text, language, speaker1, speaker2, api_key)
 
 
 
475
 
476
  # 計算總耗時並顯示資訊
477
  end_time = time.time()
 
256
  user_prompt = f"Please generate a podcast script based on the following user input:\n{prompt}"
257
 
258
  # 配置 SambaNova API client
259
+ if api_key:
260
+ openai.api_key = api_key
261
+ else:
262
+ openai.api_key = os.getenv("YOUR_API_TOKEN")
263
+
264
  client = openai.OpenAI(
265
+ api_key=openai.api_key,
266
  base_url="https://api.sambanova.ai/v1",
267
  )
268
 
269
  # 嘗試生成內容
270
  try:
271
+ logger.info(f"Sending request to SambaNova API with prompt: {user_prompt[:100]}...")
272
  response = client.chat.completions.create(
273
  model='Meta-Llama-3.1-405B-Instruct',
274
  messages=[
 
278
  temperature=1,
279
  max_tokens=8192
280
  )
281
+ logger.info(f"Received response from API: {response}")
282
 
283
  if response.choices and len(response.choices) > 0:
284
  generated_text = response.choices[0].message.content
285
+ logger.info(f"Generated text: {generated_text[:100]}...")
286
  else:
287
  logger.warning("No content generated from the API")
288
+ return {"error": "No content generated from the API"}
289
 
290
  except Exception as e:
291
  logger.error(f"Error generating script: {str(e)}")
 
297
  else:
298
  raise gr.Error(f"Failed to generate podcast script: {str(e)}")
299
 
 
 
 
300
  # 嘗試解析JSON,如果失敗則返回原始文本
301
  try:
302
  return json.loads(generated_text)
303
  except json.JSONDecodeError:
304
+ logger.warning("Generated text is not valid JSON. Returning raw text.")
305
  return {"raw_text": generated_text}
306
 
307
  async def tts_generate(self, text: str, speaker: int, speaker1: str, speaker2: str) -> str:
 
386
  start_time = time.time()
387
  podcast_json = await self.generate_script(input_text, language, api_key)
388
  end_time = time.time()
389
+
390
+ if "error" in podcast_json:
391
+ gr.Error(f"Failed to generate podcast script: {podcast_json['error']}")
392
+ return None
393
+
394
  gr.Info(f"Successfully generated podcast script in {(end_time - start_time):.2f} seconds!")
395
 
396
  # 生成Podcast音訊檔案
 
479
  # 建立PodcastGenerator實例並生成Podcast
480
  podcast_generator = PodcastGenerator()
481
  podcast = await podcast_generator.generate_podcast(input_text, language, speaker1, speaker2, api_key)
482
+
483
+ if podcast is None:
484
+ return None
485
 
486
  # 計算總耗時並顯示資訊
487
  end_time = time.time()