mimic12 commited on
Commit
aac2256
·
1 Parent(s): 90879b3

Update application file

Browse files
Files changed (2) hide show
  1. app.py +48 -7
  2. requirements.txt +2 -0
app.py CHANGED
@@ -1,12 +1,53 @@
1
  import gradio as gr
2
  from transformers import pipeline
3
 
4
- generator = pipeline("text-generation", model="gpt2")
 
 
5
 
6
- def generate_text(prompt):
7
- return generator(prompt, max_new_tokens=50)[0]["generated_text"]
8
 
9
- gr.Interface(fn=generate_text,
10
- inputs=gr.Textbox(label="프롬프트 입력"),
11
- outputs="text",
12
- title="GPT-2 텍스트 생성기").launch()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  import gradio as gr
2
  from transformers import pipeline
3
 
4
+ # 3. 번역 파이프라인 생성
5
+ print("한국어->영어 번역 모델(NHNDQ/nllb-finetuned-ko2en)을 로딩합니다...")
6
+ ko_to_en_translator = pipeline('translation', model='NHNDQ/nllb-finetuned-ko2en')
7
 
8
+ print("영어->한국어 번역 모델(NHNDQ/nllb-finetuned-en2ko)을 로딩합니다...")
9
+ en_to_ko_translator = pipeline('translation', model='NHNDQ/nllb-finetuned-en2ko')
10
 
11
+ print("\n모든 모델 로딩 완료!")
12
+
13
+ # 4. 번역을 수행하는 메인 함수 정의
14
+ def translate_text(text, direction):
15
+ """
16
+ 선택된 번역 방향에 따라 적절한 NLLB 파이프라인을 사용하여 텍스트를 번역합니다.
17
+ """
18
+ try:
19
+ # 입력 텍스트가 비어있는 경우, 빈 문자열 반환
20
+ if not text.strip():
21
+ return ""
22
+
23
+ if direction == "한국어 → 영어":
24
+ # [수정] src_lang과 tgt_lang을 명시적으로 지정합니다.
25
+ result = ko_to_en_translator(text, src_lang="kor_Hang", tgt_lang="eng_Latn")
26
+ else: # "영어 → 한국어"
27
+ # [수정] src_lang과 tgt_lang을 명시적으로 지정합니다.
28
+ result = en_to_ko_translator(text, src_lang="eng_Latn", tgt_lang="kor_Hang")
29
+
30
+ # 파이프라인 결과는 리스트 안의 딕셔너리 형태 [{'translation_text': '...'}] 입니다.
31
+ return result[0]['translation_text']
32
+ except Exception as e:
33
+ return f"번역 중 오류가 발생했습니다: {e}"
34
+
35
+ # 5. Gradio 인터페이스 생성 및 실행
36
+ demo = gr.Interface(
37
+ fn=translate_text,
38
+ inputs=[
39
+ gr.Textbox(lines=7, label="입력 텍스트", placeholder="번역할 내용을 입력하세요..."),
40
+ gr.Radio(
41
+ choices=["한국어 → 영어", "영어 → 한국어"],
42
+ value="한국어 → 영어",
43
+ label="번역 방향 선택"
44
+ )
45
+ ],
46
+ outputs=gr.Textbox(lines=7, label="번역 결과"),
47
+ title="NHN NLLB 기반 한국어-영어 번역기 🇰🇷↔️🇬🇧",
48
+ description="NHN의 NLLB 미세 조정 모델을 사용합니다. 번역할 내용과 방향을 선택해 주세요.",
49
+ allow_flagging="never"
50
+ )
51
+
52
+ # Colab에서 외부 공유 링크를 생성하기 위해 share=True 옵션 사용
53
+ demo.launch(share=True)
requirements.txt CHANGED
@@ -1,3 +1,5 @@
1
  gradio
2
  transformers
3
  torch
 
 
 
1
  gradio
2
  transformers
3
  torch
4
+ sentencepiece
5
+ accelerate