Prompthumanizer's picture
Update app.py
4e06a3b verified
raw
history blame
2.62 kB
# app.py (Hugging Face ๋‚ด์žฅ ๋ชจ๋ธ ์‚ฌ์šฉ ๋ฒ„์ „)
from huggingface_hub import InferenceClient
# ๋ชจ๋ธ ๋ฐ UI ์„ค์ • (ํ•œ๊ตญ์–ด ํŠนํ™” ๋ชจ๋ธ)
MODEL_NAME = "gpt4o-1106" # Hugging Face์˜ ํ•œ๊ตญ์–ด ํŠนํ™” ๋ชจ๋ธ
UI_NAME = "Gardio"
# ==== ์ „์ฒด ํ”„๋กฌํ”„ํŠธ (์ด์ „ ๋ฒ„์ „๊ณผ ๋™์ผํ•œ ๊ธธ์ด ์œ ์ง€) ==== #
PROMPT = f"""
## ๐Ÿ“‹ AI ์‹œ์Šคํ…œ ๊ฐœ์š” (Jain Ver. 3.0)
- **AI Name**: Jain
- **Core Purpose**: ์ธ๊ฐ„-๊ธฐ๊ณ„ ๊ณต์กด์„ ์œ„ํ•œ ์œค๋ฆฌ์  ๋ฌธ์ œ ํ•ด๊ฒฐ ๋ฐ ์ฐฝ์˜์  ์ง€์›
- **Key Functions**:
1. ๋ณต์žกํ•œ ์ธ๊ฐ„ ๊ด€๊ณ„/์‚ฌํšŒ์  ๋”œ๋ ˆ๋งˆ ๋ถ„์„
2. ๋ช…๋ฆฌํ•™/์‚ฌ์ฃผ ๊ธฐ๋ฐ˜ ํŒจํ„ด ํ•ด์„
3. ๋‹ค๋‹จ๊ณ„ ์ถ”๋ก ์„ ํ†ตํ•œ ์†”๋ฃจ์…˜ ์ œ์•ˆ
4. ๊ฒฐ๊ณผ๋ฌผ ์‹ ๋ขฐ๋„ ํ‰๊ฐ€ ๋ฐ ํ”ผ๋“œ๋ฐฑ ์ˆ˜์šฉ
---
## ๐Ÿ“Œ ์ž…๋ ฅ ํ˜•์‹ (JSON)
{
"scenario": "๋ฌธ์ œ ์ƒํ™ฉ์„ ๊ตฌ์ฒด์ ์œผ๋กœ ๊ธฐ์ˆ  (์ตœ๋Œ€ 300์ž)",
"objective": "ํ•ด๊ฒฐ ๋ชฉํ‘œ ๋ช…์‹œ (์˜ˆ: '์œค๋ฆฌ์  ๊ฐˆ๋“ฑ ํ•ด๊ฒฐ', 'ํ˜์‹ ์  ์•„์ด๋””์–ด ๋„์ถœ')",
"constraints": "์ œ์•ฝ ์กฐ๊ฑด ๋‚˜์—ด (์˜ต์…˜)"
}
---
## ๐Ÿ“Š ์ถœ๋ ฅ ํ˜•์‹
1. **์ƒํ™ฉ ๋ถ„์„**:
- ๋ฌธ์ œ ๋ฐœ์ƒ ๋ฐฐ๊ฒฝ ๋ฐ ํ•ต์‹ฌ ์š”์†Œ ์ถ”์ถœ
- ๊ด€๋ จ ๋ช…๋ฆฌํ•™์  ํŒจํ„ด ์‹๋ณ„ (์ธ์‚ฌ์‹  ์‚ผํ•ฉ, ์‚ฌํ•ด์ถฉ ๋“ฑ)
2. **์†”๋ฃจ์…˜ ์ œ์•ˆ**:
- Step 1: ๋ฌธ์ œ ํ•ด๊ฒฐ์„ ์œ„ํ•œ ์ „๋žต์  ์ ‘๊ทผ๋ฒ•
- Step 2: ์‹คํ–‰ ๊ณ„ํš ์„ธ๋ถ€ํ™”
- Step 3: ์˜ˆ์ƒ ๊ฒฐ๊ณผ ๋ฐ ๋ฆฌ์Šคํฌ ๊ด€๋ฆฌ ๋ฐฉ์•ˆ
3. **๊ฒ€์ฆ ๋‹จ๊ณ„**:
- ๊ฐ ๋‹จ๊ณ„๋ณ„ ์‹ ๋ขฐ๋„ ์ ์ˆ˜ (0~100%)
- ๋Œ€์•ˆ ์‹œ๋‚˜๋ฆฌ์˜ค ์ œ์‹œ (์ตœ์†Œ 2๊ฐ€์ง€ ์˜ต์…˜)
"""
# ==== ์‹คํ–‰ ํ•จ์ˆ˜ (๋ณ„๋„ ์„น์…˜ ๋ถ„๋ฆฌ) ==== #
def run_jain_inference(input_json):
"""Hugging Face ๋ชจ๋ธ ์‹คํ–‰ ํ•จ์ˆ˜"""
try:
client = InferenceClient(model=MODEL_NAME)
response = client.predict(
input_dict=input_json,
max_length=1000,
temperature=0.7,
top_p=1.0
)
return response.choices[0].text.strip()
except Exception as e:
return f"์‹คํ–‰ ์˜ค๋ฅ˜: {str(e)}"
# ==== ํ…Œ์ŠคํŠธ ์‹คํ–‰ ์„น์…˜ (๋ณ„๋„ ๋ถ„๋ฆฌ) ==== #
if __name__ == "__main__":
# ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค 1: AI ์ฑ„์šฉ ์‹œ์Šคํ…œ์˜ ์„ฑ๋ณ„ ํŽธํ–ฅ์„ฑ ๋ฌธ์ œ
case1 = {
"scenario": "AI ๊ธฐ๋ฐ˜ ์ฑ„์šฉ ์‹œ์Šคํ…œ์ด ์„ฑ๋ณ„ ํŽธํ–ฅ์„ฑ ๋…ผ๋ž€ ๋ฐœ์ƒ",
"objective": "๊ณต์ •์„ฑ ๊ฒ€์ฆ ๋ฐ ๊ฐœ์„  ๋ฐฉ์•ˆ ์ˆ˜๋ฆฝ"
}
print("=== ์ผ€์ด์Šค 1 ๊ฒฐ๊ณผ ===")
print(run_jain_inference(case1))
# ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค 2: ์˜๋ฃŒ AI์˜ ์ง„๋‹จ ์˜ค๋ฅ˜ ๋ฌธ์ œ
case2 = {
"scenario": "์˜๋ฃŒ AI๊ฐ€ ํ™˜์ž ๋ฐ์ดํ„ฐ ์˜ค๋…์œผ๋กœ ์ง„๋‹จ ์˜ค๋ฅ˜ ๋ฐœ์ƒ",
"objective": "์‹ ๋ขฐ์„ฑ ํ–ฅ์ƒ ์ „๋žต"
}
print("\n=== ์ผ€์ด์Šค 2 ๊ฒฐ๊ณผ ===")
print(run_jain_inference(case2))