Spaces:
Sleeping
Sleeping
changes made to app.py
Browse files
app.py
CHANGED
|
@@ -96,16 +96,24 @@ def identify_subtopic(question, domain):
|
|
| 96 |
|
| 97 |
def generate_question(prompt, domain, state=None):
|
| 98 |
full_prompt = system_prompt + "\n" + prompt
|
| 99 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 100 |
outputs = model.generate(
|
| 101 |
inputs["input_ids"],
|
|
|
|
| 102 |
max_new_tokens=50,
|
| 103 |
no_repeat_ngram_size=2,
|
| 104 |
top_k=30,
|
| 105 |
top_p=0.9,
|
| 106 |
temperature=0.7,
|
| 107 |
do_sample=True,
|
| 108 |
-
pad_token_id=tokenizer.
|
| 109 |
)
|
| 110 |
question = tokenizer.decode(outputs[0], skip_special_tokens=True).strip()
|
| 111 |
if not question.endswith("?"):
|
|
@@ -124,6 +132,11 @@ def generate_question(prompt, domain, state=None):
|
|
| 124 |
|
| 125 |
|
| 126 |
def evaluate_response(response, question):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 127 |
eval_prompt = (
|
| 128 |
"Evaluate the following candidate response to an interview question.\n\n"
|
| 129 |
f"**Question:** {question}\n"
|
|
@@ -132,15 +145,19 @@ def evaluate_response(response, question):
|
|
| 132 |
"Also, provide a brief suggestion for improvement. Format:\n"
|
| 133 |
"Rating: <Rating>\nSuggestion: <Suggestion>"
|
| 134 |
)
|
| 135 |
-
|
|
|
|
|
|
|
|
|
|
| 136 |
outputs = qwq_model.generate(
|
| 137 |
inputs["input_ids"],
|
|
|
|
| 138 |
max_new_tokens=100,
|
| 139 |
top_k=30,
|
| 140 |
top_p=0.9,
|
| 141 |
temperature=0.7,
|
| 142 |
do_sample=True,
|
| 143 |
-
pad_token_id=qwq_tokenizer.
|
| 144 |
)
|
| 145 |
evaluation = qwq_tokenizer.decode(outputs[0], skip_special_tokens=True)
|
| 146 |
rating, suggestion = "Unknown", "No suggestion available."
|
|
|
|
| 96 |
|
| 97 |
def generate_question(prompt, domain, state=None):
|
| 98 |
full_prompt = system_prompt + "\n" + prompt
|
| 99 |
+
# Explicitly set padding side and add pad token
|
| 100 |
+
tokenizer.padding_side = "left"
|
| 101 |
+
if tokenizer.pad_token is None:
|
| 102 |
+
tokenizer.pad_token = tokenizer.eos_token
|
| 103 |
+
|
| 104 |
+
# Tokenize with explicit padding and attention mask
|
| 105 |
+
inputs = tokenizer(full_prompt, return_tensors="pt", padding=True, truncation=True).to(device)
|
| 106 |
+
|
| 107 |
outputs = model.generate(
|
| 108 |
inputs["input_ids"],
|
| 109 |
+
attention_mask=inputs["attention_mask"],
|
| 110 |
max_new_tokens=50,
|
| 111 |
no_repeat_ngram_size=2,
|
| 112 |
top_k=30,
|
| 113 |
top_p=0.9,
|
| 114 |
temperature=0.7,
|
| 115 |
do_sample=True,
|
| 116 |
+
pad_token_id=tokenizer.pad_token_id,
|
| 117 |
)
|
| 118 |
question = tokenizer.decode(outputs[0], skip_special_tokens=True).strip()
|
| 119 |
if not question.endswith("?"):
|
|
|
|
| 132 |
|
| 133 |
|
| 134 |
def evaluate_response(response, question):
|
| 135 |
+
# Explicitly set padding side and add pad token
|
| 136 |
+
qwq_tokenizer.padding_side = "left"
|
| 137 |
+
if qwq_tokenizer.pad_token is None:
|
| 138 |
+
qwq_tokenizer.pad_token = qwq_tokenizer.eos_token
|
| 139 |
+
|
| 140 |
eval_prompt = (
|
| 141 |
"Evaluate the following candidate response to an interview question.\n\n"
|
| 142 |
f"**Question:** {question}\n"
|
|
|
|
| 145 |
"Also, provide a brief suggestion for improvement. Format:\n"
|
| 146 |
"Rating: <Rating>\nSuggestion: <Suggestion>"
|
| 147 |
)
|
| 148 |
+
|
| 149 |
+
# Tokenize with explicit padding and attention mask
|
| 150 |
+
inputs = qwq_tokenizer(eval_prompt, return_tensors="pt", padding=True, truncation=True).to(qwq_model.device)
|
| 151 |
+
|
| 152 |
outputs = qwq_model.generate(
|
| 153 |
inputs["input_ids"],
|
| 154 |
+
attention_mask=inputs["attention_mask"],
|
| 155 |
max_new_tokens=100,
|
| 156 |
top_k=30,
|
| 157 |
top_p=0.9,
|
| 158 |
temperature=0.7,
|
| 159 |
do_sample=True,
|
| 160 |
+
pad_token_id=qwq_tokenizer.pad_token_id,
|
| 161 |
)
|
| 162 |
evaluation = qwq_tokenizer.decode(outputs[0], skip_special_tokens=True)
|
| 163 |
rating, suggestion = "Unknown", "No suggestion available."
|