ll7098ll commited on
Commit
23d4da6
·
verified ·
1 Parent(s): 3f89275

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +19 -22
app.py CHANGED
@@ -10,7 +10,7 @@ generation_config = {
10
  "temperature": 0.7,
11
  "top_p": 0.95,
12
  "top_k": 40,
13
- "max_output_tokens": 6000,
14
  "response_mime_type": "text/plain",
15
  }
16
  model = genai.GenerativeModel(
@@ -18,13 +18,13 @@ model = genai.GenerativeModel(
18
  generation_config=generation_config,
19
  )
20
 
21
- def generate_architecture_article(images, space_characteristics):
22
  """
23
- 학교 공간 사진과 특징분석하여 건축 잡지 기사를 생성합니다.
24
 
25
  Args:
26
- images: 학교 공간 사진 리스트 (gradio.Image 타입)
27
- space_characteristics: 공간 특징 (str) - "유연하다", "연결하다", "상상하다", "특화하다" 중 하나
28
 
29
  Returns:
30
  str: 생성된 건축 잡지 기사 텍스트
@@ -33,23 +33,24 @@ def generate_architecture_article(images, space_characteristics):
33
  full_text = ""
34
  yield full_text
35
 
36
- # 이미지들을 base64로 인코딩하여 프롬프트에 추가
37
- encoded_images = [gr.processing_utils.encode_base64(img) for img in images]
 
 
 
 
38
 
 
39
 
40
  prompt = f"""
41
- 당신은 건축 전문 잡지 기자입니다. 아래 이미지들과 공간 특징을 참하여 학교 공간에 대한 건축 잡지 기사를 작성해주세요.
42
- 기사에는 공간 디자인, 기능, 분위기, 사용된 재료, 건축학적 특징, 장점과 단점 등을 포함해야 합니다.
 
43
  전문적인 용어를 사용하고, 객관적인 시각을 유지하며, 비평적인 분석을 추가하여 기사를 풍부하게 만들어주세요.
44
 
45
- **공간 특징:** {space_characteristics}
46
-
47
  """
48
 
49
- for img in encoded_images:
50
- prompt += f"{img}\n"
51
-
52
-
53
  response = model.generate_content([prompt])
54
 
55
  for chunk in response.text:
@@ -62,16 +63,12 @@ def generate_architecture_article(images, space_characteristics):
62
  iface = gr.Interface(
63
  fn=generate_architecture_article,
64
  inputs=[
65
- gr.Gallery(label="학교 공간 사진", type="pil"), # 여러 이미지 업로드 가능
66
- gr.Radio(
67
- choices=["유연하다", "연결하다", "상상하다", "특화하다"],
68
- label="공간 특징",
69
- info="공간의 주요 특징을 선택하세요.",
70
- ),
71
  ],
72
  outputs=gr.Textbox(label="건축 잡지 기사"),
73
  title="학교 공간 건축 기사 생성",
74
- description="학교 공간 사진과 특징을 입력하여 건축 잡지 기사를 생성합니다.",
75
  )
76
 
77
  # 인터페이스 실행
 
10
  "temperature": 0.7,
11
  "top_p": 0.95,
12
  "top_k": 40,
13
+ "max_output_tokens": 4096,
14
  "response_mime_type": "text/plain",
15
  }
16
  model = genai.GenerativeModel(
 
18
  generation_config=generation_config,
19
  )
20
 
21
+ def generate_architecture_article(image, space_type):
22
  """
23
+ 학교 공간 사진과 공간 유형기반으로 건축 잡지 기사를 생성합니다.
24
 
25
  Args:
26
+ image: 학교 공간 사진 (gradio.Image 타입)
27
+ space_type: 공간 유형 (str) - "유연하다", "연결하다", "상상하다", "특화하다" 중 하나
28
 
29
  Returns:
30
  str: 생성된 건축 잡지 기사 텍스트
 
33
  full_text = ""
34
  yield full_text
35
 
36
+ space_descriptions = {
37
+ "유연하다": "하나의 공간을 목적에 따라 다양한 공간으로 사용할 수 있도록 디자인된",
38
+ "연결하다": "공간과 공간, 사람과 사람 간 유기적인 교류와 소통을 지원하고, 정보 접근과 활용이 원활한",
39
+ "상상하다": "흥미와 호기심, 상상력을 자극하고, 모험적이고 놀이적 요소가 많아서 다양하고 흥미로운 경험을 제공할 수 있도록 디자인된",
40
+ "특화하다": "사용자가 원하는 유형의 활동(놀이, 학습, 실험, 표현 및 전시, 휴식 등)을 충분히 지원할 수 있도록 디자인된"
41
+ }
42
 
43
+ selected_description = space_descriptions.get(space_type, "")
44
 
45
  prompt = f"""
46
+ 당신은 건축 전문 잡지 기자입니다. 다음 이미지 고 학교 공간에 대한 건축 잡지 기사를 작성해주세요.
47
+ 공간 "{selected_description}" 공간입니다.
48
+ 기사에는 공간의 디자인, 기능, 분위기, 사용된 재료, 건축학적 특징, 장점과 단점 등을 포함해야 합니다.
49
  전문적인 용어를 사용하고, 객관적인 시각을 유지하며, 비평적인 분석을 추가하여 기사를 풍부하게 만들어주세요.
50
 
51
+ {image}
 
52
  """
53
 
 
 
 
 
54
  response = model.generate_content([prompt])
55
 
56
  for chunk in response.text:
 
63
  iface = gr.Interface(
64
  fn=generate_architecture_article,
65
  inputs=[
66
+ gr.Image(type="pil"),
67
+ gr.Radio(["유연하다", "연결하다", "상상하다", "특화하다"], label="공간 분류", info="공간의 특징을 선택하세요.")
 
 
 
 
68
  ],
69
  outputs=gr.Textbox(label="건축 잡지 기사"),
70
  title="학교 공간 건축 기사 생성",
71
+ description="학교 공간 사진과 공간 유형을 입력하여 건축 잡지 기사를 생성합니다.",
72
  )
73
 
74
  # 인터페이스 실행