tarek29910 commited on
Commit
e67f862
ยท
verified ยท
1 Parent(s): 349d153

Upload yehia_interface.py

Browse files
Files changed (1) hide show
  1. model/yehia_interface.py +52 -0
model/yehia_interface.py ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from transformers import AutoTokenizer, AutoModelForCausalLM
2
+ import torch
3
+ import os
4
+
5
+ # === Model setup ===
6
+ model_name = "Navid-AI/Yehia-7B-preview"
7
+
8
+ # Use token if private model
9
+ hf_token = os.getenv("HUGGINGFACE_TOKEN", None)
10
+
11
+ # Load tokenizer and model
12
+ tokenizer = AutoTokenizer.from_pretrained(model_name, use_auth_token=hf_token)
13
+
14
+ model = AutoModelForCausalLM.from_pretrained(
15
+ model_name,
16
+ torch_dtype=torch.bfloat16,
17
+ device_map="auto",
18
+ use_auth_token=hf_token
19
+ )
20
+
21
+ # === Inference function ===
22
+ def query_yehia(user_message: str, history=None):
23
+ if history is None:
24
+ history = []
25
+
26
+ messages = [
27
+ {"role": "system", "content": "ุฃู†ุช ูŠุญูŠู‰ุŒ ูˆูƒูŠู„ ู…ุจูŠุนุงุช ุนู‚ุงุฑูŠ ุฐูƒูŠ ู…ุชุฎุตุต ููŠ ุชู‚ุฏูŠู… ุงู„ู…ุดูˆุฑุฉ ู„ู„ุนู…ู„ุงุก ุจุงู„ู„ุบุฉ ุงู„ุนุฑุจูŠุฉ."},
28
+ *history,
29
+ {"role": "user", "content": user_message}
30
+ ]
31
+
32
+ # Apply chat template and move to model device
33
+ inputs = tokenizer.apply_chat_template(
34
+ messages,
35
+ add_generation_prompt=True,
36
+ return_tensors="pt"
37
+ ).to(model.device)
38
+
39
+ # Generate output
40
+ outputs = model.generate(
41
+ inputs,
42
+ max_new_tokens=512,
43
+ do_sample=True,
44
+ temperature=0.7,
45
+ top_p=0.95,
46
+ pad_token_id=tokenizer.eos_token_id
47
+ )
48
+
49
+ # Decode only the new tokens (skip the prompt)
50
+ response = tokenizer.decode(outputs[0][inputs.shape[-1]:], skip_special_tokens=True)
51
+
52
+ return response.strip()