Spaces:
Sleeping
Sleeping
Update src/streamlit_app.py
Browse files- 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 |
# μ± μμ μμ μ ν λ² μ€μ ν©λλ€. μ¬κΈ°μλ νμλ₯Ό μ νν©λλ€.
|