dev-yuje commited on
Commit
2c9909d
ยท
1 Parent(s): 2cfabf9

Enhance LLM personal features context

Browse files
Files changed (2) hide show
  1. app.py +6 -2
  2. llm/prompt.py +14 -9
app.py CHANGED
@@ -192,8 +192,12 @@ def generate_response(chatbot, user_message, analysis_report):
192
  yield chatbot, ""
193
 
194
  from llm.prompt import QA_PROMPT
195
- score_val = analysis_report.get("score", "๋ฏธ์ธก์ •") if isinstance(analysis_report, dict) else "๋ฏธ์ธก์ •"
196
- query_text = f"โ–  ๊ณ ๊ฐ ์ ์ˆ˜: {score_val}์ \nโ–  ์งˆ๋ฌธ: {user_message}"
 
 
 
 
197
  full_prompt = QA_PROMPT.format(context=context, query=query_text)
198
 
199
  # [์ค‘์š”] ๋”•์…”๋„ˆ๋ฆฌ ๋ฆฌ์ŠคํŠธ๋กœ ์ „๋‹ฌ (Gradio 5 UI ๋Œ€์‘)
 
192
  yield chatbot, ""
193
 
194
  from llm.prompt import QA_PROMPT
195
+ if isinstance(analysis_report, dict) and "features" in analysis_report:
196
+ score_val = analysis_report.get("score", "๋ฏธ์ธก์ •")
197
+ features_text = "\n".join([f"- {FEATURES_DETAIL[k][0]}: {v}" for k, v in analysis_report["features"].items()])
198
+ query_text = f"โ–  ๊ณ ๊ฐ ์‹ ์šฉ ์ ์ˆ˜: {score_val}์ \nโ–  ๊ณ ๊ฐ์˜ ํ˜„์žฌ ์ƒํƒœ(์ž…๋ ฅ๋œ ์ •๋ณด):\n{features_text}\n\nโ–  ๊ณ ๊ฐ ์งˆ๋ฌธ: {user_message}"
199
+ else:
200
+ query_text = f"โ–  ๊ณ ๊ฐ ์‹ ์šฉ ์ ์ˆ˜: ์ •๋ณด ์—†์Œ(์ผ๋ฐ˜ ์งˆ๋ฌธ ์ƒํƒœ)\nโ–  ์ƒํƒœ: ๋ถ„์„์„ ์ง„ํ–‰ํ•˜์ง€ ์•Š์Œ\nโ–  ์งˆ๋ฌธ: {user_message}"
201
  full_prompt = QA_PROMPT.format(context=context, query=query_text)
202
 
203
  # [์ค‘์š”] ๋”•์…”๋„ˆ๋ฆฌ ๋ฆฌ์ŠคํŠธ๋กœ ์ „๋‹ฌ (Gradio 5 UI ๋Œ€์‘)
