Copycats's picture
init
1f2c7d3
raw
history blame
9.29 kB
import streamlit as st
import torch
from transformers import PreTrainedTokenizerFast
from transformers import BartForConditionalGeneration
@st.cache(allow_output_mutation=True)
def get_model(model_path):
tokenizer = PreTrainedTokenizerFast.from_pretrained(model_path)
model = BartForConditionalGeneration.from_pretrained(model_path)
return tokenizer, model
def summarize(text):
input_ids = tokenizer.encode(text, return_tensors="pt")
# Generate Summary Text Ids
summary_text_ids = model.generate(
input_ids=input_ids,
bos_token_id=model.config.bos_token_id,
eos_token_id=model.config.eos_token_id,
length_penalty=2.0,
max_length=128,
min_length=56,
num_beams=4,
)
# Decoding Text
summarized_text = tokenizer.decode(summary_text_ids[0], skip_special_tokens=True)
return summarized_text
# Load tokenizer, model
tokenizer, model = get_model('ainize/kobart-news')
## Title
st.title('โ˜๏ธ Bespin โ†’ TextSummarization')
# Text Input
st.subheader('Summarize!')
context_option = st.selectbox('๐Ÿ“Œ Select Example or Enter Your Input.',
(
'''๋ฒ ์Šคํ•€๊ธ€๋กœ๋ฒŒ(๋Œ€ํ‘œ ์ดํ•œ์ฃผ)์€ ๊ณต๊ณต ํด๋ผ์šฐ๋“œ ์šด์˜, ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ ์ž๋™ํ™” ์†”๋ฃจ์…˜ ์˜ต์Šค๋‚˜์šฐ-G(OpsNow-G) ์„œ๋น„์Šค๋ฅผ ์ถœ์‹œํ–ˆ๋‹ค๊ณ  30์ผ ๋ฐํ˜”๋‹ค.\n\n์ด๋ฒˆ ์˜ต์Šค๋‚˜์šฐ-G ์„œ๋น„์Šค ์ถœ์‹œ๋กœ ์˜ต์Šค๋‚˜์šฐ๋Š” ๊ตญ๋‚ด์—์„œ ์œ ์ผํ•˜๊ฒŒ ๋„ค์ด๋ฒ„ํด๋ผ์šฐ๋“œ, NHNํด๋ผ์šฐ๋“œ, KTํด๋ผ์šฐ๋“œ๋ฅผ ๋ชจ๋‘ ์ง€์›ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋‹ค.\n\n๊ณ ๊ฐ์นœํ™”์ ์œผ๋กœ ์‹œ๊ฐ„ ๋ฐ ์žฅ์†Œ์— ๊ตฌ์• ๋ฐ›์ง€ ์•Š๊ณ  ์ฑ„ํŒ…๊ณผ ์„œ๋น„์Šค ์‹ ์ฒญ์„œ๋ฅผ ํ†ตํ•ด ๊ธฐ์ˆ  ์ง€์›์„ ์š”์ฒญํ•  ์ˆ˜ ์žˆ์–ด, ๊ณต๊ณต๊ธฐ๊ด€ ์‚ฌ์šฉ์ž๊ฐ€ ์˜ต์Šค๋‚˜์šฐ-G ๋ฅผ ํ†ตํ•˜์—ฌ ์–ด๋ ต์ง€ ์•Š๊ฒŒ ํด๋ผ์šฐ๋“œ๋ฅผ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋•๋Š”๋‹ค.\n์ถ”๊ฐ€์ ์œผ๋กœ ์ „๋ฐ˜์ ์ธ ํด๋ผ์šฐ๋“œ ๊ด€๋ จ ๊ธฐ์ˆ ๊ณผ ํ™œ์šฉ์— ๋Œ€ํ•œ ๋ฒ ์Šคํ•€๊ธ€๋กœ๋ฒŒ์˜ ์ „๋ฌธ์ ์ธ ๋„์›€๊นŒ์ง€๋„ ์‰ฝ๊ณ  ๊ฐ„ํŽธํ•˜๊ฒŒ ์š”์ฒญํ•  ์ˆ˜ ์žˆ๋‹ค.\n\n๋ฒ ์Šคํ•€๊ธ€๋กœ๋ฒŒ์˜ ๋ฉ€ํ‹ฐ ํด๋ผ์šฐ๋“œ ์šด์˜โˆ™๊ด€๋ฆฌ ํ”Œ๋žซํผ ์˜ต์Šค๋‚˜์šฐ(OpsNow)๋Š” ๊ตญ๋‚ด ์œ ์ผ์˜ SaaSํ˜•ํƒœ๋กœ ์ œ๊ณต๋˜๋Š” ๋ฉ€ํ‹ฐ ํด๋ผ์šฐ๋“œ ์ „๋ฌธ ์†”๋ฃจ์…˜์œผ๋กœ โ–ฒํด๋ผ์šฐ๋“œ ๋น„์šฉ ๋ฐ ์ž์› ๊ด€๋ฆฌ โ–ฒํด๋ผ์šฐํ•€๊ธ€๋กœ๋ฒŒ์˜ ๋ฉ€ํ‹ฐ ํด๋ผ์šฐ๋“œ ์šด์˜โˆ™๊ด€๋ฆฌ ํ”Œ๋žซํผ ์˜ต์Šค๋‚˜์šฐ(OpsNow)๋Š” ๊ตญ๋‚ด ์œ ์ผ์˜ SaaSํ˜•ํƒœ๋กœ ์ œ๊ณต๋˜๋Š” ๋ฉ€ํ‹ฐ ํด๋ผ์šฐ๋“œ ์ „๋ฌธ ์†”๋ฃจ์…˜์œ•์ ์œผ๋กœ ์ง€์›ํ•œ๋‹ค.''',
'''๊ตฌ๊ธ€ ํด๋ผ์šฐ๋“œ๋Š” ์นด์นด์˜ค์˜ ์ธ๊ณต์ง€๋Šฅ(AI) ์—ฐ๊ตฌ ์žํšŒ์‚ฌ ์นด์นด์˜ค๋ธŒ๋ ˆ์ธ์ด ๊ตฌ๊ธ€ ํด๋ผ์šฐ๋“œ์˜ ๋งž์ถคํ˜• ๋จธ์‹ ๋Ÿฌ๋‹ ํ•˜๋“œ์›จ์–ด(ASIC) \'ํด๋ผ์šฐ๋“œ TPU(Tensor Processing Unit)\'๋ฅผ ๋„์ž…ํ•ด ์ดˆ๊ฑฐ๋Œ€ AI ์–ธ์–ด ๋ชจ๋ธ \'KoGPT\'์˜ ์—ฐ๊ตฌ๊ฐœ๋ฐœ ์—ญ๋Ÿ‰์„ ๊ฐ•ํ™”ํ–ˆ๋‹ค๊ณ  26์ผ ๋ฐํ˜”๋‹ค. \n\nKoGPT๋Š” ๋ฏธ๊ตญ์˜ AI ์—ฐ๊ตฌ๊ธฐ๊ด€ ์˜คํ”ˆAI(OpenAI)๊ฐ€ ๊ฐœ๋ฐœํ•œ ๋”ฅ๋Ÿฌ๋‹ ๊ธฐ๋ฐ˜ ์ž์—ฐ์–ด์ฒ˜๋ฆฌ(NLP) AI ๋ชจ๋ธ \'GPT-3\'์˜ ํ•œ๊ตญ์–ด ํŠนํ™” ๋ฒ„์ „์œผ๋กœ, ์นด์นด์˜ค๋ธŒ๋ ˆ์ธ์€ ์ตœ๊ทผ ์˜คํ”ˆ์†Œ์Šค ์ปค๋ฎค๋‹ˆํ‹ฐ ๊นƒํ—ˆ๋ธŒ(GitHub)์— KoGPT๋ฅผ ๊ณต๊ฐœํ–ˆ๋‹ค. \n\nKoGPT ๋ชจ๋ธ์„ ํ•™์Šต์‹œํ‚ค๋Š” ๋ฐ์—๋Š” ์ˆ˜์‹ญ์–ต ์ด์ƒ์˜ ๋ฐ์ดํ„ฐ์™€ ๋ชจ๋ธ ํŒŒ๋ผ๋ฏธํ„ฐ(Parameter; ๋งค๊ฐœ๋ณ€์ˆ˜)๊ฐ€ ํ™œ์šฉ๋๋‹ค. ์นด์นด์˜ค๋ธŒ๋ ˆ์ธ์€ ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ ๋ฐ ๋ชจ๋ธ ํ•™์Šต์— ์ ํ•ฉํ•œ ๋ฆฌ์†Œ์Šค๋ฅผ ํ™•๋ณดํ•˜๊ธฐ ์œ„ํ•ด ๊ธฐ์กด์˜ GPU ์„œ๋ฒ„ ํ™˜๊ฒฝ์— ํด๋ผ์šฐ๋“œ TPU๋ฅผ ์ถ”๊ฐ€๋กœ ๋„์ž…ํ–ˆ๋‹ค.\n\n์นด์นด์˜ค๋ธŒ๋ ˆ์ธ์€ ๊ตฌ๊ธ€์—์„œ ๊ฐœ๋ฐœํ•œ ํ…์„œ ์ฒ˜๋ฆฌ ์žฅ์น˜์ธ \'๊ตฌ๊ธ€ TPU\'๋ฅผ ํ™œ์šฉํ•ด 1์—‘์‚ฌ ํ”Œ๋กญ์Šค(์ปดํ“จํ„ฐ์˜ ์—ฐ์‚ฐ ์†๋„ ๋‹จ์œ„/์ดˆ๋‹น 100๊ฒฝ ์—ฐ์‚ฐ์ฒ˜๋ฆฌ)๋ฅผ ๋›ฐ์–ด๋„˜๋Š” ๊ตญ๋‚ด ์ตœ๋Œ€ ๊ทœ๋ชจ์˜ ๋”ฅ๋Ÿฌ๋‹ ์Šˆํผ์ปดํ“จํŒ… ์ธํ”„๋ผ๋ฅผ ๋„์ž…ํ•ด \'KoGPT\'์— ์ ์šฉํ•œ AI ์—ฐ๊ตฌ ํšจ์œจ์„ ๊ธฐ์กด ๋Œ€๋น„ 100๋ฐฐ ์ด์ƒ ๋†’์ธ๋‹ค๋Š” ๋ชฉํ‘œ๋‹ค.\n\n\'๊ตฌ๊ธ€ TPU\'๋Š” ๊ตฌ๊ธ€ ํด๋ผ์šฐ๋“œ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋Œ€์šฉ๋Ÿ‰ ์—ฐ์‚ฐ ์ธํ”„๋ผ๊ธ€ TPU\'๋Š” ๊ตฌ๊ธ€ ํด๋ผ์šฐ๋“œ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋Œ€์šฉ๋Ÿ‰ ์—ฐ์‚ฐ ์ธํ”„๋ผ๊ธ€ TPU\'๋Š” ๊ตฌ๊ธ€ ํด๋ผ์šฐ๋“œ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋Œ€์šฉ๋Ÿ‰ ์—ฐ์‚ฐ ์ธํ”„๋ผ๊ธ€ TPU\'๋Š” ๊ตฌ๊ธ€ ํด๋ผ์šฐ๋“œ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋Œ€์šฉ๋Ÿ„ ๊ฐ–์ถ˜ ์ƒ์œ„ ์‹œ์Šคํ…œ์„ ์Šˆํผ์ปดํ“จํ„ฐ ํ•œ ๋Œ€์— ๊ตฌ์ถ•ํ•ด ํ™œ์šฉํ•œ๋‹ค.\n\nํด๋ผ์šฐ๋“œ TPU๋Š” ํŒŸ(Pod) ๋‹จ์œ„๋กœ ํ• ๋‹น ๋ฐ ๊ด€๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋ฉฐ ์ตœ์†Œํ•œ์˜ ์ฝ”๋“œ ๋ณ€๊ฒฝ์œผ๋กœ ์ตœ๋Œ€ 2์ฒœ48๊ฐœ์˜ ์—ฐ์‚ฐ ๋…ธ๋“œ๊นŒ์ง€ ์†์‰ฝ๊ฒŒ ํ™•์žฅํ•  ์ˆ˜ ์žˆ๋‹ค. ๋˜ํ•œ ๋ณ„๋„์˜ ์ธํ”„๋ผ๋ฅผ ์„ค์น˜ํ•  ํ•„์š” ์—†์ด ํผ๋ธ”๋ฆญ ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ์—์„œ ๋ชจ๋“  ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— KoGPT์˜ ๊ฐœ๋ฐœ ์‹œ๊ฐ„๊ณผ ๋น„์šฉ์„ ๋™์‹œ์— ์ ˆ๊ฐํ•  ์ˆ˜ ์žˆ๋‹ค.\n\n๋†’์€ ์—ฐ์‚ฐ ์ฒ˜๋ฆฌ ์„ฑ๋Šฅ์œผ๋กœ AI ์—ฐ๊ตฌ๋ชจ๋ธ ์—ฐ์‚ฐ ์†๋„๋ฅผ ํš๊ธฐ์ ์œผ๋กœ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ๊ณ , ํด๋ผ์šฐ๋“œ ๋ฐฉ์‹์„ ํ™œ์šฉํ•จ์œผ๋กœ์จ ๋‹ค์ˆ˜์˜ ์—ฐ๊ตฌ์ž๋“ค์ด ์œ ์—ฐํ•˜๊ฒŒ ์‹œ์Šคํ…œ์— ์ ‘์†/์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•ด ์—ฐ๊ตฌ ํšจ์œจ์„ ๋†’์ผ ๊ฒƒ์œผ๋กœ ๊ธฐ๋Œ€๋œ๋‹ค.\n\n๊น€์ผ๋‘ ์นด์นด์˜ค๋ธŒ๋ ˆ์ธ ๋Œ€ํ‘œ๋Š” "๊ตฌ๊ธ€ ํด๋ผ์šฐ๋“œ์—์„œ ์ œ๊ณตํ•˜๋Š” ํด๋ผ์šฐ๋“œ TPU๋Š” ๋”ฅ๋Ÿฌ๋‹์— ์ตœ์ ํ™”๋˜์–ด ์žˆ์–ด ์งง์€ ๊ธฐ๊ฐ„ ์•ˆ์— ๊ณ ํšจ์œจ์˜ ํ•™์Šต ํŒŒ์ดํ”„๋ผ์ธ์„ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค"๋ผ๋ฉฐ "๊ตฌ๊ธ€ ํด๋ผ์šฐ๋“œ์™€ ์ง€์†์ ์œผ๋กœ ํ˜‘๋ ฅํ•ด ์ดˆ๊ฑฐ๋Œ€ AI ๋ชจ๋ธ์˜ ์—ฐ๊ตฌ ํšจ์œจ์„ ํ•œ์ธต ๋” ๋Œ์–ด์˜ฌ๋ฆด ์˜ˆ์ •"์ด๋ผ๊ณ  ๋‘ ์นด์นด์˜ค๋ธŒ๋ ˆ์ธ ๋Œ€ํ‘œ๋Š” "๊ตฌ๊ธ€ ํด๋ผ์šฐ๋“œ์—์„œ ์ œ๊ณตํ•˜๋Š” ํด๋ผ์šฐ๋“œ TPU๋Š” ๋”ฅ๋Ÿฌ๋‹์— ์ตœ์ ํ™”๋˜์–ด ์žˆ์–ด ์งง์€ ๊ธฐ๊ฐ„ ์•ˆ์— ๊ณ ํšจ์œจ์˜ ํ•™์Šต ํŒŒ์ดํ”„๋ผ์ธ์„ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค"๋ผ๋ฉฐ "๊ตฌ๊ธ€ ํด๋ผ์šฐ๋“œ์™€ ์ง€์†์ ์œผ๋กœ ํ˜‘๋ ฅํ•ด ์ดˆ๊ฑฐ๋Œ€ AI ๋ชจ๋ธ์˜ ์—ฐ๊ตฌ ํšจ์œจ์„ ํ•œ์ธต ๋” ๋Œ์–ด์˜ฌ๋ฆด ์˜ˆ์ •"์ด๋ผ๊ณ  ๋‘ ์นด์นด์˜ค๋ธŒ๋ ˆ์• ์ˆ˜ ์žˆ๋„๋ก ์ ๊ทน ์ง€์›ํ•˜๊ฒ ๋‹ค"๋ผ๊ณ  ๊ฐ•์กฐํ–ˆ๋‹ค.''',
'''์‹๋ชฉ์ผ์„ ํ•˜๋ฃจ ์•ž๋‘๊ณ  ๊ฒฝ๊ธฐ๋„ ํ•˜๋‚จ์‹œ ์œ„๋ก€์‹ ๋„์‹œ ์ธ๊ทผ ์•ผ์‚ฐ์—์„œ ๋ถˆ์ด ๋ฐœ์ƒํ•ด ์†Œ๋ฐฉ๋‹น๊ตญ์ด ์ง„ํ™”์— ๋‚˜์„ฐ๋‹ค.\n \n4์ผ ์†Œ๋ฐฉ๋‹น๊ตญ ๋“ฑ์— ๋”ฐ๋ฅด๋ฉด ์ด๋‚  ์˜คํ›„ 7์‹œ 40๋ถ„์ฏค ํ•˜๋‚จ์‹œ ์œ„๋ก€์‹ ๋„์‹œ ๋‚จํ•œ์‚ฐ์„ฑ ์ž๋ฝ์—์„œ ํฐ ๋ถˆ์ด ๋‚ฌ๋‹ค.\n \nํ˜„์žฌ๊นŒ์ง€ ์ธ๋ช…ํ”ผํ•ด๋Š” ํ™•์ธ๋˜์ง€ ์•Š์•˜์ง€๋งŒ, ์‚ฐ ์ผ๋Œ€๋กœ ๋ถˆ์ด ๋ฒˆ์ง€๊ณ  ์žˆ๋Š” ๊ฒƒ์œผ๋กœ ํŒŒ์•…๋๋‹ค.\n \n๋ถˆ์ด ๋‚˜์ž ์†Œ๋ฐฉ๋‹น๊ตญ์€ ๋Œ€์› 81๋ช…, ํŽŒํ”„์ฐจ ๋“ฑ ์žฅ๋น„ 27์—ฌ ๋Œ€๋ฅผ ๋™์›ํ•ด ์ง„ํ™” ์ž‘์—…์„ ํ•˜๊ณ  ์žˆ๋‹ค.\n \n์•ผ๊ฐ„์— ํฐ ๋ถˆ์ด ๋‚˜์ž 119์— ๊ธด๊ธ‰์‹ ๊ณ  50์—ฌ ๊ฑด์ด ์ ‘์ˆ˜๋˜๋Š” ๋“ฑ ์‹œ๋ฏผ๋“ค ์‚ฌ์ด์—์„œ ๋ถˆ์•ˆ์ด ํ™•์‚ฐ๋˜๊ณ  ์žˆ๋‹ค.\n\n์œ„๋ก€์‹ ๋„์‹œ ์ฃผ๋ฏผ ์ด๋ชจ(43)์”จ๋Š” "์ฐฝ๋ฌธ์„ ํ†ตํ•ด ๋ฐ–์„ ๋ฐ”๋ผ๋ณด๋‹ˆ ๋ถˆ๊ฝƒ๋†€์ด๋ฅผ ํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ํ™˜ํ–ˆ๋‹ค"๋ฉฐ "๋‚˜๊ฐ€์„œ ํ™•์ธํ•˜๋‹ˆ ์ด๋ฏธ ๊ตฌ๊ธ‰์ฐจ๊ฐ€ ์•„ํŒŒํŠธ ์ฃผ๋ณ€์„ ์—์›Œ์‹ธ๊ณ  ์žˆ์—ˆ๋‹ค"๊ณ  ๋งํ–ˆ๋‹ค.\n \n๊ฐ™์€ ์ง€์—ญ ์ฃผ๋ฏผ ๋ฐ•๋ชจ(33ยท์—ฌ)์”จ๋„ "์ตœ๊ทผ ๊ฐ•์›๋„์—์„œ ํฐ ๋ถˆ์ด ๋‚˜ ์‹œ๋ฏผ๋“ค์ด ํ”ผํ•ด๋ฅผ ์ž…์—ˆ๋Š”๋ฐ, ์šฐ๋ฆฌ๋„ ๊ฐ™์€ ์ฒ˜์ง€๊ฐ™์€ ์ง€์—ญ ์ฃผ๋ฏผ ๊ฑฑ์ •๋œ๋‹ค"๋ฉฐ "๋‹คํ–‰ํžˆ ๋ฐ”๋žŒ์ด ์•„ํŒŒํŠธ ์ชฝ์ด ์•„๋‹ˆ๋ผ ์‚ฐ์ชฝ์œผ๋กœ ํ–ฅํ•˜๊ณ  ์žˆ์–ด ์žฌ๊ฐ€ ๋‚ ๋ฆฌ๋Š” ๋“ฑ์˜ ํ”ผํ•ด๋Š” ์—†๋‹ค"๊ณ  ๋งํ–ˆ๋‹ค.\n \n์ด ๋ฐ–์— ์ง€์—ญ ์˜จ๋ผ์ธ ์ปค๋ฎค๋‹ˆํ‹ฐ์—๋Š” "์™œ ์ž๊พธ ๋ถˆ์ด ๋‚˜๋‚˜. ์†์ƒํ•˜๊ณ  ๋ฌด์„ญ๋‹ค", "์— ์ง€์—ญ ์˜จ๋ผ์ธ ์ปค๋ฎค๋‹ˆํ‹ฐ์—๋Š” "์™œ ์ž๊พธ ๋ถˆ์ด ๋‚˜๋‚˜. ์†์ƒํ•˜๊ณ  ๋ฌด์„ญ๋‹ค", "์— ์ง€ ์•„์— ์ง€์—ญ ์˜จ๋ผ์ธ ์ปค๋ฎค๋‹ˆํ‹ฐ์—๋Š” "์™œ ์ž๊พธ ๋ถˆ์ด ๋‚˜๋‚˜. ์†์ƒํ•˜๊ณ  ๋ฌด์„ญ๋‹ค", "์— ์ง€์—ญ๊ฒช์— ์ง€์—ญ ์˜จ๋ผ์ธ ์ปค๋ฎค๋‹ˆํ‹ฐ์—๋Š” "์™œ ์ž๊พธ ๋ถˆ์ด ๋‚˜๋‚˜. ์†์ƒํ•˜๊ณ  ๋ฌด์„ญ๋‹ค", "์— ์ง€์—ญ ์˜จ๋ผ์ธ ํ™”์žฌ๋ฅผ ๋” ๋น ๋ฅธ ์‹œ๊ฐ„์— ์ง„์••ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ๋Šฆ์€ ๋ฐค์ด๋ผ ์–ด๋ ค์šด ์ƒํ™ฉ"์ด๋ผ๋ฉฐ "๋‹ค๋งŒ ์ตœ๊ทผ ๋ฐœ์ƒํ•œ ์‚ฐ๋ถˆ์ฒ˜๋Ÿผ ๋ฒ”์œ„๊ฐ€ ๋„“์€ ์ง€์—ญ์ด ์•„๋‹ˆ๋ผ ์†Œ๋ฐฉ์ธ๋ ฅ์œผ๋กœ ์ง„ํ™”๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค. ๋น ๋ฅด๋ฉด ๋‚ด์ผ ์•„์นจ๊นŒ์ง€๋Š” ์ง„์••์ด ๊ฐ€๋Šฅํ•  ๊ฒƒ ๊ฐ™๋‹ค"๊ณ  ๋งํ–ˆ๋‹ค.\n \n๊ฒฝ๊ธฐ๋„ ๊ด€๊ณ„์ž๋„ "์‚ฐ์„ฑ ํ›ผ์†์ด๋‚˜ ์ธ๋ช…ํ”ผํ•ด ๊ฐ€๋Šฅ์„ฑ์€ ๋‚ฎ์€ ์ƒํƒœ"๋ผ๋ฉฐ "ํŠน์ˆ˜ ์ง„ํ™”๋Œ€๋ฅผ ํˆฌ์ž…ํ•œ ์ƒํ™ฉ์ด๋ผ ์ง„ํ™”์—๋Š” ํฐ ์–ด๋ ค์›€์€ ์—†์„ ๊ฒƒ์œผ๋กœ ํŒ๋‹จํ•˜๊ณ  ์žˆ๋‹ค"๊ณ  ํ–ˆ๋‹ค.''',
'''์ •๋ถ€๊ฐ€ ์ฐจ๋Ÿ‰์šฉ ๋ฐฐํ„ฐ๋ฆฌ ์žฌํ™œ์šฉ์„ ์œ„ํ•œ ๊ธฐ์ˆ  ํ‘œ์ค€ ๋งˆ๋ จ ์ž‘์—…์— ์ฐฉ์ˆ˜ํ–ˆ๋‹ค. ์ „๊ธฐ์ฐจ ๋ณด๊ธ‰ ์†๋„๊ฐ€ ๋นจ๋ผ์ง€๋ฉด์„œ 2030๋…„์—” 8๋งŒ๊ฐœ ๋„˜๋Š” ์ „๊ธฐ์ฐจ '์‚ฌ์šฉ ํ›„ ๋ฐฐํ„ฐ๋ฆฌ'(ํ๋ฐฐํ„ฐ๋ฆฌ)๊ฐ€ ๋ฐฐ์ถœ๋  ๊ฒƒ์ด๋ž€ ์ „๋ง์ด ๋‚˜์˜ค๋Š” ๊ฐ€์šด๋ฐ ๋ฐฐํ„ฐ๋ฆฌ ์ œ์กฐ ๋‹จ๊ณ„๋ถ€ํ„ฐ ์žฌํ™œ์šฉ๊นŒ์ง€ ์ ์šฉ ๊ฐ€๋Šฅํ•œ ํ‘œ์ค€์„ ๋งŒ๋“ค๊ฒ ๋‹ค๋Š” ๊ณ„ํš์ด๋‹ค.\n\n4์ผ ์ •๋ถ€์— ๋”ฐ๋ฅด๋ฉด ์‚ฐ์—…ํ†ต์ƒ์ž์›๋ถ€ ์‚ฐํ•˜ ๊ตญ๊ฐ€๊ธฐ์ˆ ํ‘œ์ค€์›(๊ตญํ‘œ์›)์€ ์ง€๋‚œ๋‹ฌ ์ค‘์ˆœ '์ž๋™์ฐจ ์‚ฌ์šฉ ํ›„ ๋ฐฐํ„ฐ๋ฆฌ ์žฌํ™œ์šฉ์„ ์œ„ํ•œ ๊ตญ๋‚ดยท์™ธ ๊ทœ์ œ ๋ฐ ํ‘œ์ค€ํ™” ๋Œ€์‘ ๋ฐฉ์•ˆ ์—ฐ๊ตฌ' ์šฉ์—ญ์„ ๋ฐœ์ฃผํ–ˆ๋‹ค. ๊ตญํ‘œ์›์€ ์—ฐ๊ตฌ์šฉ์—ญ์„ ํ†ตํ•ด ์˜ฌํ•ด ๋ง๊นŒ์ง€ ์ •๋ถ€ยท์‚ฐ์—…๊ณ„ยทํ•™๊ณ„ ๋“ฑ ์ฐจ๋Ÿ‰์šฉ ๋ฐฐํ„ฐ๋ฆฌ ์žฌํ™œ์šฉ์— ๊ด€ํ•œ ์ดํ•ด ๊ด€๊ณ„์ž๋“ค์˜ ์˜๊ฒฌ์„ ์ˆ˜๋ ดํ•˜๊ณ  ์–‘๊ทน์žฌ ๋“ฑ ๋ฐฐํ„ฐ๋ฆฌ ์‚ฐ์—… ๋™ํ–ฅ์„ ํŒŒ์•…ํ•ด ์ด๋ฅด๋ฉด 2025๋…„ ๊ธฐ์ˆ  ํ‘œ์ค€์„ ๋งŒ๋“ค ๊ณ„ํš์ด๋‹ค.\n\n์ •๋ถ€์™€ ์—…๊ณ„๋Š” ์ „๊ธฐ์ฐจ์šฉ ๋ฐฐํ„ฐ๋ฆฌ์˜ ์‚ฌ์šฉ ๊ธฐ๊ฐ„์„ ํ†ต์ƒ 10๋…„์œผ๋กœ ๋ณด๊ณ  ์žˆ๋‹ค. 2010๋…„์„ ์ „ํ›„ํ•ด ์šฐ๋ฆฌ๋‚˜๋ผ ์ „๊ธฐ์ฐจ ๋ณด๊ธ‰์ด ์‹œ์ž‘๋œ ์ ์„ ๊ณ ๋ คํ•˜๋ฉด 2020๋…„ ์ดํ›„ ์ „๊ธฐ์ฐจ ์‚ฌ์šฉ ํ›„ ๋ฐฐํ„ฐ๋ฆฌ ๋ฐฐ์ถœ์ด ๋ณธ๊ฒฉํ™”๋œ๋‹ค๋Š” ์–˜๊ธฐ๋‹ค. ์ •๋ถ€๋Š” ์ „๊ธฐ์ฐจ ์‚ฌ์šฉ ํ›„ ๋ฐฐํ„ฐ๋ฆฌ ๋ฐฐ์ถœ๋Ÿ‰์ด 2020๋…„ 4700์—ฌ๊ฐœ์— ์ด์–ด 2025๋…„ 1๋งŒ3000์—ฌ๊ฐœ๋กœ ๋Š˜์–ด๋‚˜๊ณ  2030๋…„์ด๋ฉด 8๋งŒ์—ฌ๊ฐœ ์ด์ƒ์œผ๋กœ ๊ธ‰์ฆํ•  ๊ฒƒ์œผ๋กœ ๋ณด๊ณ  ์žˆ๋‹ค.'''
)
)
context = st.text_area("Context", value=context_option, height=300, on_change=None)
if st.button("Submit", key="context"):
with st.spinner("Wait for it...โณ"):
summarized_text = summarize(context)
st.subheader('๐Ÿ“ Result')
st.success(summarized_text)