ll7098ll commited on
Commit
cd1c3dd
·
verified ·
1 Parent(s): 4da43c5

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +35 -31
app.py CHANGED
@@ -416,44 +416,51 @@ if 'sell_confirm' not in st.session_state:
416
  if 'difficulty_level' not in st.session_state:
417
  st.session_state['difficulty_level'] = "초등학생" # 기본 난이도 설정
418
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
419
  # --- 뉴스 생성 함수 ---
420
  def generate_news():
421
  day_count = st.session_state["day_count"]
422
  difficulty_level = st.session_state['difficulty_level']
423
 
424
- difficulty_prompt_map = {
425
- "초등학생": {
426
- "level_desc": "초등학생 5~6학년 수준",
427
- "sentence_count": "10~12", # 초등학생 수준 문장 수 조정
428
- "vocabulary_level": "쉬운 어휘와 짧은 문장", # 초등학생 수준 어휘 강조
429
- "inference_level": "단순하고 명확한 정보", # 초등학생 수준 추론 정보 강조
430
- },
431
- "중학생": {
432
- "level_desc": "중학생 1~3학년 수준",
433
- "sentence_count": "12~15", # 중학생 수준 문장 수
434
- "vocabulary_level": "일상적인 어휘와 약간의 전문 용어", # 중학생 수준 어휘
435
- "inference_level": "일반적인 경제 흐름과 관련된 추론", # 중학생 수준 추론
436
- },
437
- "고등학생": {
438
- "level_desc": "고등학생 1~3학년 수준",
439
- "sentence_count": "15~20", # 고등학생 수준 문장 수 증가
440
- "vocabulary_level": "다양한 어휘와 경제 전문 용어 포함", # 고등학생 수준 어휘
441
- "inference_level": "심층적인 경제 분석 및 다각적인 추론", # 고등학생 수준 심층 추론
442
- },
443
- }
444
-
445
  level_config = difficulty_prompt_map.get(difficulty_level, difficulty_prompt_map["초등학생"]) # 기본값 초등학생
446
 
447
- level_prompt = level_config["level_desc"]
448
  sentence_count = level_config["sentence_count"]
449
  vocabulary_level = level_config["vocabulary_level"]
450
  inference_level = level_config["inference_level"]
 
451
 
