Hyeonseo's picture
Update app.py
2b1ed3a
raw
history blame
2.15 kB
import gradio as gr
import subprocess
import openai
import time
import re
def translate(text_input, openapi_key):
openai.api_key = openapi_key
text_list = text_input.split('\n')[8:]
print(text_list)
reply = []
for i in range(0,len(text_list)+9,10):
content = """What do these sentences about Hugging Face Transformers (a machine learning library) mean in Korean? Please do not translate the word after a πŸ€— emoji as it is a product name. Please ignore the video and image and translate only the sentences I provided. Ignore the contents of the iframe tag.
```md
%s"""%'\n'.join(text_list[i:i+10])
chat = openai.ChatCompletion.create(
model = "gpt-3.5-turbo-0301", messages=[
{"role": "system",
"content": content},])
print("질문")
print(content)
print("응닡")
print(chat.choices[0].message.content)
reply.append(chat.choices[0].message.content)
time.sleep(20)
return reply
inputs = [
gr.inputs.Textbox(lines=2, label="Input Open API Key"),
gr.inputs.File(label="Upload MDX File")
]
outputs = gr.outputs.Textbox(label="Translation")
def translate_with_upload(text, file):
openapi_key = text
if file is not None:
text_input = file.read().decode('utf-8')
# ν…μŠ€νŠΈμ—μ„œ μ½”λ“œ 블둝을 μ œκ±°ν•©λ‹ˆλ‹€.
text_input = re.sub(r'```.*?```', '', text_input, flags=re.DOTALL)
text_input = re.sub(r'^\|.*\|$\n?', '', text_input, flags=re.MULTILINE)
# ν…μŠ€νŠΈμ—μ„œ 빈 쀄을 μ œκ±°ν•©λ‹ˆλ‹€.
text_input = re.sub(r'^\n', '', text_input, flags=re.MULTILINE)
text_input = re.sub(r'\n\n+', '\n\n', text_input)
else:
text_input = ""
return translate(text_input, openapi_key)
prompt_translate = gr.Interface(
fn=translate_with_upload,
inputs=inputs,
outputs=outputs,
title="ChatGPT Korean Prompt Translation",
description="Translate your text into Korean using the GPT-3 model."
)
prompt_translate.launch()