ciyidogan commited on
Commit
c6f773b
·
verified ·
1 Parent(s): 01ac332

Update llm_model.py

Browse files
Files changed (1) hide show
  1. llm_model.py +21 -4
llm_model.py CHANGED
@@ -1,19 +1,24 @@
1
  import torch
2
  import traceback
3
- from transformers import AutoTokenizer, AutoModelForCausalLM
4
  from log import log
5
  from pydantic import BaseModel
6
  import os
 
7
 
8
  class Message(BaseModel):
9
  user_input: str
10
 
11
  class LLMModel:
12
  def __init__(self):
13
- self.model = None
14
  self.tokenizer = None
15
  self.eos_token_id = None
16
 
 
 
 
 
17
  def setup(self, s_config, project_config, project_path):
18
  try:
19
  log("🧠 LLMModel setup() başladı")
@@ -27,7 +32,7 @@ class LLMModel:
27
  log(f"📦 Hugging Face cloud modeli yükleniyor: {model_base}")
28
  self.tokenizer = AutoTokenizer.from_pretrained(model_base, token=token, use_fast=False)
29
  self.model = AutoModelForCausalLM.from_pretrained(model_base, token=token, torch_dtype=torch.float32).to(device)
30
- elif s_config.work_mode == "cloud" or s_config.work_mode == "on-prem":
31
  log(f"📦 Model indiriliyor veya yükleniyor: {model_base}")
32
  self.tokenizer = AutoTokenizer.from_pretrained(model_base, use_fast=False)
33
  self.model = AutoModelForCausalLM.from_pretrained(model_base, torch_dtype=torch.float32).to(device)
@@ -44,6 +49,18 @@ class LLMModel:
44
  log(f"❌ LLMModel setup() hatası: {e}")
45
  traceback.print_exc()
46
 
 
 
 
 
 
 
 
 
 
 
 
 
47
  async def generate_response(self, text, project_config):
48
  messages = [{"role": "user", "content": text}]
49
  encodeds = self.tokenizer.apply_chat_template(messages, return_tensors="pt", add_generation_prompt=True)
@@ -75,4 +92,4 @@ class LLMModel:
75
  if start != -1:
76
  decoded = decoded[start + len(tag):].strip()
77
  break
78
- return decoded, top_conf
 
1
  import torch
2
  import traceback
3
+ from transformers import AutoTokenizer, AutoModelForCausalLM, AutoModelForSequenceClassification
4
  from log import log
5
  from pydantic import BaseModel
6
  import os
7
+ import json
8
 
9
  class Message(BaseModel):
10
  user_input: str
11
 
12
  class LLMModel:
13
  def __init__(self):
14
+ self.model = None # ana model
15
  self.tokenizer = None
16
  self.eos_token_id = None
17
 
18
+ self.intent_model = None # intent modeli
19
+ self.intent_tokenizer = None
20
+ self.intent_label2id = None
21
+
22
  def setup(self, s_config, project_config, project_path):
23
  try:
24
  log("🧠 LLMModel setup() başladı")
 
32
  log(f"📦 Hugging Face cloud modeli yükleniyor: {model_base}")
33
  self.tokenizer = AutoTokenizer.from_pretrained(model_base, token=token, use_fast=False)
34
  self.model = AutoModelForCausalLM.from_pretrained(model_base, token=token, torch_dtype=torch.float32).to(device)
35
+ elif s_config.work_mode in ["cloud", "on-prem"]:
36
  log(f"📦 Model indiriliyor veya yükleniyor: {model_base}")
37
  self.tokenizer = AutoTokenizer.from_pretrained(model_base, use_fast=False)
38
  self.model = AutoModelForCausalLM.from_pretrained(model_base, torch_dtype=torch.float32).to(device)
 
49
  log(f"❌ LLMModel setup() hatası: {e}")
50
  traceback.print_exc()
51
 
52
+ def load_intent_model(self, model_path):
53
+ try:
54
+ log(f"🔧 Intent modeli yükleniyor: {model_path}")
55
+ self.intent_tokenizer = AutoTokenizer.from_pretrained(model_path)
56
+ self.intent_model = AutoModelForSequenceClassification.from_pretrained(model_path)
57
+ with open(os.path.join(model_path, "label2id.json")) as f:
58
+ self.intent_label2id = json.load(f)
59
+ log("✅ Intent modeli yüklemesi tamamlandı.")
60
+ except Exception as e:
61
+ log(f"❌ Intent modeli yükleme hatası: {e}")
62
+ traceback.print_exc()
63
+
64
  async def generate_response(self, text, project_config):
65
  messages = [{"role": "user", "content": text}]
66
  encodeds = self.tokenizer.apply_chat_template(messages, return_tensors="pt", add_generation_prompt=True)
 
92
  if start != -1:
93
  decoded = decoded[start + len(tag):].strip()
94
  break
95
+ return decoded, top_conf