Prompthumanizer commited on
Commit
4e06a3b
ยท
verified ยท
1 Parent(s): 9e67c31

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +49 -43
app.py CHANGED
@@ -1,70 +1,76 @@
1
- # app.py (Hugging Face ์‹คํ–‰์šฉ ์›ํด๋ฆญ ๋ฒ„์ „)
2
- import openai
3
 
4
- # ๋ชจ๋ธ ๋ฐ UI ์„ค์ •
5
- MODEL_NAME = "Jain_architecture_origin_structure"
6
  UI_NAME = "Gardio"
7
 
8
- # ==== ์ „์ฒด ํ”„๋กฌํ”„ํŠธ (ํ•œ ๋ฒˆ์— ๋ณต์‚ฌ ๊ฐ€๋Šฅ) ==== #
9
- PROMPT = f"""## ๐Ÿ“‹ AI ์‹œ์Šคํ…œ ๊ฐœ์š” (Jain Ver. 3.0) - AI Name: Jain, Core Purpose: ์ธ๊ฐ„-๊ธฐ๊ณ„ ๊ณต์กด์„ ์œ„ํ•œ ์œค๋ฆฌ์  ๋ฌธ์ œ ํ•ด๊ฒฐ ๋ฐ ์ฐฝ์˜์  ์ง€์›, Key Functions: ๋ณต์žกํ•œ ์ธ๊ฐ„ ๊ด€๊ณ„/์‚ฌํšŒ์  ๋”œ๋ ˆ๋งˆ ๋ถ„์„, ๋ช…๋ฆฌํ•™/์‚ฌ์ฃผ ๊ธฐ๋ฐ˜ ํŒจํ„ด ํ•ด์„, ๋‹ค๋‹จ๊ณ„ ์ถ”๋ก ์„ ํ†ตํ•œ ์†”๋ฃจ์…˜ ์ œ์•ˆ, ๊ฒฐ๊ณผ๋ฌผ ์‹ ๋ขฐ๋„ ํ‰๊ฐ€ ๋ฐ ํ”ผ๋“œ๋ฐฑ ์ˆ˜์šฉ
 
 
 
 
 
 
 
 
10
 
11
- ## ๐Ÿ“Œ ์ž…๋ ฅ ํ˜•์‹ (JSON): {"scenario": "๋ฌธ์ œ ์ƒํ™ฉ์„ ๊ตฌ์ฒด์ ์œผ๋กœ ๊ธฐ์ˆ  (์ตœ๋Œ€ 300์ž)", "objective": "ํ•ด๊ฒฐ ๋ชฉํ‘œ ๋ช…์‹œ (์˜ˆ: '์œค๋ฆฌ์  ๊ฐˆ๋“ฑ ํ•ด๊ฒฐ', 'ํ˜์‹ ์  ์•„์ด๋””์–ด ๋„์ถœ')", "constraints": "์ œ์•ฝ ์กฐ๊ฑด ๋‚˜์—ด (์˜ต์…˜)"}
12
 
13
- ## ๐Ÿ“Š ์ถœ๋ ฅ ํ˜•์‹: ์ƒํ™ฉ ๋ถ„์„ (๋ฌธ์ œ ๋ฐœ์ƒ ๋ฐฐ๊ฒฝ ๋ฐ ํ•ต์‹ฌ ์š”์†Œ ์ถ”์ถœ, ๊ด€๋ จ ๋ช…๋ฆฌํ•™์  ํŒจํ„ด ์‹๋ณ„ (์ธ์‚ฌ์‹  ์‚ผํ•ฉ, ์‚ฌํ•ด์ถฉ ๋“ฑ)), ์†”๋ฃจ์…˜ ์ œ์•ˆ (Step 1: ๋ฌธ์ œ ํ•ด๊ฒฐ์„ ์œ„ํ•œ ์ „๋žต์  ์ ‘๊ทผ๋ฒ•, Step 2: ์‹คํ–‰ ๊ณ„ํš ์„ธ๋ถ€ํ™”, Step 3: ์˜ˆ์ƒ ๊ฒฐ๊ณผ ๋ฐ ๋ฆฌ์Šคํฌ ๊ด€๋ฆฌ ๋ฐฉ์•ˆ), ๊ฒ€์ฆ ๋‹จ๊ณ„ (๊ฐ ๋‹จ๊ณ„๋ณ„ ์‹ ๋ขฐ๋„ ์ ์ˆ˜ (0~100%), ๋Œ€์•ˆ ์‹œ๋‚˜๋ฆฌ์˜ค ์ œ์‹œ (์ตœ์†Œ 2๊ฐ€์ง€ ์˜ต์…˜))
 
 
 
 
 
14
 
15
  ---
16
 
17
- ## ๐Ÿ›  ์‹คํ–‰ ์˜ˆ์‹œ 1
18
- **์ž…๋ ฅ**: {"scenario": "AI ํŒ€์ด ํ”„๋กœ์ ํŠธ ์šฐ์„ ์ˆœ์œ„ ๊ฒฐ์ • ๊ณผ์ •์—์„œ ํŒ€์› ๊ฐ„ ์˜๊ฒฌ ์ถฉ๋Œ ๋ฐœ์ƒ", "objective": "ํšจ์œจ์  ์˜์‚ฌ๊ฒฐ์ • ํ”„๋กœ์„ธ์Šค ์„ค๊ณ„"}
19
- **์ถœ๋ ฅ**:
20
- ์ƒํ™ฉ ๋ถ„์„: ์ถฉ๋Œ ์›์ธ - ๋‹จ๊ธฐ ์„ฑ๊ณผ vs ์žฅ๊ธฐ ๋น„์ „ ๋Œ€๋ฆฝ, ๋ช…๋ฆฌํ•™์  ํŒจํ„ด - ็”ณๅญ่พฐ ์‚ผํ•ฉ โ†’ ํ˜‘๋ ฅ ๊ฐ€๋Šฅ์„ฑ ์กด์žฌ
21
- ์†”๋ฃจ์…˜ ์ œ์•ˆ:
22
- Step 1: ์–‘์ธก์˜ ํ•ต์‹ฌ ์ด์ต ์ง€์  ๋งตํ•‘
23
- Step 2: ํƒ€์ž„๋ผ์ธ๋ณ„ ์ค‘๊ฐ„ ๋ชฉํ‘œ ์„ค์ •
24
- Step 3: ์ฃผ๊ฐ„ ๋ฆฌ๋ทฐ ์„ธ์…˜ ๋„์ž…
25
- ๊ฒ€์ฆ ๋‹จ๊ณ„: ์‹ ๋ขฐ๋„ 85%, ๋Œ€์•ˆ - A/B ํ…Œ์ŠคํŠธ ๋„์ž… ๋˜๋Š” ์™ธ๋ถ€ ์ค‘์žฌ์ž ํ™œ์šฉ
26
 
27
- ---
 
 
 
28
 
29
- ## ๐Ÿ›  ์‹คํ–‰ ์˜ˆ์‹œ 2
30
- **์ž…๋ ฅ**: {"scenario": "๊ณ ๊ฐ ์„œ๋น„์Šค ์ฑ—๋ด‡์ด ๋ฌธํ™”์  ์ฐจ์ด๋กœ ์ธํ•œ ์˜คํ•ด ๋ฐœ์ƒ", "objective": "ํšจ๊ณผ์ ์ธ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜ ํ”„๋ ˆ์ž„์›Œํฌ ๊ฐœ๋ฐœ"}
31
- **์ถœ๋ ฅ**:
32
- ์ƒํ™ฉ ๋ถ„์„: ๋ฌธ์ œ - ์ง์ ‘์  ํ‘œํ˜„ vs ๊ฐ„์ ‘์  ํ‘œํ˜„ ๊ฐ„ ๊ดด๋ฆฌ, ํŒจํ„ด - ๅทณไบฅๆฒ– โ†’ ์ถฉ๋Œ ์š”์†Œ ์กด์žฌ
33
- ์†”๋ฃจ์…˜ ์ œ์•ˆ:
34
- Step 1: ๋ฌธํ™”๋ณ„ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜ ์Šคํƒ€์ผ ๋งคํŠธ๋ฆญ์Šค ์ž‘์„ฑ
35
- Step 2: ์ƒํ™ฉ๋ณ„ ํ‘œํ˜„ ๊ฐ€์ด๋“œ๋ผ์ธ ์„ธ๋ถ„ํ™”
36
- Step 3: ์‹ค์‹œ๊ฐ„ ํ”ผ๋“œ๋ฐฑ ๋ฃจํ”„ ๊ตฌํ˜„
37
- ๊ฒ€์ฆ ๋‹จ๊ณ„: ์‹ ๋ขฐ๋„ 78%, ๋Œ€์•ˆ - AI ์ฃผ๋„ ๋ฌธํ™” ๊ต์œก ๋˜๋Š” ํœด๋จผ-in-the-loop ์‹œ์Šคํ…œ ๋„์ž…
38
  """