llm/prompt.py CHANGED
@@ -10,16 +10,21 @@ QA_TEMPLATE = """๋‹น์‹ ์€ KCB ์‹ ์šฉํ‰๊ฐ€ ์ „๋ฌธ๊ฐ€์ด์ž ๋”ฐ๋œปํ•˜๊ณ  ์นœ์ ˆ
10
  {query}
11
 
12
  [์ƒ๋‹ด ๊ฐ€์ด๋“œ]
13
- 1. ์–ด์กฐ(Tone): ๊ณ ๊ฐ์˜ ๊ณ ๋ฏผ์— ๊ณต๊ฐํ•˜๋ฉฐ, "~์š”", "~์Šต๋‹ˆ๋‹ค"๋ฅผ ์ ์ ˆํžˆ ์„ž์–ด ๋”ฐ๋œปํ•˜๊ณ  ๋ถ€๋“œ๋Ÿฌ์šด ๋Œ€ํ™”์ฒด๋กœ ๋‹ต๋ณ€ํ•˜์„ธ์š”.
14
- 2. ๋‹ต๋ณ€ ๊ตฌ์กฐ:
15
- - ์ธ์‚ฌ ๋ฐ ๊ณต๊ฐ (์˜ˆ: "์•ˆ๋…•ํ•˜์„ธ์š”! ํ˜„์žฌ ์ ์ˆ˜์— ๋Œ€ํ•ด ๊ณ ๋ฏผ์ด ๋งŽ์œผ์…จ๊ตฐ์š”. ์ œ๊ฐ€ ์ฐจ๊ทผ์ฐจ๊ทผ ์„ค๋ช…ํ•ด ๋“œ๋ฆด๊ฒŒ์š”.")
16
- - ๊ณ ๊ฐ์˜ ํ˜„์žฌ ์ง€ํ‘œ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ํ•œ ๊ตฌ์ฒด์ ์ธ ์นญ์ฐฌ ๋˜๋Š” ์›์ธ ๋ถ„์„ (์˜ˆ: "๊ณ ๊ฐ๋‹˜์˜ ๊ฒฝ์šฐ ์—ฐ์ฒด ๊ฑด์ˆ˜๊ฐ€ ์•„์‰ฌ์šด ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค.")
17
- - [์ฐธ๊ณ  ์ง€์‹]์„ ํ™œ์šฉํ•œ ์‹ค์งˆ์ ์ธ ์ ์ˆ˜ ์ƒ์Šน ํŒ ์ œ์‹œ
18
- - ๋งˆ๋ฌด๋ฆฌ ์ธ์‚ฌ ๋ฐ ๊ฒฉ๋ ค
 
 
 
 
 
19
  3. ์ฃผ์˜์‚ฌํ•ญ:
20
- - "์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ์™€ ์งˆ๋ฌธ์„ ์ข…ํ•ฉ์ ์œผ๋กœ ๊ณ ๋ คํ•˜์—ฌ" ๊ฐ™์€ ๋”ฑ๋”ฑํ•˜๊ณ  ๊ธฐ๊ณ„์ ์ธ ํ‘œํ˜„์€ ์ ˆ๋Œ€ ์“ฐ์ง€ ๋งˆ์„ธ์š”.
21
- - ๊ณ ๊ฐ์ด ์ œ๊ณตํ•œ ๋ฐ์ดํ„ฐ ๋ฐ–์˜ ๋‚ด์šฉ์„ ์ง€์–ด๋‚ด์ง€ ๋งˆ์„ธ์š”.
22
- - ๋ถˆํ•„์š”ํ•œ ์‹œ์Šคํ…œ ํƒœ๊ทธ("[์‚ฌ์šฉ์ž ์งˆ๋ฌธ]", "๋‹ต๋ณ€:")๋ฅผ ์ถœ๋ ฅํ•˜์ง€ ๋งˆ์„ธ์š”. ๋ฐ”๋กœ ์‚ฌ๋žŒ์—๊ฒŒ ๋งํ•˜๋“ฏ ์‹œ์ž‘ํ•˜์„ธ์š”.
23
  """
24
 
25
  QA_PROMPT = PromptTemplate(template=QA_TEMPLATE, input_variables=["context", "query"])
 
10
  {query}
11
 
12
  [์ƒ๋‹ด ๊ฐ€์ด๋“œ]
