Spaces:
Sleeping
Sleeping
Update src/generate_guide.py
Browse files- src/generate_guide.py +41 -42
src/generate_guide.py
CHANGED
|
@@ -1,42 +1,41 @@
|
|
| 1 |
-
# generate_guide.py
|
| 2 |
-
|
| 3 |
-
import openai
|
| 4 |
-
|
| 5 |
-
|
| 6 |
-
|
| 7 |
-
|
| 8 |
-
|
| 9 |
-
|
| 10 |
-
|
| 11 |
-
|
| 12 |
-
|
| 13 |
-
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
|
| 17 |
-
|
| 18 |
-
|
| 19 |
-
|
| 20 |
-
|
| 21 |
-
|
| 22 |
-
|
| 23 |
-
|
| 24 |
-
|
| 25 |
-
|
| 26 |
-
|
| 27 |
-
|
| 28 |
-
|
| 29 |
-
|
| 30 |
-
|
| 31 |
-
|
| 32 |
-
|
| 33 |
-
|
| 34 |
-
|
| 35 |
-
|
| 36 |
-
|
| 37 |
-
|
| 38 |
-
|
| 39 |
-
|
| 40 |
-
|
| 41 |
-
|
| 42 |
-
print(generate_photo_guide(user_caption, selected))
|
|
|
|
| 1 |
+
# generate_guide.py
|
| 2 |
+
|
| 3 |
+
import openai
|
| 4 |
+
import streamlit as st
|
| 5 |
+
import os
|
| 6 |
+
|
| 7 |
+
# π‘ API ν€ μ€μ μ μΊμ±ν΄μ μ΄κΈ°ν κ³Όμ μ μ€λ³΅ λ°©μ§
|
| 8 |
+
@st.cache_resource
|
| 9 |
+
def init_openai():
|
| 10 |
+
openai.api_key = os.environ["OPENAI_API_KEY"]
|
| 11 |
+
return openai
|
| 12 |
+
|
| 13 |
+
openai = init_openai()
|
| 14 |
+
|
| 15 |
+
# π κ°μ΄λ μμ± ν¨μ
|
| 16 |
+
def generate_photo_guide(user_caption: str, selected_image_descriptions: list) -> str:
|
| 17 |
+
prompt = f"""
|
| 18 |
+
μλλ μ¬μ©μκ° μ
λ‘λν μ¬μ§ μ€λͺ
μ
λλ€:
|
| 19 |
+
- {user_caption}
|
| 20 |
+
|
| 21 |
+
μλλ μ¬μ©μκ° μ°Έκ³ νκ³ μΆλ€κ³ μ νν μ¬μ§ μ€λͺ
λ€μ
λλ€:
|
| 22 |
+
{chr(10).join([f"- {desc}" for desc in selected_image_descriptions])}
|
| 23 |
+
|
| 24 |
+
μ μ 보λ₯Ό μ’
ν©ν΄ μ¬μ©μκ° μ¬μ§μ λ€μ μ°μ λ μ°Έκ³ ν μ μλλ‘
|
| 25 |
+
λ€μμ μ 보λ₯Ό μμ°μ΄λ‘ μμ±ν΄μ£ΌμΈμ:
|
| 26 |
+
|
| 27 |
+
1. μ΄λ€ ν¬μ¦λ₯Ό μ·¨νλ©΄ μ’μμ§
|
| 28 |
+
2. μΉ΄λ©λΌ μμΉλ μ΄λμ λλ©΄ μ’μμ§ (λμ΄, κ°λ λ±)
|
| 29 |
+
3. μΈλ¬Ό λ°°μΉλ μ΄λ»κ² νλ©΄ μ’μμ§ (μ λ©΄/μΈ‘λ©΄, 거리 λ±)
|
| 30 |
+
4. μ 체 ꡬλ νμ΄ μλ€λ©΄ μλ €μ£ΌμΈμ
|
| 31 |
+
"""
|
| 32 |
+
|
| 33 |
+
# π§ GPT νΈμΆ
|
| 34 |
+
response = openai.ChatCompletion.create(
|
| 35 |
+
model="gpt-3.5-turbo",
|
| 36 |
+
messages=[{"role": "user", "content": prompt}],
|
| 37 |
+
temperature=0.7,
|
| 38 |
+
)
|
| 39 |
+
|
| 40 |
+
return response.choices[0].message.content.strip()
|
| 41 |
+
|
|
|