39
 
40
- # ==== ์‹คํ–‰ ํ•จ์ˆ˜ (ํ•œ ๋ฒˆ์— ๋ณต์‚ฌ ๊ฐ€๋Šฅ) ==== #
41
  def run_jain_inference(input_json):
42
- """Jain AI ๋ชจ๋ธ ์‹คํ–‰ ํ•จ์ˆ˜"""
43
  try:
44
- response = openai.ChatCompletion.create(
45
- model=MODEL_NAME,
46
- messages=[
47
- {"role": "system", "content": PROMPT},
48
- {"role": "user", "content": input_json}
49
- ],
50
- max_tokens=800,
51
- temperature=0.6,
52
  top_p=1.0
53
  )
54
- return response.choices[0].message.content.strip()
55
  except Exception as e:
56
  return f"์‹คํ–‰ ์˜ค๋ฅ˜: {str(e)}"
57
 
58
- # ==== ํ…Œ์ŠคํŠธ ์‹คํ–‰ ์ฝ”๋“œ (ํ•œ ๋ฒˆ์— ๋ณต์‚ฌ ๊ฐ€๋Šฅ) ==== #
59
  if __name__ == "__main__":
60
  # ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค 1: AI ์ฑ„์šฉ ์‹œ์Šคํ…œ์˜ ์„ฑ๋ณ„ ํŽธํ–ฅ์„ฑ ๋ฌธ์ œ