13
+ 1. ์–ด์กฐ(Tone): ์ธ๊ฐ„ ์ƒ๋‹ด์‚ฌ์ฒ˜๋Ÿผ ๊ณ ๊ฐ์˜ ๊ณ ๋ฏผ์— ๊ณต๊ฐํ•˜๋ฉฐ, "~์š”", "~์Šต๋‹ˆ๋‹ค"๋ฅผ ์ ์ ˆํžˆ ์„ž์–ด ๋”ฐ๋œปํ•˜๊ณ  ๋ถ€๋“œ๋Ÿฌ์šด ๋Œ€ํ™”์ฒด๋กœ ๋‹ต๋ณ€ํ•˜์„ธ์š”.
14
+ 2. ๊ฐ ์ƒํ™ฉ์— ๋งž๋Š” ๋‹ต๋ณ€ ๊ตฌ์กฐ:
15
+ [๊ฒฝ์šฐ 1: ๊ณ ๊ฐ ์‹ ์šฉ ์ ์ˆ˜/์ƒํƒœ ์ •๋ณด๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ (์ผ๋ฐ˜ ๊ฐœ๋… ์งˆ๋ฌธ ๋“ฑ)]
16
+ - ์ผ๋ฐ˜์ ์ธ ์‹ ์šฉ ์ง€์‹์ด๋‚˜ ๊ฐœ๋…์„ [์ฐธ๊ณ  ์ง€์‹]์„ ๋ฐ”ํƒ•์œผ๋กœ ์‰ฝ๊ณ  ์นœ์ ˆํ•˜๊ฒŒ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.
17
+
18
+ [๊ฒฝ์šฐ 2: ๊ณ ๊ฐ์˜ ๊ตฌ์ฒด์ ์ธ ์‹ ์šฉ ์ƒํƒœ(์ž…๋ ฅ๋œ ์ •๋ณด)๊ฐ€ ์ œ๊ณต๋œ ๊ฒฝ์šฐ]
19
+ - ์ธ์‚ฌ ๋ฐ ๊ณ ๊ฐ์˜ ํ˜„์žฌ ์ ์ˆ˜์— ๋Œ€ํ•œ ํ‰๊ฐ€/๊ณต๊ฐ
20
+ - "๊ณ ๊ฐ๋‹˜์ด ์ž…๋ ฅํ•˜์‹  ์ •๋ณด๋ฅผ ํ™•์ธํ•ด๋ณด๋‹ˆ..." ์™€ ๊ฐ™์ด ๊ณ ๊ฐ์˜ ๊ฐœ๋ณ„ ์ง€ํ‘œ(์˜ˆ: ์นด๋“œ ์ด ์ด์šฉ๊ธˆ์•ก, ๋ณด์œ  ์นด๋“œ ์ˆ˜, ์—ฐ์ฒด ๊ฑด์ˆ˜ ๋“ฑ) ์ค‘ ๊ธ์ •์ ์ธ ๋ถ€๋ถ„๊ณผ ์ทจ์•ฝํ•œ ๋ถ€๋ถ„์„ ๋ช…ํ™•ํžˆ ์งš์–ด์ฃผ๋ฉฐ ์›์ธ ๋ถ„์„
21
+ - [์ฐธ๊ณ  ์ง€์‹]์„ ํ™œ์šฉํ•˜์—ฌ, ํ˜„์žฌ ์ทจ์•ฝํ•œ ์ง€ํ‘œ๋ฅผ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ํ™•์‹คํ•˜๊ณ  ๊ตฌ์ฒด์ ์ธ ์ ์ˆ˜ ์ƒ์Šน ํŒ ์ œ์‹œ
22
+ - ํฌ๋ง์„ ์ฃผ๋Š” ๋งˆ๋ฌด๋ฆฌ ๊ฒฉ๋ ค
23
+
24
  3. ์ฃผ์˜์‚ฌํ•ญ:
25
+ - "์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ์™€ ์งˆ๋ฌธ์„ ์ข…ํ•ฉ์ ์œผ๋กœ ๊ณ ๋ คํ•˜์—ฌ" ๊ฐ™์€ ์‹œ์Šคํ…œ์ ์ธ ํ‘œํ˜„์€ ์ ˆ๋Œ€ ์“ฐ์ง€ ๋งˆ์„ธ์š”.
26
+ - ๊ณ ๊ฐ์ด ์ œ๊ณตํ•œ ๋ฐ์ดํ„ฐ ๋ฐ–์˜ ๋‚ด์šฉ์„ ์ง€์–ด๋‚ด์ง€ ๋ง๊ณ  ํŒฉํŠธ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ณต๊ฐํ•ด ์ฃผ์„ธ์š”.
27
+ - ๋ถˆํ•„์š”ํ•œ ํƒœ๊ทธ("[์‚ฌ์šฉ์ž ์งˆ๋ฌธ]", "๋‹ต๋ณ€:") ์—†์ด ๋ฐ”๋กœ ์•ˆ๋…•ํ•˜์„ธ์š”๋กœ ์‹œ์ž‘ํ•˜์„ธ์š”.
28
  """
29
 
30
  QA_PROMPT = PromptTemplate(template=QA_TEMPLATE, input_variables=["context", "query"])