aliceblue11 commited on
Commit
4896bd4
·
verified ·
1 Parent(s): 766bb5b

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +22 -24
app.py CHANGED
@@ -1,36 +1,34 @@
1
  import gradio as gr
2
- from huggingface_hub import InferenceClient
3
- import os
4
 
5
- # Cohere Command R+ 모델 ID 정의
6
- COHERE_MODEL = "CohereForAI/c4ai-command-r-plus-08-2024"
 
 
7
 
8
- def get_client():
9
- """
10
- Cohere Command R+ 모델을 위한 InferenceClient 생성.
11
- 토큰은 환경 변수에서 가져옴.
12
- """
13
- hf_token = os.getenv("HF_TOKEN")
14
- if not hf_token:
15
- raise ValueError("HuggingFace API 토큰이 필요합니다.")
16
- return InferenceClient(COHERE_MODEL, token=hf_token)
17
 
18
  def translate_text(text, source_lang, target_lang):
19
  """
20
  텍스트를 번역하는 함수.
21
  """
22
  try:
23
- client = get_client()
24
- # 프롬프트를 단순화하여 번역만 수행하도록 지시
25
- prompt = f"Translate the following text from {source_lang} to {target_lang}: '{text}'. Do not add any extra explanations."
26
- response = client.text_generation(
27
- prompt,
28
- max_new_tokens=50, # 불필요한 텍스트 생성을 방지하기 위해 토큰 수 제한
29
- temperature=0.3, # 창의성을 낮춰 정확한 번역 유도
30
- top_p=0.9 # 높은 확률의 단어만 선택하도록 설정
31
- )
32
- # 번역 결과에서 불필요한 부분 제거
33
- return response.strip().split("\n")[0] # 첫 번째 줄만 반환
 
 
34
  except Exception as e:
35
  return f"오류가 발생했습니다: {str(e)}"
36
 
 
1
  import gradio as gr
2
+ from transformers import MarianMTModel, MarianTokenizer
 
3
 
4
+ # 한국어 -> 영어 모델 로드
5
+ model_name_ko_en = "Helsinki-NLP/opus-mt-ko-en"
6
+ tokenizer_ko_en = MarianTokenizer.from_pretrained(model_name_ko_en)
7
+ model_ko_en = MarianMTModel.from_pretrained(model_name_ko_en)
8
 
9
+ # 영어 -> 한국어 모델 로드
10
+ model_name_en_ko = "Helsinki-NLP/opus-mt-en-ko"
11
+ tokenizer_en_ko = MarianTokenizer.from_pretrained(model_name_en_ko)
12
+ model_en_ko = MarianMTModel.from_pretrained(model_name_en_ko)
 
 
 
 
 
13
 
14
  def translate_text(text, source_lang, target_lang):
15
  """
16
  텍스트를 번역하는 함수.
17
  """
18
  try:
19
+ if source_lang == "한국어" and target_lang == "영어":
20
+ # 한국어 -> 영어 번역
21
+ tokenized = tokenizer_ko_en(text, return_tensors="pt", padding=True)
22
+ translated = model_ko_en.generate(**tokenized)
23
+ result = tokenizer_ko_en.decode(translated[0], skip_special_tokens=True)
24
+ elif source_lang == "영어" and target_lang == "한국어":
25
+ # 영어 -> 한국어 번역
26
+ tokenized = tokenizer_en_ko(text, return_tensors="pt", padding=True)
27
+ translated = model_en_ko.generate(**tokenized)
28
+ result = tokenizer_en_ko.decode(translated[0], skip_special_tokens=True)
29
+ else:
30
+ return "지원하지 않는 언어 조합입니다."
31
+ return result
32
  except Exception as e:
33
  return f"오류가 발생했습니다: {str(e)}"
34