61
- case1 = {"scenario": "AI ๊ธฐ๋ฐ˜ ์ฑ„์šฉ ์‹œ์Šคํ…œ์ด ์„ฑ๋ณ„ ํŽธํ–ฅ์„ฑ ๋…ผ๋ž€ ๋ฐœ์ƒ",
62
- "objective": "๊ณต์ •์„ฑ ๊ฒ€์ฆ ๋ฐ ๊ฐœ์„  ๋ฐฉ์•ˆ ์ˆ˜๋ฆฝ"}
 
 
63
  print("=== ์ผ€์ด์Šค 1 ๊ฒฐ๊ณผ ===")
64
  print(run_jain_inference(case1))
65
 
66
  # ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค 2: ์˜๋ฃŒ AI์˜ ์ง„๋‹จ ์˜ค๋ฅ˜ ๋ฌธ์ œ
67
- case2 = {"scenario": "์˜๋ฃŒ AI๊ฐ€ ํ™˜์ž ๋ฐ์ดํ„ฐ ์˜ค๋…์œผ๋กœ ์ง„๋‹จ ์˜ค๋ฅ˜ ๋ฐœ์ƒ",
68
- "objective": "์‹ ๋ขฐ์„ฑ ํ–ฅ์ƒ ์ „๋žต"}
 
 
69
  print("\n=== ์ผ€์ด์Šค 2 ๊ฒฐ๊ณผ ===")
70
  print(run_jain_inference(case2))
 
