Spaces:
Paused
Paused
Update app.py
Browse files
app.py
CHANGED
|
@@ -18,21 +18,20 @@ model = genai.GenerativeModel(
|
|
| 18 |
generation_config=generation_config,
|
| 19 |
)
|
| 20 |
|
| 21 |
-
def generate_news_article(images, space_characteristic):
|
| 22 |
"""
|
| 23 |
-
학교 공간 혁신 사진
|
| 24 |
"""
|
| 25 |
-
|
| 26 |
image_descriptions = []
|
| 27 |
for i, image in enumerate(images):
|
| 28 |
try:
|
| 29 |
-
|
| 30 |
-
|
| 31 |
except Exception as e:
|
| 32 |
print(f"Error describing image {i+1}: {e}")
|
| 33 |
image_descriptions.append(f"사진 {i+1} 설명: 오류 발생")
|
| 34 |
|
| 35 |
-
|
| 36 |
characteristic_description = ""
|
| 37 |
if space_characteristic:
|
| 38 |
characteristic_description = f"\n**공간 특성: {space_characteristic}**\n"
|
|
@@ -45,7 +44,25 @@ def generate_news_article(images, space_characteristic):
|
|
| 45 |
elif space_characteristic == "특화하다":
|
| 46 |
characteristic_description += "- 사용자가 원하는 유형의 활동(놀이, 학습, 실험, 표현 및 전시, 휴식 등)을 충분히 지원할 수 있도록 디자인\n"
|
| 47 |
|
| 48 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 49 |
|
| 50 |
try:
|
| 51 |
response = model.generate_text(prompt=prompt)
|
|
@@ -53,19 +70,20 @@ def generate_news_article(images, space_characteristic):
|
|
| 53 |
except Exception as e:
|
| 54 |
print(f"Error generating text: {e}")
|
| 55 |
full_text = "기사 생성 오류"
|
| 56 |
-
|
| 57 |
return full_text
|
| 58 |
|
| 59 |
|
| 60 |
with gr.Blocks() as demo:
|
| 61 |
image_inputs = gr.Gallery(label="학교 공간 사진 업로드", type="pil")
|
| 62 |
space_characteristic = gr.Radio(["유연하다", "연결하다", "상상하다", "특화하다"], label="공간 특성")
|
|
|
|
| 63 |
generate_btn = gr.Button("기사 생성")
|
| 64 |
news_article = gr.Textbox(label="생성된 기사", lines=20)
|
| 65 |
|
| 66 |
generate_btn.click(
|
| 67 |
fn=generate_news_article,
|
| 68 |
-
inputs=[image_inputs, space_characteristic],
|
| 69 |
outputs=news_article,
|
| 70 |
)
|
| 71 |
|
|
|
|
| 18 |
generation_config=generation_config,
|
| 19 |
)
|
| 20 |
|
| 21 |
+
def generate_news_article(images, space_characteristic, key_features):
|
| 22 |
"""
|
| 23 |
+
학교 공간 혁신 사진, 공간 특성, 주요 특징을 기반으로 기사문을 생성합니다.
|
| 24 |
"""
|
| 25 |
+
|
| 26 |
image_descriptions = []
|
| 27 |
for i, image in enumerate(images):
|
| 28 |
try:
|
| 29 |
+
image_description = genai.describe_image(image)
|
| 30 |
+
image_descriptions.append(f"사진 {i+1} 설명: {image_description.description}")
|
| 31 |
except Exception as e:
|
| 32 |
print(f"Error describing image {i+1}: {e}")
|
| 33 |
image_descriptions.append(f"사진 {i+1} 설명: 오류 발생")
|
| 34 |
|
|
|
|
| 35 |
characteristic_description = ""
|
| 36 |
if space_characteristic:
|
| 37 |
characteristic_description = f"\n**공간 특성: {space_characteristic}**\n"
|
|
|
|
| 44 |
elif space_characteristic == "특화하다":
|
| 45 |
characteristic_description += "- 사용자가 원하는 유형의 활동(놀이, 학습, 실험, 표현 및 전시, 휴식 등)을 충분히 지원할 수 있도록 디자인\n"
|
| 46 |
|
| 47 |
+
|
| 48 |
+
prompt = f"""## 학교 공간 혁신 기사 작성
|
| 49 |
+
|
| 50 |
+
{''.join(image_descriptions)}
|
| 51 |
+
|
| 52 |
+
{characteristic_description}
|
| 53 |
+
|
| 54 |
+
**주요 특징:** {key_features}
|
| 55 |
+
|
| 56 |
+
위 내용을 바탕으로 **{space_characteristic}** 공간 특성을 반영하여 다음과 같은 서식을 갖춘 학교 공간 혁신에 대한 기사를 작성해주세요.
|
| 57 |
+
|
| 58 |
+
**제목:** ({space_characteristic} 특성을 반영한 제목)
|
| 59 |
+
|
| 60 |
+
**소제목 1:** {space_characteristic} 공간의 특징을 잘 드러내는 소제목
|
| 61 |
+
({space_characteristic} 특성을 반영한 내용)
|
| 62 |
+
|
| 63 |
+
**소제목 2:** {space_characteristic} 공간의 다른 특징을 잘 드러내는 소제목
|
| 64 |
+
({space_characteristic} 특성을 반영한 내용)
|
| 65 |
+
"""
|
| 66 |
|
| 67 |
try:
|
| 68 |
response = model.generate_text(prompt=prompt)
|
|
|
|
| 70 |
except Exception as e:
|
| 71 |
print(f"Error generating text: {e}")
|
| 72 |
full_text = "기사 생성 오류"
|
| 73 |
+
|
| 74 |
return full_text
|
| 75 |
|
| 76 |
|
| 77 |
with gr.Blocks() as demo:
|
| 78 |
image_inputs = gr.Gallery(label="학교 공간 사진 업로드", type="pil")
|
| 79 |
space_characteristic = gr.Radio(["유연하다", "연결하다", "상상하다", "특화하다"], label="공간 특성")
|
| 80 |
+
key_features = gr.Textbox(label="주요 특징", lines=3)
|
| 81 |
generate_btn = gr.Button("기사 생성")
|
| 82 |
news_article = gr.Textbox(label="생성된 기사", lines=20)
|
| 83 |
|
| 84 |
generate_btn.click(
|
| 85 |
fn=generate_news_article,
|
| 86 |
+
inputs=[image_inputs, space_characteristic, key_features],
|
| 87 |
outputs=news_article,
|
| 88 |
)
|
| 89 |
|