File size: 2,153 Bytes
e716c34
9a63602
86c1307
9a63602
5fa1a6d
e716c34
9a63602
86c1307
9a63602
5fa1a6d
c00d819
5f3cbcc
9a63602
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5f3cbcc
b8d88fa
9a63602
b8d88fa
 
 
68bfe6f
b8d88fa
 
9a63602
 
 
b8d88fa
5fa1a6d
 
 
 
 
 
 
 
 
8127acc
 
9a63602
 
e716c34
 
b8d88fa
 
 
 
2b1ed3a
e716c34
 
599aee6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
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()