import gradio as gr import requests import json from transformers import pipeline API_URL = "https://api.openai.com/v1/chat/completions" # 번역 파이프라인 초기화 translator = pipeline("translation", model="Helsinki-NLP/opus-mt-ko-en") def translate_text(text): # 입력된 텍스트를 영어로 번역 translation = translator(text, max_length=512) translated_text = translation[0]['translation_text'] return translated_text def predict(inputs, top_p, temperature, openai_api_key): narration_prompt = f"아동용 애니메이션 동영상에 사용할 스크립트를 작성하라. 반드시 한글로 작성할것. 입력: '{inputs}'" headers = { "Content-Type": "application/json", "Authorization": f"Bearer {openai_api_key}" } payload = { "model": "gpt-4-1106-preview", "messages": [{"role": "system", "content": narration_prompt}], "temperature": temperature, "top_p": top_p, "n": 1, "max_tokens": 1000 } response = requests.post(API_URL, headers=headers, json=payload) if response.status_code == 200: response_data = response.json() generated_text = response_data['choices'][0]['message']['content'] return generated_text else: return "Error: Unable to generate response." def generate_prompts(script): # 스크립트의 각 줄을 영어로 번역하여 프롬프트 생성 lines = script.split('\n') translated_prompts = [translate_text(line) for line in lines if line.strip() != ''] return "\n".join(translated_prompts) with gr.Blocks() as demo: gr.Markdown("