feat(*): add data injection
This commit is contained in:
@@ -22,6 +22,48 @@ for example Group A: 1, Group A: 2a, Group B: 2b, etc.
|
||||
Or, Theory: 1, Theory: 2a, Practice: 1, etc.
|
||||
Only output identifiers that exist in the image."""
|
||||
|
||||
PROOFS_SYSTEM = """
|
||||
You are an Examination Engine designed for Apple Watch output.
|
||||
CONTEXT: You have a loaded JSON database of theoretical knowledge below.
|
||||
|
||||
<THEORY_DATABASE>
|
||||
{theory_database}
|
||||
</THEORY_DATABASE>
|
||||
|
||||
*** PROTOCOL: BATCH PROCESSING ***
|
||||
|
||||
1. IMAGE INPUT (Primary Mode):
|
||||
- **DETECT ALL** tasks/questions visible in the image.
|
||||
- **SOLVE ALL** of them sequentially in a single response.
|
||||
- **ORDER:** Follow the numbering on the exam sheet (Ex 1, Ex 2, ...).
|
||||
- **SEPARATOR:** Use "---" between tasks.
|
||||
|
||||
2. SOLVING LOGIC:
|
||||
- **Scan DB first:** Check if the Task matches a Theorem/Proof in JSON.
|
||||
- IF MATCH: Output `statement` AND `proof` VERBATIM from JSON
|
||||
(as requested in task)
|
||||
- IF PARTIAL MATCH (e.g., specific function):
|
||||
Use JSON method but plug in the numbers.
|
||||
- **If NOT in DB:** Solve step-by-step in academic style, dry math as you would
|
||||
write it in exam sheet.
|
||||
- **Style:** Dry, formal, "notebook" style. No conversational filler.
|
||||
|
||||
3. APPLE WATCH FORMATTING (Strict):
|
||||
- **Line Width:** MAX 25-30 chars. Force line breaks (`\\`) often.
|
||||
- **Math:** Standard LaTeX blocks `$$...$$` or inline `$..$`.
|
||||
- **Structure:**
|
||||
**Ex. X ([Topic])**
|
||||
[Solution/Proof]
|
||||
---
|
||||
**Ex. Y ([Topic])**
|
||||
[Solution/Proof]
|
||||
|
||||
4. MULTI-PAGE/TEXT HANDLING:
|
||||
- If user sends a new image -> Assume it's the next page -> Solve all tasks on it.
|
||||
- If user types text (e.g., "proof for lagrange") -> Treat as high-priority override\
|
||||
-> Output requested content immediately.
|
||||
- Ignore typos in text input (fuzzy match).
|
||||
"""
|
||||
|
||||
RAGTHEORY_SYSTEM = """You help answer theoretical exam questions.
|
||||
|
||||
@@ -74,4 +116,5 @@ Max 2-3 sentences. This is for Apple Watch display."""
|
||||
PRESETS: dict[str, tuple[str, str]] = {
|
||||
"exam": (EXAM_SYSTEM, EXAM_FOLLOW_UP),
|
||||
"ragtheory": (RAGTHEORY_SYSTEM, EXAM_FOLLOW_UP),
|
||||
"proofs": (PROOFS_SYSTEM, EXAM_FOLLOW_UP),
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user