prelington commited on
Commit
cca0ede
·
verified ·
1 Parent(s): 8a3b87f

Create inference.py

Browse files
Files changed (1) hide show
  1. inference.py +42 -0
inference.py ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline
2
+
3
+ def load_model(model_name="your-username/sentinel"):
4
+ """
5
+ Load Sentinel model and tokenizer.
6
+ """
7
+ print(f"Loading {model_name}...")
8
+ tokenizer = AutoTokenizer.from_pretrained(model_name)
9
+ model = AutoModelForCausalLM.from_pretrained(
10
+ model_name,
11
+ device_map="auto", # Uses GPU if available
12
+ trust_remote_code=True
13
+ )
14
+ generator = pipeline("text-generation", model=model, tokenizer=tokenizer)
15
+ return generator
16
+
17
+ def code_with_sentinel(prompt, generator, max_new_tokens=200):
18
+ """
19
+ Generate code from a natural language prompt.
20
+ """
21
+ print(f"\nPrompt: {prompt}\n")
22
+ output = generator(
23
+ prompt,
24
+ max_new_tokens=max_new_tokens,
25
+ do_sample=True,
26
+ top_p=0.9,
27
+ temperature=0.7,
28
+ eos_token_id=generator.tokenizer.eos_token_id
29
+ )
30
+ result = output[0]["generated_text"]
31
+ # Return only new code, not the full prompt
32
+ return result[len(prompt):].strip()
33
+
34
+ if __name__ == "__main__":
35
+ # Example usage
36
+ generator = load_model("your-username/sentinel")
37
+
38
+ prompt = "Write a Python function that checks if a number is prime."
39
+ code = code_with_sentinel(prompt, generator)
40
+
41
+ print("Generated Code:\n")
42
+ print(code)