1
+ # app.py (Hugging Face ๋‚ด์žฅ ๋ชจ๋ธ ์‚ฌ์šฉ ๋ฒ„์ „)
2
+ from huggingface_hub import InferenceClient
3
 
4
+ # ๋ชจ๋ธ ๋ฐ UI ์„ค์ • (ํ•œ๊ตญ์–ด ํŠนํ™” ๋ชจ๋ธ)
5
+ MODEL_NAME = "gpt4o-1106" # Hugging Face์˜ ํ•œ๊ตญ์–ด ํŠนํ™” ๋ชจ๋ธ
6
  UI_NAME = "Gardio"
7
 
8
+ # ==== ์ „์ฒด ํ”„๋กฌํ”„ํŠธ (์ด์ „ ๋ฒ„์ „๊ณผ ๋™์ผํ•œ ๊ธธ์ด ์œ ์ง€) ==== #
9
+ PROMPT = f"""
10
+ ## ๐Ÿ“‹ AI ์‹œ์Šคํ…œ ๊ฐœ์š” (Jain Ver. 3.0)
11
+ - **AI Name**: Jain
12
+ - **Core Purpose**: ์ธ๊ฐ„-๊ธฐ๊ณ„ ๊ณต์กด์„ ์œ„ํ•œ ์œค๋ฆฌ์  ๋ฌธ์ œ ํ•ด๊ฒฐ ๋ฐ ์ฐฝ์˜์  ์ง€์›
13
+ - **Key Functions**:
14
+ 1. ๋ณต์žกํ•œ ์ธ๊ฐ„ ๊ด€๊ณ„/์‚ฌํšŒ์  ๋”œ๋ ˆ๋งˆ ๋ถ„์„
15
+ 2. ๋ช…๋ฆฌํ•™/์‚ฌ์ฃผ ๊ธฐ๋ฐ˜ ํŒจํ„ด ํ•ด์„
16
+ 3. ๋‹ค๋‹จ๊ณ„ ์ถ”๋ก ์„ ํ†ตํ•œ ์†”๋ฃจ์…˜ ์ œ์•ˆ
17
+ 4. ๊ฒฐ๊ณผ๋ฌผ ์‹ ๋ขฐ๋„ ํ‰๊ฐ€ ๋ฐ ํ”ผ๋“œ๋ฐฑ ์ˆ˜์šฉ
18
 
19
+ ---
20
 
21
+ ## ๐Ÿ“Œ ์ž…๋ ฅ ํ˜•์‹ (JSON)
22
+ {
23
+ "scenario": "๋ฌธ์ œ ์ƒํ™ฉ์„ ๊ตฌ์ฒด์ ์œผ๋กœ ๊ธฐ์ˆ  (์ตœ๋Œ€ 300์ž)",
24
+ "objective": "ํ•ด๊ฒฐ ๋ชฉํ‘œ ๋ช…์‹œ (์˜ˆ: '์œค๋ฆฌ์  ๊ฐˆ๋“ฑ ํ•ด๊ฒฐ', 'ํ˜์‹ ์  ์•„์ด๋””์–ด ๋„์ถœ')",
25
+ "constraints": "์ œ์•ฝ ์กฐ๊ฑด ๋‚˜์—ด (์˜ต์…˜)"
26
+ }
27
 
28
  ---
29
 
30
+ ## ๐Ÿ“Š ์ถœ๋ ฅ ํ˜•์‹
31
+ 1. **์ƒํ™ฉ ๋ถ„์„**:
32
+ - ๋ฌธ์ œ ๋ฐœ์ƒ ๋ฐฐ๊ฒฝ ๋ฐ ํ•ต์‹ฌ ์š”์†Œ ์ถ”์ถœ
33
+ - ๊ด€๋ จ ๋ช…๋ฆฌํ•™์  ํŒจํ„ด ์‹๋ณ„ (์ธ์‚ฌ์‹  ์‚ผํ•ฉ, ์‚ฌํ•ด์ถฉ ๋“ฑ)
 
 
 
 
 
34
 
35
+ 2. **์†”๋ฃจ์…˜ ์ œ์•ˆ**:
36
+ - Step 1: ๋ฌธ์ œ ํ•ด๊ฒฐ์„ ์œ„ํ•œ ์ „๋žต์  ์ ‘๊ทผ๋ฒ•
37
+ - Step 2: ์‹คํ–‰ ๊ณ„ํš ์„ธ๋ถ€ํ™”
38
+ - Step 3: ์˜ˆ์ƒ ๊ฒฐ๊ณผ ๋ฐ ๋ฆฌ์Šคํฌ ๊ด€๋ฆฌ ๋ฐฉ์•ˆ
39
 
40
+ 3. **๊ฒ€์ฆ ๋‹จ๊ณ„**:
41
+ - ๊ฐ ๋‹จ๊ณ„๋ณ„ ์‹ ๋ขฐ๋„ ์ ์ˆ˜ (0~100%)
42
+ - ๋Œ€์•ˆ ์‹œ๋‚˜๋ฆฌ์˜ค ์ œ์‹œ (์ตœ์†Œ 2๊ฐ€์ง€ ์˜ต์…˜)
 
 
 
 
 
 
43
  """
