Spaces:
Runtime error
Runtime error
Update app.py
Browse files
app.py
CHANGED
|
@@ -1,4 +1,5 @@
|
|
| 1 |
# app.py — HTR Space with Feedback Loop, Memory Post-Correction, and GRPO Export
|
|
|
|
| 2 |
import os, time, json, hashlib, difflib, uuid, csv
|
| 3 |
from datetime import datetime
|
| 4 |
from collections import Counter, defaultdict
|
|
@@ -71,9 +72,10 @@ def _build_inputs(processor, tokenizer, image: Image.Image, prompt: str):
|
|
| 71 |
|
| 72 |
if tokenizer and hasattr(tokenizer, "apply_chat_template"):
|
| 73 |
chat_prompt = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
|
| 74 |
-
|
|
|
|
| 75 |
|
| 76 |
-
return processor(text=[prompt], images=[image], return_tensors="pt")
|
| 77 |
|
| 78 |
|
| 79 |
def _decode_text(model, processor, tokenizer, output_ids, prompt: str):
|
|
@@ -142,8 +144,9 @@ def _apply_memory(text: str, model_choice: str, enabled: bool):
|
|
| 142 |
text = text.replace(wrong, right)
|
| 143 |
# 2) Global replacements
|
| 144 |
for wrong, right in rules.get("global", {}).items():
|
| 145 |
-
|
| 146 |
-
|
|
|
|
| 147 |
return text
|
| 148 |
|
| 149 |
def _compile_rules_from_feedback(min_count: int = 2, max_phrase_len: int = 40):
|
|
@@ -608,4 +611,4 @@ with gr.Blocks(theme=gr.themes.Soft()) as demo:
|
|
| 608 |
|
| 609 |
# The `if __name__ == "__main__":` block should be at the top level
|
| 610 |
if __name__ == "__main__":
|
| 611 |
-
demo.queue(max_size=50).launch(share=True)
|
|
|
|
| 1 |
# app.py — HTR Space with Feedback Loop, Memory Post-Correction, and GRPO Export
|
| 2 |
+
|
| 3 |
import os, time, json, hashlib, difflib, uuid, csv
|
| 4 |
from datetime import datetime
|
| 5 |
from collections import Counter, defaultdict
|
|
|
|
| 72 |
|
| 73 |
if tokenizer and hasattr(tokenizer, "apply_chat_template"):
|
| 74 |
chat_prompt = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
|
| 75 |
+
# Explicitly set truncation=False to prevent the token mismatch error
|
| 76 |
+
return processor(text=[chat_prompt], images=[image], return_tensors="pt", truncation=False)
|
| 77 |
|
| 78 |
+
return processor(text=[prompt], images=[image], return_tensors="pt", truncation=False)
|
| 79 |
|
| 80 |
|
| 81 |
def _decode_text(model, processor, tokenizer, output_ids, prompt: str):
|
|
|
|
| 144 |
text = text.replace(wrong, right)
|
| 145 |
# 2) Global replacements
|
| 146 |
for wrong, right in rules.get("global", {}).items():
|
| 147 |
+
for wrong, right in rules.get("global", {}).items():
|
| 148 |
+
if wrong and right:
|
| 149 |
+
text = text.replace(wrong, right)
|
| 150 |
return text
|
| 151 |
|
| 152 |
def _compile_rules_from_feedback(min_count: int = 2, max_phrase_len: int = 40):
|
|
|
|
| 611 |
|
| 612 |
# The `if __name__ == "__main__":` block should be at the top level
|
| 613 |
if __name__ == "__main__":
|
| 614 |
+
demo.queue(max_size=50).launch(share=True)
|