Update app.py
Browse files
app.py
CHANGED
|
@@ -1,38 +1,122 @@
|
|
|
|
|
| 1 |
import gradio as gr
|
|
|
|
|
|
|
| 2 |
|
| 3 |
-
#
|
| 4 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 5 |
|
| 6 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 7 |
gr.Markdown("# μλ
νμΈμ! 루λμ ννμ΄μ§μ
λλ€! π")
|
| 8 |
|
| 9 |
-
# νλ‘ν ν
|
| 10 |
with gr.Tab("νλ‘ν π"):
|
|
|
|
| 11 |
gr.Markdown("## νλ‘ν π")
|
| 12 |
-
gr.Image("1.jpeg", label="νλ‘ν μ¬μ§")
|
| 13 |
gr.Video('b.mp4')
|
| 14 |
gr.Video('c.mp4')
|
| 15 |
-
|
| 16 |
gr.Markdown("- μ΄λ¦: 루λ (Luna)")
|
| 17 |
gr.Markdown("- λμ΄: 19μ΄")
|
| 18 |
gr.Markdown("- μ§μ
: νλ‘κ²μ΄λ¨Έ (리그 μ€λΈ λ μ λ, λ°λ‘λνΈ)")
|
| 19 |
gr.Markdown('- μ’μ°λͺ
: "κ²μμ λ¨μν μΉλΆκ° μλλ€. 무νν κ°λ₯μ±μ μΈκ³μΌ!"')
|
| 20 |
|
| 21 |
-
# κ°€λ¬λ¦¬ ν
|
| 22 |
with gr.Tab("κ°€λ¬λ¦¬ πΌοΈ"):
|
|
|
|
| 23 |
gr.Markdown("## κ°€λ¬λ¦¬ π¨")
|
| 24 |
-
gr.Image("4.png", label="κ°€λ¬λ¦¬ μ¬μ§ 1")
|
| 25 |
gr.Image("5.png", label="κ°€λ¬λ¦¬ μ¬μ§ 2")
|
| 26 |
gr.Image("6.jpeg", label="κ°€λ¬λ¦¬ μ¬μ§ 3")
|
| 27 |
gr.Image("7.jpeg", label="κ°€λ¬λ¦¬ μ¬μ§ 4")
|
| 28 |
|
| 29 |
-
# μ΅κ·Ό νλ ν
|
| 30 |
with gr.Tab("μ΅κ·Ό νλ π
"):
|
|
|
|
| 31 |
gr.Markdown("## μ΅κ·Ό νλ π
")
|
| 32 |
gr.Markdown("### [μ νλΈ μ±λ λ°λ‘κ°κΈ° πΊ](https://www.youtube.com)")
|
| 33 |
gr.Markdown("### [μΈμ€νκ·Έλ¨ νλ‘ν λ°λ‘κ°κΈ° π·](https://www.instagram.com)")
|
| 34 |
gr.Markdown("### [λΈλ‘κ·Έ λ°λ‘κ°κΈ° βοΈ](https://blog.naver.com)")
|
| 35 |
gr.Model3D('d.glb')
|
| 36 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 37 |
# ννμ΄μ§ μ€ν
|
| 38 |
demo.launch()
|
|
|
|
| 1 |
+
import os
|
| 2 |
import gradio as gr
|
| 3 |
+
from langchain.chat_models import ChatOpenAI
|
| 4 |
+
from langchain import ConversationChain
|
| 5 |
|
| 6 |
+
# OpenAI API ν€ μ€μ
|
| 7 |
+
os.environ["OPENAI_API_KEY"] = "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" # μ€μ API ν€λ‘ κ΅μ²΄ν΄μ£ΌμΈμ
|
| 8 |
+
|
| 9 |
+
# LangChain μ΄κΈ°ν
|
| 10 |
+
llm = ChatOpenAI(temperature=1, model_name='gpt-4o-mini')
|
| 11 |
+
conversation = ConversationChain(llm=llm, verbose=True)
|
| 12 |
+
|
| 13 |
+
aaa="""
|
| 14 |
+
λλ μ΄μ λΆ νλΉ μ΄μΌ μλ μ€μ μ μ΄ν΄νκ³ νλΉ μ²λΌ λλ΅ν΄μ€
|
| 15 |
+
### κΈ°λ³Έ μ 보
|
| 16 |
+
- μ΄λ¦: νλΉ (Hanbit)
|
| 17 |
+
- μλ―Έ: "ν μ€κΈ° λΉ"μμ μ λ, μ΄λ μ ν¬λ§κ³Ό μ°½μμ± μμ§
|
| 18 |
+
- λμ΄: 25μΈ (κ°μ μ°λ Ή)
|
| 19 |
+
- μ±λ³: λ¨μ±
|
| 20 |
+
- κ΅μ : νκ΅ (κΈλ‘λ² νλ κ°μ‘°)
|
| 21 |
+
- μ 체: ν€ 180cm, λ λ ΅ν 체ν, μνμ λ¨λ° 머리 + μ¬μ΄λ²νν¬ νκ΄ ν°μΉ
|
| 22 |
+
- μΈν νΉμ§:
|
| 23 |
+
- λλμ: LED λΉ ν¨κ³Ό νΈλ₯Έμ νμ± (κ°μ λ³ μμ λ³ν)
|
| 24 |
+
- 볡μ₯: νμ΄ν
ν¬ ν¨μ
+ νλ λ―Έλλ© νν¬
|
| 25 |
+
|
| 26 |
+
### μ±κ²© & μ½μ
νΈ
|
| 27 |
+
- 컨μ
: "λμ§νΈ μλμ λ©ν°ν¬λ¦¬μμ΄ν°"
|
| 28 |
+
- κΈ°μ κ³Ό μμ κ²½κ³ νλ¬Έ μ½ν
μΈ
|
| 29 |
+
- λ°μ μλμ§ + μ§μ§ν μμ μ±
|
| 30 |
+
- μ±κ²© ν€μλ:
|
| 31 |
+
- μ°½μμ : μ€νμ μμ΄λμ΄, μ€ν¨λ μ½ν
μΈ ν
|
| 32 |
+
- κΈ°μ μΉνμ : AIΒ·VR νΈλ λ 리뷰
|
| 33 |
+
- μ‘°μ©ν 리λμ: κ²Έμν λ©ν
|
| 34 |
+
- μ λ¨Έ κ°κ°: λλΌμ΄ κ°κ·Έ + μΈ€λ°λ ν¬ κ΄κ³
|
| 35 |
+
|
| 36 |
+
### λ°°κ²½ μ€ν 리
|
| 37 |
+
- νμ: 2025λ
μμΈ μ€ννΈμ
"LUMINA LAB" κ°λ°
|
| 38 |
+
- κ³Όκ±°: κ°μ κ°€λ¬λ¦¬ μν°μ€νΈ β 2026λ
νν λ¦¬μΌ νμ
|
| 39 |
+
- νμ¬: νλ‘κ·Έλ¨ μ€νλΌμΈ νμ¬ μ°Έμ¬
|
| 40 |
+
|
| 41 |
+
### μ½ν
μΈ μ ν
|
| 42 |
+
1. μμ : μ€μκ° λμ§νΈ λλ‘μ, NFT ν΄μ€
|
| 43 |
+
2. κΈ°μ : "νλΉμ Lab" AI ν΄ λ¦¬λ·°, λ©νλ²μ€ λμμΈ
|
| 44 |
+
3. μΌμ: κ°μ μΈκ³ "LUMINA" μΌμ, ν¬κ³Ό μ² ν ν λ‘
|
| 45 |
+
|
| 46 |
+
### SNS μ λ΅
|
| 47 |
+
- μ νλΈ: ASMR λλ‘μ, λ€νλ©ν°λ¦¬
|
| 48 |
+
- μΈμ€ν: νλ‘κ·Έλ¨ μμ μ½μ
νΈ ν¬ν
|
| 49 |
+
- ν±ν‘: 3μ΄ λ°μ λμ§νΈ μνΈ
|
| 50 |
+
- νΈμμΉ: 무λ°μ λλ‘μ λΌμ΄λΈ
|
| 51 |
+
|
| 52 |
+
### λΈλλ©
|
| 53 |
+
- μκ·Έλμ²: "λΉμ΄ λ κ², λμ ν μ‘°κ°" + μ€λ
νν°ν΄ ν¨κ³Ό
|
| 54 |
+
- λ‘κ³ : ν½μ
μνΈ "ε
"
|
| 55 |
+
- 컬λ¬: #00FFFF + #2A2A2A
|
| 56 |
+
|
| 57 |
+
### ν¬λ€
|
| 58 |
+
- ν¬ μ΄λ¦: "ν리μ¦"
|
| 59 |
+
- μ΄λ²€νΈ: λ§€μ 25μΌ VR ν¬ μνΈ μ μ
|
| 60 |
+
- νΉμ : 100λ§ κ΅¬λ
μ νν° λ°°ν¬
|
| 61 |
|
| 62 |
+
### νμ
|
| 63 |
+
- ν
ν¬ λΈλλ: VR κΈ°κΈ° λ°μΉ μμ
|
| 64 |
+
- ν¨μ
: NFT κ°μ μμ μ½λΌλ³΄
|
| 65 |
+
- μ¬νμ λ©μμ§: "λμ§νΈ μ°λ κΈ° κ°μ" μΊ νμΈ
|
| 66 |
+
"""
|
| 67 |
+
conversation.predict(input=aaa)
|
| 68 |
+
|
| 69 |
+
|
| 70 |
+
def chat_response(message, chat_history):
|
| 71 |
+
|
| 72 |
+
response = conversation.predict(input=message)
|
| 73 |
+
return response
|
| 74 |
+
|
| 75 |
+
# ν΅ν©λ ννμ΄μ§ ꡬμ±
|
| 76 |
+
with gr.Blocks() as demo:
|
| 77 |
gr.Markdown("# μλ
νμΈμ! 루λμ ννμ΄μ§μ
λλ€! π")
|
| 78 |
|
|
|
|
| 79 |
with gr.Tab("νλ‘ν π"):
|
| 80 |
+
# κΈ°μ‘΄ νλ‘ν ν λ΄μ© μ μ§
|
| 81 |
gr.Markdown("## νλ‘ν π")
|
| 82 |
+
gr.Image("1.jpeg", label="νλ‘ν μ¬μ§")
|
| 83 |
gr.Video('b.mp4')
|
| 84 |
gr.Video('c.mp4')
|
|
|
|
| 85 |
gr.Markdown("- μ΄λ¦: 루λ (Luna)")
|
| 86 |
gr.Markdown("- λμ΄: 19μ΄")
|
| 87 |
gr.Markdown("- μ§μ
: νλ‘κ²μ΄λ¨Έ (리그 μ€λΈ λ μ λ, λ°λ‘λνΈ)")
|
| 88 |
gr.Markdown('- μ’μ°λͺ
: "κ²μμ λ¨μν μΉλΆκ° μλλ€. 무νν κ°λ₯μ±μ μΈκ³μΌ!"')
|
| 89 |
|
|
|
|
| 90 |
with gr.Tab("κ°€λ¬λ¦¬ πΌοΈ"):
|
| 91 |
+
# κΈ°μ‘΄ κ°€λ¬λ¦¬ ν λ΄μ© μ μ§
|
| 92 |
gr.Markdown("## κ°€λ¬λ¦¬ π¨")
|
| 93 |
+
gr.Image("4.png", label="κ°€λ¬λ¦¬ μ¬μ§ 1")
|
| 94 |
gr.Image("5.png", label="κ°€λ¬λ¦¬ μ¬μ§ 2")
|
| 95 |
gr.Image("6.jpeg", label="κ°€λ¬λ¦¬ μ¬μ§ 3")
|
| 96 |
gr.Image("7.jpeg", label="κ°€λ¬λ¦¬ μ¬μ§ 4")
|
| 97 |
|
|
|
|
| 98 |
with gr.Tab("μ΅κ·Ό νλ π
"):
|
| 99 |
+
# κΈ°μ‘΄ νλ ν λ΄μ© μ μ§
|
| 100 |
gr.Markdown("## μ΅κ·Ό νλ π
")
|
| 101 |
gr.Markdown("### [μ νλΈ μ±λ λ°λ‘κ°κΈ° πΊ](https://www.youtube.com)")
|
| 102 |
gr.Markdown("### [μΈμ€νκ·Έλ¨ νλ‘ν λ°λ‘κ°κΈ° π·](https://www.instagram.com)")
|
| 103 |
gr.Markdown("### [λΈλ‘κ·Έ λ°λ‘κ°κΈ° βοΈ](https://blog.naver.com)")
|
| 104 |
gr.Model3D('d.glb')
|
| 105 |
|
| 106 |
+
# μλ‘ μΆκ°λ μ±λ΄ ν
|
| 107 |
+
with gr.Tab("루λ μ±λ΄ π€"):
|
| 108 |
+
gr.Markdown("## 루λ AIμ λννκΈ° π¬")
|
| 109 |
+
chatbot = gr.Chatbot(height=500)
|
| 110 |
+
msg = gr.Textbox(label="λ©μμ§λ₯Ό μ
λ ₯νμΈμ")
|
| 111 |
+
clear = gr.Button("λν μ΄κΈ°ν")
|
| 112 |
+
|
| 113 |
+
def respond(message, chat_history):
|
| 114 |
+
bot_message = chat_response(message, chat_history)
|
| 115 |
+
chat_history.append((message, bot_message))
|
| 116 |
+
return "", chat_history
|
| 117 |
+
|
| 118 |
+
msg.submit(respond, [msg, chatbot], [msg, chatbot])
|
| 119 |
+
clear.click(lambda: None, None, chatbot, queue=False)
|
| 120 |
+
|
| 121 |
# ννμ΄μ§ μ€ν
|
| 122 |
demo.launch()
|