JUNGU commited on
Commit
90937ae
Β·
verified Β·
1 Parent(s): fd4dd5b

Update src/streamlit_app.py

Browse files
Files changed (1) hide show
  1. src/streamlit_app.py +20 -16
src/streamlit_app.py CHANGED
@@ -24,6 +24,26 @@ TMP_DIR = "/tmp"
24
  SAVED_ARTICLES_PATH = os.path.join(TMP_DIR, "saved_articles.json")
25
  SCHEDULED_NEWS_DIR = os.path.join(TMP_DIR, "scheduled_news")
26
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
27
  # μ›Œλ“œν΄λΌμš°λ“œ μΆ”κ°€
28
  try:
29
  from wordcloud import WordCloud
@@ -61,22 +81,6 @@ if st.session_state.openai_api_key is None:
61
  load_dotenv() # 둜컬 .env 파일
62
  st.session_state.openai_api_key = os.getenv('OPENAI_API_KEY')
63
 
64
- # ν•„μš”ν•œ NLTK 데이터 λ‹€μš΄λ‘œλ“œ
65
- try:
66
- nltk.data.find('tokenizers/punkt')
67
- except LookupError:
68
- nltk.download('punkt')
69
-
70
- try:
71
- nltk.data.find('tokenizers/punkt_tab')
72
- except LookupError:
73
- nltk.download('punkt_tab')
74
-
75
- try:
76
- nltk.data.find('corpora/stopwords')
77
- except LookupError:
78
- nltk.download('stopwords')
79
-
80
  # OpenAI API ν‚€ μ„€μ •
81
  # openai.api_key 섀정은 각 API 호좜 직전에 st.session_state.openai_api_key μ‚¬μš©ν•˜λ„λ‘ λ³€κ²½ν•˜κ±°λ‚˜,
82
  # μ•± μ‹œμž‘ μ‹œμ μ— ν•œ 번 μ„€μ •ν•©λ‹ˆλ‹€. μ—¬κΈ°μ„œλŠ” ν›„μžλ₯Ό μ„ νƒν•©λ‹ˆλ‹€.
 
24
  SAVED_ARTICLES_PATH = os.path.join(TMP_DIR, "saved_articles.json")
25
  SCHEDULED_NEWS_DIR = os.path.join(TMP_DIR, "scheduled_news")
26
 
27
+ # NLTK 데이터 경둜 μ„€μ • (ν˜„μž¬ 디렉토리)
28
+ NLTK_DATA_DIR = "nltk_data"
29
+
30
+ # NLTK 데이터 경둜 μΆ”κ°€
31
+ nltk.data.path.insert(0, NLTK_DATA_DIR)
32
+
33
+ # ν•„μš”ν•œ NLTK 데이터 확인
34
+ required_nltk_data = {
35
+ 'punkt': 'tokenizers/punkt',
36
+ 'stopwords': 'corpora/stopwords'
37
+ }
38
+
39
+ for data_name, data_path in required_nltk_data.items():
40
+ try:
41
+ nltk.data.find(data_path)
42
+ except LookupError:
43
+ st.error(f"NLTK 데이터 '{data_name}'κ°€ ν•„μš”ν•©λ‹ˆλ‹€. λ‹€μŒ λͺ…λ Ήμ–΄λ‘œ λ‹€μš΄λ‘œλ“œν•˜μ„Έμš”:")
44
+ st.code(f"python -c \"import nltk; nltk.download('{data_name}', download_dir='nltk_data')\"")
45
+ st.stop()
46
+
47
  # μ›Œλ“œν΄λΌμš°λ“œ μΆ”κ°€
48
  try:
49
  from wordcloud import WordCloud
 
81
  load_dotenv() # 둜컬 .env 파일
82
  st.session_state.openai_api_key = os.getenv('OPENAI_API_KEY')
83
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
84
  # OpenAI API ν‚€ μ„€μ •
85
  # openai.api_key 섀정은 각 API 호좜 직전에 st.session_state.openai_api_key μ‚¬μš©ν•˜λ„λ‘ λ³€κ²½ν•˜κ±°λ‚˜,
86
  # μ•± μ‹œμž‘ μ‹œμ μ— ν•œ 번 μ„€μ •ν•©λ‹ˆλ‹€. μ—¬κΈ°μ„œλŠ” ν›„μžλ₯Ό μ„ νƒν•©λ‹ˆλ‹€.