File size: 2,140 Bytes
e716c34
9a63602
86c1307
9a63602
5fa1a6d
e716c34
9a63602
86c1307
9a63602
5fa1a6d
c00d819
5f3cbcc
9a63602
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5f3cbcc
b8d88fa
9a63602
b8d88fa
 
 
 
 
 
9a63602
 
 
b8d88fa
5fa1a6d
 
 
 
 
 
 
 
 
9a63602
 
e716c34
 
b8d88fa
 
 
 
 
e716c34
 
 
b8d88fa
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
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)
        
    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.",
    theme="compact"
)

prompt_translate.launch()