Spaces:
Sleeping
Sleeping
Commit
·
3c44ee8
1
Parent(s):
903f0f8
Update tinyllama_inference.py to use deepseek-ai/deepseek-coder-1.3b-instruct
Browse files- tinyllama_inference.py +11 -10
tinyllama_inference.py
CHANGED
|
@@ -15,12 +15,13 @@ def load_model():
|
|
| 15 |
return tokenizer, model
|
| 16 |
|
| 17 |
def evaluate_code(question, code):
|
| 18 |
-
# Refined prompt:
|
| 19 |
prompt = f"""You are an expert code evaluator.
|
| 20 |
-
Evaluate the following solution
|
| 21 |
-
|
| 22 |
"stars": an integer between 0 and 5 (0 means completely incorrect, 5 means excellent),
|
| 23 |
-
"feedback": a concise string message
|
|
|
|
| 24 |
Do not output any text besides the JSON.
|
| 25 |
Question: "{question}"
|
| 26 |
Solution: "{code}"
|
|
@@ -30,17 +31,17 @@ Your response:"""
|
|
| 30 |
outputs = model.generate(
|
| 31 |
**inputs,
|
| 32 |
max_new_tokens=100, # Allow enough tokens for a complete response
|
| 33 |
-
temperature=0.2, # Small randomness for
|
| 34 |
pad_token_id=tokenizer.eos_token_id,
|
| 35 |
do_sample=True # Enable sampling to encourage model generation
|
| 36 |
)
|
| 37 |
response_text = tokenizer.decode(outputs[0], skip_special_tokens=True)
|
| 38 |
-
print("Raw model response:", response_text) # Debug
|
| 39 |
|
| 40 |
-
# Use
|
| 41 |
-
|
| 42 |
-
if
|
| 43 |
-
json_text =
|
| 44 |
try:
|
| 45 |
result = json.loads(json_text)
|
| 46 |
except Exception as e:
|
|
|
|
| 15 |
return tokenizer, model
|
| 16 |
|
| 17 |
def evaluate_code(question, code):
|
| 18 |
+
# Refined prompt: instruct the model to output exactly one JSON object.
|
| 19 |
prompt = f"""You are an expert code evaluator.
|
| 20 |
+
Evaluate the following solution for the given problem.
|
| 21 |
+
Respond with exactly one JSON object (with no extra text) that has exactly two keys:
|
| 22 |
"stars": an integer between 0 and 5 (0 means completely incorrect, 5 means excellent),
|
| 23 |
+
"feedback": a concise string message.
|
| 24 |
+
The JSON must start with '{{' and end with '}}'.
|
| 25 |
Do not output any text besides the JSON.
|
| 26 |
Question: "{question}"
|
| 27 |
Solution: "{code}"
|
|
|
|
| 31 |
outputs = model.generate(
|
| 32 |
**inputs,
|
| 33 |
max_new_tokens=100, # Allow enough tokens for a complete response
|
| 34 |
+
temperature=0.2, # Small randomness for a bit of creativity
|
| 35 |
pad_token_id=tokenizer.eos_token_id,
|
| 36 |
do_sample=True # Enable sampling to encourage model generation
|
| 37 |
)
|
| 38 |
response_text = tokenizer.decode(outputs[0], skip_special_tokens=True)
|
| 39 |
+
print("Raw model response:", response_text) # Debug output
|
| 40 |
|
| 41 |
+
# Use findall to get all JSON objects and take the last one
|
| 42 |
+
matches = re.findall(r'\{.*?\}', response_text)
|
| 43 |
+
if matches:
|
| 44 |
+
json_text = matches[-1]
|
| 45 |
try:
|
| 46 |
result = json.loads(json_text)
|
| 47 |
except Exception as e:
|