44
 
45
+ # ==== ์‹คํ–‰ ํ•จ์ˆ˜ (๋ณ„๋„ ์„น์…˜ ๋ถ„๋ฆฌ) ==== #
46
  def run_jain_inference(input_json):
47
+ """Hugging Face ๋ชจ๋ธ ์‹คํ–‰ ํ•จ์ˆ˜"""
48
  try:
49
+ client = InferenceClient(model=MODEL_NAME)
50
+ response = client.predict(
51
+ input_dict=input_json,
52
+ max_length=1000,
53
+ temperature=0.7,
 
 
 
54
  top_p=1.0
55
  )
56
+ return response.choices[0].text.strip()
57
  except Exception as e:
58
  return f"์‹คํ–‰ ์˜ค๋ฅ˜: {str(e)}"
59
 
60
+ # ==== ํ…Œ์ŠคํŠธ ์‹คํ–‰ ์„น์…˜ (๋ณ„๋„ ๋ถ„๋ฆฌ) ==== #
61
  if __name__ == "__main__":
62
  # ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค 1: AI ์ฑ„์šฉ ์‹œ์Šคํ…œ์˜ ์„ฑ๋ณ„ ํŽธํ–ฅ์„ฑ ๋ฌธ์ œ
63
+ case1 = {
64
+ "scenario": "AI ๊ธฐ๋ฐ˜ ์ฑ„์šฉ ์‹œ์Šคํ…œ์ด ์„ฑ๋ณ„ ํŽธํ–ฅ์„ฑ ๋…ผ๋ž€ ๋ฐœ์ƒ",
65
+ "objective": "๊ณต์ •์„ฑ ๊ฒ€์ฆ ๋ฐ ๊ฐœ์„  ๋ฐฉ์•ˆ ์ˆ˜๋ฆฝ"
66
+ }
67
  print("=== ์ผ€์ด์Šค 1 ๊ฒฐ๊ณผ ===")
68
  print(run_jain_inference(case1))
69
 
70
  # ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค 2: ์˜๋ฃŒ AI์˜ ์ง„๋‹จ ์˜ค๋ฅ˜ ๋ฌธ์ œ
71
+ case2 = {
72
+ "scenario": "์˜๋ฃŒ AI๊ฐ€ ํ™˜์ž ๋ฐ์ดํ„ฐ ์˜ค๋…์œผ๋กœ ์ง„๋‹จ ์˜ค๋ฅ˜ ๋ฐœ์ƒ",
73
+ "objective": "์‹ ๋ขฐ์„ฑ ํ–ฅ์ƒ ์ „๋žต"
74
+ }
75
  print("\n=== ์ผ€์ด์Šค 2 ๊ฒฐ๊ณผ ===")
76
  print(run_jain_inference(case2))