benjamin5607 commited on
Commit
c091a07
ยท
verified ยท
1 Parent(s): e27da7d

Create utils/llm.py

Browse files
Files changed (1) hide show
  1. utils/llm.py +48 -0
utils/llm.py ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import time
2
+ import random
3
+
4
+ def get_ai_response(user_query, persona, context_data=None):
5
+ """
6
+ LLM ํ˜ธ์ถœ์„ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ํ•˜๋Š” ํ•จ์ˆ˜.
7
+ ๋‚˜์ค‘์— ์—ฌ๊ธฐ์— ์‹ค์ œ Ollama/OpenAI API ์—ฐ๋™ ์ฝ”๋“œ๋ฅผ ๋„ฃ์œผ๋ฉด ๋จ.
8
+
9
+ Args:
10
+ user_query (str): ์‚ฌ์šฉ์ž์˜ ๊ณ ๋ฏผ
11
+ persona (dict): ์„ ํƒ๋œ ํŽ˜๋ฅด์†Œ๋‚˜ ์ •๋ณด (prompts.py์—์„œ ์˜ด)
12
+ context_data (any): ํƒ€๋กœ ์นด๋“œ ๋ฆฌ์ŠคํŠธ ๋“ฑ ์ถ”๊ฐ€ ์ •๋ณด
13
+ """
14
+
15
+ # ์‹ค์ œ ์—ฐ๋™ ์‹œ:
16
+ # prompt = f"{persona['system_prompt']}\n\nUser: {user_query}\nContext: {context_data}"
17
+ # response = llm.invoke(prompt)
18
+
19
+ # --- ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ์‘๋‹ต (๊ฐ€์งœ) ---
20
+ time.sleep(2) # ์ƒ๊ฐํ•˜๋Š” ์ฒ™ ๋”œ๋ ˆ์ด
21
+
22
+ style = persona["name"]
23
+
24
+ if "ํƒ€๋กœ" in style:
25
+ cards = context_data if context_data else []
26
+ card_names = [c['name'] for c in cards]
27
+ return f"""
28
+ (์นด๋“œ๋ฅผ ์‘์‹œํ•˜๋ฉฐ...) ํ์Œ, **{', '.join(card_names)}** ์นด๋“œ๊ฐ€ ๋‚˜์™”๊ตฐ์š”.
29
+ ๋‹น์‹ ์˜ ๊ณ ๋ฏผ์ธ '{user_query}'์— ๋Œ€ํ•ด ์นด๋“œ๋Š” '๋ณ€ํ™”'๋ฅผ ์•”์‹œํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
30
+ ํŠนํžˆ {card_names[0]} ์นด๋“œ๋Š” ๋‹น์‹ ์˜ ๊ณผ๊ฑฐ๊ฐ€ ๊ทธ๋ฆฌ ํ‰ํƒ„์น˜ ์•Š์•˜์Œ์„ ๋ณด์—ฌ์ฃผ๋Š”๊ตฐ์š”.
31
+ ํ•˜์ง€๋งŒ ๊ฑฑ์ • ๋งˆ์„ธ์š”. ๋ณ„๋“ค์ด ๋‹น์‹ ์„ ์ง€์ผœ๋ณด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
32
+ """
33
+
34
+ elif "ํ’์ˆ˜" in style:
35
+ return f"""
36
+ ์–ดํ—ˆ, '{user_query}'๋ผ๊ณ ? ์ž๋„ค ์ง‘ ๊ตฌ์กฐ๊ฐ€ ๋ˆˆ์— ํ›คํ•˜๊ตฌ๋งŒ.
37
+ ๋ถ์ชฝ์— ๋จธ๋ฆฌ๋ฅผ ๋‘๊ณ  ์ž๊ณ  ์žˆ์ง€ ์•Š๋‚˜? ๋‹น์žฅ ์นจ๋Œ€ ๋จธ๋ฆฌ ๋ฐฉํ–ฅ๋ถ€ํ„ฐ ๋ฐ”๊พธ๊ฒŒ!
38
+ ํ˜„๊ด€์—๋Š” ๊ด€์—ฝ์‹๋ฌผ์„ ๋‘ฌ์•ผ ๋‚˜์œ ๊ธฐ์šด์ด ๊ฑธ๋Ÿฌ์ง€๋Š” ๋ฒ•์ผ์„ธ. ๋ช…์‹ฌํ•˜๊ฒŒ.
39
+ """
40
+
41
+ elif "์ ์Ÿ์ด" in style:
42
+ return f"""
43
+ ์•ผ! ๋„ˆ ์–ผ๊ตด์ด ์™œ ๊ทธ๋ž˜? '{user_query}' ๋•Œ๋ฌธ์— ์ž ๋„ ๋ชป ์ž์ง€?
44
+ ๋‚ด๊ฐ€ ๋”ฑ ๋ณด๋‹ˆ๊นŒ, ๋„ˆ ์ง€๊ธˆ ๋”ด ์ƒ๊ฐ ํ•˜๊ณ  ์žˆ๋„ค.
45
+ ์˜ฌํ•ด ์•ˆ์— ๋ฌธ์„œ ์šด ๋“ค์–ด์˜ค๋‹ˆ๊นŒ, ๋”ด ์ง“ ํ•˜์ง€ ๋ง๊ณ  ํ•˜๋˜ ๊ฑฐ๋‚˜ ์—ด์‹ฌํžˆ ํ•ด! ์•Œ์•˜์–ด?
46
+ """
47
+
48
+ return "์‹ ๋ น๋‹˜์ด ์‘๋‹ตํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค..."