452
  prompt = f"""
453
  지시:
454
- {level_prompt}에 맞춰서, 주식 시장과 경제에 관련된 뉴스 기사 5개를 생성해주세요.
455
  각 기사는 {sentence_count}문장 정도로 작성하고, {vocabulary_level}를 사용하여 학생들이 이해하기 쉬워야 합니다.
456
- 학생들이 뉴스를 읽고 {inference_level} 수준에서 어떤 회사가 유망할지 또는 쇠락할지 스스로 추론할 수 있도록 일반적인 경제 상황이나 산업 동향에 대한 뉴스를 만들어주세요.
457
  특정 회사 이름이나 주식 종목을 직접적으로 언급하지 마세요.
458
  긍정적 뉴스, 부정적 뉴스, 중립적 뉴스 다양하게 생성하세요.(긍정, 부정, 중립 이라는 말은 표시하지 마세요.)
459
  뉴스에 따라 주식이 상승하기도 하고 하락하기도 할 수 있습니다.
@@ -492,12 +499,9 @@ def explain_daily_news_meanings(daily_news):
492
  return {}
493
 
494
  difficulty_level = st.session_state['difficulty_level']
495
- difficulty_prompt_map = {
496
- "초등학생": "초등학생 5~6학년",
497
- "중학생": "중학생 1~3학년",
498
- "고등학생": "고등학생 1~3학년",
499
- }
500
- level_prompt = difficulty_prompt_map.get(difficulty_level, "초등학생 5~6학년") # 기본값 초등학생
501
 
502
  meanings = {}
503
  for i, news_article in enumerate(daily_news):
@@ -506,7 +510,7 @@ def explain_daily_news_meanings(daily_news):
506
  {news_article}
507
 
508
  **지시:**
509
- 위 신문 기사의 핵심 의미를 {level_prompt}이 이해하기 쉽게 3문장 이내로 요약해서 "해설: " 다음에 설명해주세요.
510
  그리고 이 뉴스와 관련된 주식 섹터 1~2개를 쉼표로 구분해서 "관련 섹터: " 다음에 알려주세요. 관련 섹터가 없다면 "관련 섹터: 없음" 이라고 해주세요.
511
 
512
  뉴스 의미 해설:
 
416
  if 'difficulty_level' not in st.session_state:
417
  st.session_state['difficulty_level'] = "초등학생" # 기본 난이도 설정
418
 
419
+ # --- 뉴스 난이도별 설정 ---
420
+ difficulty_prompt_map = {
421
+ "초등학생": {
422
+ "level_desc": "초등학생 5~6학년 수준",
423
+ "sentence_count": "8~10", # 더 짧은 문장
424
+ "vocabulary_level": "아주 쉬운 어휘와 짧고 명확한 문장 사용", # 더 쉬운 어휘 강조
425
+ "inference_level": "매우 단순하고 직관적인 정보", # 더 단순한 추론
426
+ "news_prompt_instructions": "단순한 경제 상황, 쉬운 단어, 짧은 문장, 명확한 정보 위주로 작성. 복잡한 경제 용어, 전문 용어, 추상적인 개념 사용 금지.", # 초등학생용 뉴스 생성 지침 추가
427
+ "explanation_prompt_instructions": "핵심 용어, 쉬운 비유 사용, 짧고 명확한 설명, 3문장 이내 요약", # 초등학생용 해설 지침 추가
428
+ },
429
+ "중학생": {
430
+ "level_desc": "중학생 1~3학년 수준",
431
+ "sentence_count": "12~15",
432
+ "vocabulary_level": "일상적인 어휘와 기본적인 경제 용어 포함", # 중학생 수준 어휘
433
+ "inference_level": "일반적인 경제 흐름과 관련된 추론",
434
+ "news_prompt_instructions": "일상적인 경제 뉴스, 쉬운 경제 용어, 적절한 문장 길이, 일반적인 경제 흐름과 관련, 약간의 추론 필요", # 중학생용 뉴스 생성 지침
435
+ "explanation_prompt_instructions": "기본 경제 용어 설명, 경제 개념 쉬운 풀이, 3~4문장 요약", # 중학생용 해설 지침
436
+ },
437
+ "고등학생": {
438
+ "level_desc": "고등학생 1~3학년 수준",
439
+ "sentence_count": "15~20", # 고등학생 수준 문장 수 증가
440
+ "vocabulary_level": "다양한 어휘와 경제 전문 용어 적극 사용", # 고등학생 수준 어휘
441
+ "inference_level": "심층적인 경제 분석 및 다각적인 추론 요구", # 고등학생 수준 심층 추론
442
+ "news_prompt_instructions": "심층 경제 뉴스, 경제 전문 용어 적극 사용, 긴 문장, 복잡한 구문, 산업 동향, 경제 정책, 국제 경제, 다각적인 분석과 심층 추론 필요", # 고등학생용 뉴스 생성 지침
443
+ "explanation_prompt_instructions": "전문 경제 용어 해설 포함, 심층적인 경제 분석, 5문장 내외 요약, 다양한 관점 제시", # 고등학생용 해설 지침
444
+ },
445
+ }
446
+
447
  # --- 뉴스 생성 함수 ---
448
  def generate_news():
449
  day_count = st.session_state["day_count"]
450
  difficulty_level = st.session_state['difficulty_level']
451
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
452
  level_config = difficulty_prompt_map.get(difficulty_level, difficulty_prompt_map["초등학생"]) # 기본값 초등학생
453
 
 
454
  sentence_count = level_config["sentence_count"]
455
  vocabulary_level = level_config["vocabulary_level"]
456
  inference_level = level_config["inference_level"]
457
+ news_prompt_instructions = level_config["news_prompt_instructions"] # 난이도별 뉴스 생성 지침 추가
458
 
459
  prompt = f"""
460
  지시:
461
+ {level_config["level_desc"]}에 맞춰서, 주식 시장과 경제에 관련된 뉴스 기사 5개를 생성해주세요.
462
  각 기사는 {sentence_count}문장 정도로 작성하고, {vocabulary_level}를 사용하여 학생들이 이해하기 쉬워야 합니다.
463
+ 학생들이 뉴스를 읽고 {inference_level} 수준에서 ��떤 회사가 유망할지 또는 쇠락할지 스스로 추론할 수 있도록 {news_prompt_instructions}
464
  특정 회사 이름이나 주식 종목을 직접적으로 언급하지 마세요.
465
  긍정적 뉴스, 부정적 뉴스, 중립적 뉴스 다양하게 생성하세요.(긍정, 부정, 중립 이라는 말은 표시하지 마세요.)
466
  뉴스에 따라 주식이 상승하기도 하고 하락하기도 할 수 있습니다.
 
499
  return {}
500
 
501
  difficulty_level = st.session_state['difficulty_level']
502
+ level_config = difficulty_prompt_map.get(difficulty_level, difficulty_prompt_map["초등학생"]) # 기본값 초등학생
503
+ explanation_prompt_instructions = level_config["explanation_prompt_instructions"] # 난이도별 해설 지침 추가
504
+
 
 
 
505
 
506
  meanings = {}
507
  for i, news_article in enumerate(daily_news):
 
510
  {news_article}
511
 
512
  **지시:**
513
+ 위 신문 기사의 핵심 의미를 {level_config["level_desc"]}이 이해하기 쉽게 {explanation_prompt_instructions}해서 "해설: " 다음에 설명해주세요.
514
  그리고 이 뉴스와 관련된 주식 섹터 1~2개를 쉼표로 구분해서 "관련 섹터: " 다음에 알려주세요. 관련 섹터가 없다면 "관련 섹터: 없음" 이라고 해주세요.
515
 
516
  뉴스 의미 해설: