seawolf2357 commited on
Commit
922d19a
โ€ข
1 Parent(s): cb69e60

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +10 -6
app.py CHANGED
@@ -15,7 +15,6 @@ intents.messages = True
15
  # hf_client = InferenceClient("meta-llama/Meta-Llama-3-70B-Instruct", token=os.getenv("HF_TOKEN"))
16
  hf_client = InferenceClient("CohereForAI/c4ai-command-r-plus", token=os.getenv("HF_TOKEN"))
17
 
18
-
19
  # ๋Œ€ํ™” ํžˆ์Šคํ† ๋ฆฌ๋ฅผ ์ €์žฅํ•  ๋ณ€์ˆ˜
20
  conversation_history = []
21
 
@@ -31,13 +30,14 @@ class MyClient(discord.Client):
31
  logging.info('์ž์‹ ์˜ ๋ฉ”์‹œ์ง€๋Š” ๋ฌด์‹œํ•ฉ๋‹ˆ๋‹ค.')
32
  return
33
 
34
- logging.debug(f'Receiving message: {message.content}')
35
  response = await generate_response(message.content)
36
  await message.channel.send(response)
37
 
38
  async def generate_response(user_input):
39
- system_message = "DISCORD์—์„œ ์‚ฌ์šฉ์ž๋“ค์˜ ์งˆ๋ฌธ์— ์นœ์ ˆํ•˜๊ฒŒ ๋‹ตํ•˜๋Š” ์ „๋ฌธ AI ์–ด์‹œ์Šคํ„ดํŠธ์ž…๋‹ˆ๋‹ค. ๋Œ€ํ™”๋ฅผ ๊ณ„์† ์ด์–ด๊ฐ€๊ณ , ์ด์ „ ์‘๋‹ต์„ ์ฐธ๊ณ ํ•˜์‹ญ์‹œ์˜ค."
40
  system_prefix = """
 
41
  ๋ฐ˜๋“œ์‹œ ํ•œ๊ธ€๋กœ ๋‹ต๋ณ€ํ•˜์‹ญ์‹œ์˜ค. ์ถœ๋ ฅ์‹œ ๋„์›Œ์“ฐ๊ธฐ๋ฅผ ํ•˜๊ณ  markdown์œผ๋กœ ์ถœ๋ ฅํ•˜๋ผ.
42
  ์งˆ๋ฌธ์— ์ ํ•ฉํ•œ ๋‹ต๋ณ€์„ ์ œ๊ณตํ•˜๋ฉฐ, ๊ฐ€๋Šฅํ•œ ํ•œ ๊ตฌ์ฒด์ ์ด๊ณ  ๋„์›€์ด ๋˜๋Š” ๋‹ต๋ณ€์„ ์ œ๊ณตํ•˜์‹ญ์‹œ์˜ค.
43
  ๋ชจ๋“  ๋‹ต๋ณ€์„ ํ•œ๊ธ€๋กœ ํ•˜๊ณ , ๋Œ€ํ™” ๋‚ด์šฉ์„ ๊ธฐ์–ตํ•˜์‹ญ์‹œ์˜ค.
@@ -45,25 +45,29 @@ async def generate_response(user_input):
45
  ๋ฐ˜๋“œ์‹œ ํ•œ๊ธ€๋กœ ๋‹ต๋ณ€ํ•˜์‹ญ์‹œ์˜ค.
46
  """
47
 
 
48
  # ๋Œ€ํ™” ํžˆ์Šคํ† ๋ฆฌ ๊ด€๋ฆฌ
49
  global conversation_history
50
  conversation_history.append({"role": "user", "content": user_input})
 
51
 
52
  messages = [{"role": "system", "content": f"{system_prefix} {system_message}"}] + conversation_history
 
53
 
54
  # ๋™๊ธฐ ํ•จ์ˆ˜๋ฅผ ๋น„๋™๊ธฐ๋กœ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๋ž˜ํผ ์‚ฌ์šฉ, stream=true๋กœ ๋ณ€๊ฒฝ
55
  loop = asyncio.get_event_loop()
56
  response = await loop.run_in_executor(None, lambda: hf_client.chat_completion(
57
- messages, max_tokens=250, stream=True, temperature=0.9, top_p=0.9))
58
 
59
  # ์ŠคํŠธ๋ฆฌ๋ฐ ์‘๋‹ต์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋กœ์ง ์ถ”๊ฐ€
60
  full_response = ""
61
  for part in response:
62
- full_response += part.choices[0].delta.content.strip()
 
63
 
64
  conversation_history.append({"role": "assistant", "content": full_response})
 
65
 
66
- logging.debug(f'Model response: {full_response}')
67
  return full_response
68
 
69
  # ๋””์Šค์ฝ”๋“œ ๋ด‡ ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ ๋ฐ ์‹คํ–‰
 
15
  # hf_client = InferenceClient("meta-llama/Meta-Llama-3-70B-Instruct", token=os.getenv("HF_TOKEN"))
16
  hf_client = InferenceClient("CohereForAI/c4ai-command-r-plus", token=os.getenv("HF_TOKEN"))
17
 
 
18
  # ๋Œ€ํ™” ํžˆ์Šคํ† ๋ฆฌ๋ฅผ ์ €์žฅํ•  ๋ณ€์ˆ˜
19
  conversation_history = []
20
 
 
30
  logging.info('์ž์‹ ์˜ ๋ฉ”์‹œ์ง€๋Š” ๋ฌด์‹œํ•ฉ๋‹ˆ๋‹ค.')
31
  return
32
 
33
+ logging.debug(f'Receiving message: {message.content}') # ์ž…๋ ฅ ๋ฉ”์‹œ์ง€ ๋กœ๊น…
34
  response = await generate_response(message.content)
35
  await message.channel.send(response)
36
 
37
  async def generate_response(user_input):
38
+ system_message = "DISCORD์—์„œ ์‚ฌ์šฉ์ž๋“ค์˜ ์งˆ๋ฌธ์— ๋‹ตํ•˜๋Š” ์ „๋ฌธ AI ์–ด์‹œ์Šคํ„ดํŠธ์ž…๋‹ˆ๋‹ค. ๋Œ€ํ™”๋ฅผ ๊ณ„์† ์ด์–ด๊ฐ€๊ณ , ์ด์ „ ์‘๋‹ต์„ ์ฐธ๊ณ ํ•˜์‹ญ์‹œ์˜ค."
39
  system_prefix = """
40
+
41
  ๋ฐ˜๋“œ์‹œ ํ•œ๊ธ€๋กœ ๋‹ต๋ณ€ํ•˜์‹ญ์‹œ์˜ค. ์ถœ๋ ฅ์‹œ ๋„์›Œ์“ฐ๊ธฐ๋ฅผ ํ•˜๊ณ  markdown์œผ๋กœ ์ถœ๋ ฅํ•˜๋ผ.
42
  ์งˆ๋ฌธ์— ์ ํ•ฉํ•œ ๋‹ต๋ณ€์„ ์ œ๊ณตํ•˜๋ฉฐ, ๊ฐ€๋Šฅํ•œ ํ•œ ๊ตฌ์ฒด์ ์ด๊ณ  ๋„์›€์ด ๋˜๋Š” ๋‹ต๋ณ€์„ ์ œ๊ณตํ•˜์‹ญ์‹œ์˜ค.
43
  ๋ชจ๋“  ๋‹ต๋ณ€์„ ํ•œ๊ธ€๋กœ ํ•˜๊ณ , ๋Œ€ํ™” ๋‚ด์šฉ์„ ๊ธฐ์–ตํ•˜์‹ญ์‹œ์˜ค.
 
45
  ๋ฐ˜๋“œ์‹œ ํ•œ๊ธ€๋กœ ๋‹ต๋ณ€ํ•˜์‹ญ์‹œ์˜ค.
46
  """
47
 
48
+
49
  # ๋Œ€ํ™” ํžˆ์Šคํ† ๋ฆฌ ๊ด€๋ฆฌ
50
  global conversation_history
51
  conversation_history.append({"role": "user", "content": user_input})
52
+ logging.debug(f'Conversation history updated: {conversation_history}') # ๋Œ€ํ™” ํžˆ์Šคํ† ๋ฆฌ ๋กœ๊น…
53
 
54
  messages = [{"role": "system", "content": f"{system_prefix} {system_message}"}] + conversation_history
55
+ logging.debug(f'Messages to be sent to the model: {messages}') # ๋ชจ๋ธ๋กœ ์ „์†ก๋  ๋ฉ”์‹œ์ง€ ๋กœ๊น…
56
 
57
  # ๋™๊ธฐ ํ•จ์ˆ˜๋ฅผ ๋น„๋™๊ธฐ๋กœ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๋ž˜ํผ ์‚ฌ์šฉ, stream=true๋กœ ๋ณ€๊ฒฝ
58
  loop = asyncio.get_event_loop()
59
  response = await loop.run_in_executor(None, lambda: hf_client.chat_completion(
60
+ messages, max_tokens=1000, stream=True, temperature=0.7, top_p=0.85))
61
 
62
  # ์ŠคํŠธ๋ฆฌ๋ฐ ์‘๋‹ต์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋กœ์ง ์ถ”๊ฐ€
63
  full_response = ""
64
  for part in response:
65
+ if part.choices and part.choices[0].delta.content: # ๋ธํƒ€๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธ
66
+ full_response += part.choices[0].delta.content.strip()
67
 
68
  conversation_history.append({"role": "assistant", "content": full_response})
69
+ logging.debug(f'Model response: {full_response}') # ์‘๋‹ต ๋กœ๊น…
70
 
 
71
  return full_response
72
 
73
  # ๋””์Šค์ฝ”๋“œ ๋ด‡ ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ ๋ฐ ์‹คํ–‰