From acbddf88d2ea68330f311d8fa35b5ad20071d6fc Mon Sep 17 00:00:00 2001 From: Anthony Stirling <77850077+Frooodle@users.noreply.github.com> Date: Sun, 4 Jan 2026 21:17:35 +0000 Subject: [PATCH] tests --- AI-Document-Generator-main/Dockerfile | 7 +- .../backend/ai_generation.py | 498 +++++- AI-Document-Generator-main/backend/app.py | 328 +++- AI-Document-Generator-main/backend/briefs.py | 34 + AI-Document-Generator-main/backend/config.py | 10 + .../backend/latex_utils.py | 96 +- .../backend/pdf_utils.py | 1 + AI-Document-Generator-main/backend/prompts.py | 7 +- .../scripts/generate_template_thumbnails.py | 262 ++++ AI-Document-Generator-main/backend/vision.py | 12 + .../templates/academic_articles/default.jpg | Bin 0 -> 228305 bytes .../templates/academic_journals/default.jpg | Bin 0 -> 150093 bytes .../public/templates/assignments/default.jpg | Bin 0 -> 88796 bytes .../public/templates/books/default.jpg | Bin 0 -> 42304 bytes .../templates/business_cards/default.jpg | Bin 0 -> 12214 bytes .../templates/business_reports/default.jpg | Bin 0 -> 145083 bytes .../public/templates/calendars/default.jpg | Bin 0 -> 50065 bytes .../templates/conference_posters/default.jpg | Bin 0 -> 126411 bytes .../templates/cover_letters/default.jpg | Bin 0 -> 78265 bytes .../templates/cvs_and_resumes/default.jpg | Bin 0 -> 107090 bytes .../public/templates/essays/default.jpg | Bin 0 -> 113693 bytes .../templates/formal_letters/default.jpg | Bin 0 -> 79525 bytes .../public/templates/invoices/default.jpg | Bin 0 -> 90164 bytes .../templates/laboratory_books/default.jpg | Bin 0 -> 100670 bytes .../templates/laboratory_reports/default.jpg | Bin 0 -> 173089 bytes .../templates/miscellaneous/default.jpg | Bin 0 -> 58784 bytes .../public/templates/newsletters/default.jpg | Bin 0 -> 139258 bytes .../templates/presentations/default.jpg | Bin 0 -> 63866 bytes .../public/templates/recipes/default.jpg | Bin 0 -> 88570 bytes .../public/templates/signs/default.jpg | Bin 0 -> 45828 bytes .../public/templates/theses/default.jpg | Bin 0 -> 43490 bytes .../public/templates/title_pages/default.jpg | Bin 0 -> 43897 bytes .../frontend/src/App.tsx | 107 +- .../src/components/landing/LandingView.tsx | 589 ++++---- .../components/workspace/WorkspaceView.tsx | 818 ++++++++-- .../frontend/src/hooks/useDocumentWorkflow.ts | 1346 +++++++++++++++-- .../frontend/src/templateCatalog.ts | 31 + .../controller/api/ai/AiProxyController.java | 6 + .../controller/api/ai/AiCreateController.java | 220 +++ .../api/ai/AiCreateInternalController.java | 57 + .../proprietary/model/ai/AiCreateSession.java | 52 + .../model/ai/AiCreateSessionStatus.java | 10 + .../repository/AiCreateSessionRepository.java | 7 + .../service/ai/AiCreateProxyService.java | 88 ++ .../service/ai/AiCreateSessionService.java | 155 ++ docker/backend/Dockerfile | 20 +- docs/ai_create_with_ai_plan.md | 16 +- overleaf_scraper.py | 249 +++ templates.png | Bin 0 -> 28206 bytes 49 files changed, 4436 insertions(+), 590 deletions(-) create mode 100644 AI-Document-Generator-main/backend/scripts/generate_template_thumbnails.py create mode 100644 AI-Document-Generator-main/frontend/public/templates/academic_articles/default.jpg create mode 100644 AI-Document-Generator-main/frontend/public/templates/academic_journals/default.jpg create mode 100644 AI-Document-Generator-main/frontend/public/templates/assignments/default.jpg create mode 100644 AI-Document-Generator-main/frontend/public/templates/books/default.jpg create mode 100644 AI-Document-Generator-main/frontend/public/templates/business_cards/default.jpg create mode 100644 AI-Document-Generator-main/frontend/public/templates/business_reports/default.jpg create mode 100644 AI-Document-Generator-main/frontend/public/templates/calendars/default.jpg create mode 100644 AI-Document-Generator-main/frontend/public/templates/conference_posters/default.jpg create mode 100644 AI-Document-Generator-main/frontend/public/templates/cover_letters/default.jpg create mode 100644 AI-Document-Generator-main/frontend/public/templates/cvs_and_resumes/default.jpg create mode 100644 AI-Document-Generator-main/frontend/public/templates/essays/default.jpg create mode 100644 AI-Document-Generator-main/frontend/public/templates/formal_letters/default.jpg create mode 100644 AI-Document-Generator-main/frontend/public/templates/invoices/default.jpg create mode 100644 AI-Document-Generator-main/frontend/public/templates/laboratory_books/default.jpg create mode 100644 AI-Document-Generator-main/frontend/public/templates/laboratory_reports/default.jpg create mode 100644 AI-Document-Generator-main/frontend/public/templates/miscellaneous/default.jpg create mode 100644 AI-Document-Generator-main/frontend/public/templates/newsletters/default.jpg create mode 100644 AI-Document-Generator-main/frontend/public/templates/presentations/default.jpg create mode 100644 AI-Document-Generator-main/frontend/public/templates/recipes/default.jpg create mode 100644 AI-Document-Generator-main/frontend/public/templates/signs/default.jpg create mode 100644 AI-Document-Generator-main/frontend/public/templates/theses/default.jpg create mode 100644 AI-Document-Generator-main/frontend/public/templates/title_pages/default.jpg create mode 100644 AI-Document-Generator-main/frontend/src/templateCatalog.ts create mode 100644 app/proprietary/src/main/java/stirling/software/proprietary/controller/api/ai/AiCreateController.java create mode 100644 app/proprietary/src/main/java/stirling/software/proprietary/controller/api/ai/AiCreateInternalController.java create mode 100644 app/proprietary/src/main/java/stirling/software/proprietary/model/ai/AiCreateSession.java create mode 100644 app/proprietary/src/main/java/stirling/software/proprietary/model/ai/AiCreateSessionStatus.java create mode 100644 app/proprietary/src/main/java/stirling/software/proprietary/repository/AiCreateSessionRepository.java create mode 100644 app/proprietary/src/main/java/stirling/software/proprietary/service/ai/AiCreateProxyService.java create mode 100644 app/proprietary/src/main/java/stirling/software/proprietary/service/ai/AiCreateSessionService.java create mode 100644 overleaf_scraper.py create mode 100644 templates.png diff --git a/AI-Document-Generator-main/Dockerfile b/AI-Document-Generator-main/Dockerfile index ba6e76f67f..3d7ea31534 100644 --- a/AI-Document-Generator-main/Dockerfile +++ b/AI-Document-Generator-main/Dockerfile @@ -1,7 +1,9 @@ +# syntax=docker/dockerfile:1.5 FROM python:3.11-slim # Install full TeXLive so LLM outputs (siunitx, paracol, tikz, etc.) compile reliably. -RUN apt-get update && \ +RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ + apt-get update && \ apt-get install -y --no-install-recommends \ texlive-full \ latexmk \ @@ -15,7 +17,8 @@ WORKDIR /app # Copy backend files COPY backend/requirements.txt . -RUN pip install --no-cache-dir -r requirements.txt +RUN --mount=type=cache,target=/root/.cache/pip \ + pip install -r requirements.txt COPY backend/ . diff --git a/AI-Document-Generator-main/backend/ai_generation.py b/AI-Document-Generator-main/backend/ai_generation.py index 733aa9bf59..5cc2f40b16 100644 --- a/AI-Document-Generator-main/backend/ai_generation.py +++ b/AI-Document-Generator-main/backend/ai_generation.py @@ -1,7 +1,9 @@ from __future__ import annotations import json +import re from typing import Any, Dict, List, Optional +import time from config import CLIENT_MODE, SMART_MODEL, STREAMING_ENABLED, get_chat_model, logger from langchain_utils import to_lc_messages @@ -9,6 +11,463 @@ from storage import save_user_style from prompts import latex_system_prompt, latex_context_messages +def generate_outline_with_llm( + prompt: str, + document_type: str, + constraints: Optional[Dict[str, Any]] = None, +) -> str: + if CLIENT_MODE == "langchain": + constraint_text = "" + if constraints: + tone = constraints.get("tone") + audience = constraints.get("audience") + pages = constraints.get("pageCount") + constraint_text = f"Tone: {tone}. Audience: {audience}. Target pages: {pages}." + system_prompt = ( + "You are an outline generator for document creation.\n" + f"Document type: {document_type}\n" + f"{constraint_text}\n" + "Return a concise outline with section titles and short descriptions.\n" + "Keep each description to roughly 6-12 words.\n" + "Ensure the outline scope fits the target page count.\n" + "Output plain text only, using a numbered list with 5-9 sections." + ) + messages: List[Dict[str, Any]] = [ + {"role": "system", "content": system_prompt}, + {"role": "user", "content": prompt}, + ] + try: + llm = get_chat_model(SMART_MODEL) + if llm: + start = time.perf_counter() + response = llm.invoke(to_lc_messages(messages)) + elapsed = time.perf_counter() - start + content = response.content or "" + usage = getattr(response, "usage_metadata", None) + logger.info( + "[AI] outline model=%s elapsed=%.2fs chars=%s usage=%s", + SMART_MODEL, + elapsed, + len(str(content)), + usage, + ) + if content: + return str(content).strip() + except Exception as exc: + logger.error("[AI] Outline generation failed, falling back: %s", exc) + + safe_prompt = prompt.strip() or "Document" + return ( + "1) Introduction - Summary of the document goals.\n" + "2) Background - Context and key assumptions.\n" + "3) Main Content - Core points and supporting details.\n" + "4) Evidence - Data, examples, or references.\n" + "5) Conclusion - Wrap-up and next steps.\n" + f"Notes: Tailor details to '{safe_prompt}'." + ) + + +def _parse_outline_to_sections(outline_text: str) -> List[Dict[str, str]]: + lines = [ + line.strip() + for line in outline_text.split("\n") + if line.strip() and not re.match(r"^(section|details)$", line.strip(), re.IGNORECASE) + ] + sections: List[Dict[str, str]] = [] + i = 0 + while i < len(lines): + cleaned = re.sub(r"^\d+[\).\s-]+", "", lines[i]).strip() + if not cleaned: + i += 1 + continue + + split = re.split(r"[-–:]+", cleaned, maxsplit=1) + if len(split) > 1: + sections.append({"label": split[0].strip() or "Section", "value": split[1].strip()}) + i += 1 + continue + + next_line = lines[i + 1].strip() if i + 1 < len(lines) else "" + if next_line and not re.match(r"^\d+[\).\s-]+", next_line): + sections.append({"label": cleaned, "value": next_line}) + i += 2 + continue + + sections.append({"label": cleaned, "value": ""}) + i += 1 + + return sections + + +def _extract_fields_from_prompt(prompt: str, fields: List[Dict[str, Any]]) -> List[Dict[str, str]]: + lines = [line.strip() for line in prompt.split("\n") if line.strip()] + kv_pairs: Dict[str, str] = {} + for line in lines: + match = re.match(r"^([^:]{2,40}):\s*(.+)$", line) + if match: + kv_pairs[match.group(1).strip().lower()] = match.group(2).strip() + + email_match = re.search(r"[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}", prompt, re.IGNORECASE) + phone_match = re.search(r"(\+?\d[\d\s().-]{7,})", prompt) + date_match = re.search(r"\b\d{1,2}[\/.-]\d{1,2}[\/.-]\d{2,4}\b", prompt) + money_match = re.search(r"\$\s?\d[\d,]*(?:\.\d{2})?", prompt) + + filled: List[Dict[str, str]] = [] + for field in fields: + label = str(field.get("label", "Field")) + value = str(field.get("value", "") or "") + if value.strip(): + filled.append({"label": label, "value": value}) + continue + label_lower = label.lower() + for key, val in kv_pairs.items(): + if key in label_lower: + value = val + break + if not value and email_match and "email" in label_lower: + value = email_match.group(0) + if not value and phone_match and "phone" in label_lower: + value = phone_match.group(0) + if not value and date_match and ("date" in label_lower or "due" in label_lower): + value = date_match.group(0) + if not value and money_match and ("total" in label_lower or "amount" in label_lower): + value = money_match.group(0) + filled.append({"label": label, "value": value}) + return filled + + +def generate_field_values( + prompt: str, + document_type: str, + fields: List[Dict[str, Any]], + constraints: Optional[Dict[str, Any]] = None, +) -> List[Dict[str, str]]: + if CLIENT_MODE == "langchain": + constraint_text = "" + if constraints: + tone = constraints.get("tone") + audience = constraints.get("audience") + pages = constraints.get("pageCount") + constraint_text = f"Tone: {tone}. Audience: {audience}. Target pages: {pages}." + system_prompt = ( + "You are extracting field values from a user prompt.\n" + "Return a JSON array of objects with keys: label, value.\n" + "Only fill values that are explicitly stated or strongly implied.\n" + "If unknown, return an empty string.\n" + f"{constraint_text}\n" + "Output JSON only." + ) + messages: List[Dict[str, Any]] = [ + {"role": "system", "content": system_prompt}, + {"role": "user", "content": f"Document type: {document_type}"}, + {"role": "user", "content": f"Prompt:\n{prompt}"}, + {"role": "user", "content": f"Fields:\n{json.dumps(fields, ensure_ascii=True)}"}, + ] + try: + llm = get_chat_model(SMART_MODEL) + if llm: + start = time.perf_counter() + response = llm.invoke(to_lc_messages(messages)) + elapsed = time.perf_counter() - start + content = response.content or "" + usage = getattr(response, "usage_metadata", None) + logger.info( + "[AI] field-extract model=%s elapsed=%.2fs chars=%s usage=%s", + SMART_MODEL, + elapsed, + len(str(content)), + usage, + ) + if content: + parsed = _extract_json_array(str(content)) + if parsed: + return [ + { + "label": str(item.get("label", "Field")), + "value": str(item.get("value", "")), + } + for item in parsed + if isinstance(item, dict) + ] + except Exception as exc: + logger.error("[AI] Field extraction failed, falling back: %s", exc) + + return _extract_fields_from_prompt(prompt, fields) + +def _extract_json_array(payload: str) -> Optional[List[Dict[str, Any]]]: + try: + return json.loads(payload) + except json.JSONDecodeError: + match = re.search(r"\[[\s\S]*\]", payload) + if not match: + return None + try: + return json.loads(match.group(0)) + except json.JSONDecodeError: + return None + + +def generate_section_draft( + prompt: str, + document_type: str, + outline_text: str, + constraints: Optional[Dict[str, Any]] = None, +) -> List[Dict[str, str]]: + if CLIENT_MODE == "langchain": + constraint_text = "" + if constraints: + tone = constraints.get("tone") + audience = constraints.get("audience") + pages = constraints.get("pageCount") + constraint_text = f"Tone: {tone}. Audience: {audience}. Target pages: {pages}." + system_prompt = ( + "You are generating section content for a document.\n" + "Return a JSON array of objects with keys: label, value.\n" + "Use the provided outline sections as labels; values should be polished draft text.\n" + f"{constraint_text}\n" + "Keep the total length appropriate to the target pages.\n" + "Output JSON only." + ) + messages: List[Dict[str, Any]] = [ + {"role": "system", "content": system_prompt}, + {"role": "user", "content": f"Document type: {document_type}"}, + {"role": "user", "content": f"Outline:\n{outline_text}"}, + {"role": "user", "content": f"Prompt:\n{prompt}"}, + ] + try: + llm = get_chat_model(SMART_MODEL) + if llm: + start = time.perf_counter() + response = llm.invoke(to_lc_messages(messages)) + elapsed = time.perf_counter() - start + content = response.content or "" + usage = getattr(response, "usage_metadata", None) + logger.info( + "[AI] section-draft model=%s elapsed=%.2fs chars=%s usage=%s", + SMART_MODEL, + elapsed, + len(str(content)), + usage, + ) + if content: + parsed = _extract_json_array(str(content)) + if parsed: + return [ + { + "label": str(item.get("label", "Section")), + "value": str(item.get("value", "")), + } + for item in parsed + if isinstance(item, dict) + ] + except Exception as exc: + logger.error("[AI] Section draft generation failed, falling back: %s", exc) + + if outline_text.strip(): + return _parse_outline_to_sections(outline_text) + + fallback_label = "Main Content" + return [{"label": fallback_label, "value": prompt.strip() or "Draft content"}] + + +def _fallback_template_fill(template_latex: str, outline_text: str, draft_text: Optional[str] = None) -> str: + default_text = draft_text or outline_text or "Details pending." + replacements = { + "TITLE": "Project Overview", + "SUBTITLE": "Executive Summary", + "AUTHOR": "Jane Doe", + "AUTHOR_LIST": "Jane Doe, John Smith", + "AFFILIATIONS": "John Smith Consulting", + "ABSTRACT": default_text, + "KEYWORDS": "keyword1, keyword2, keyword3", + "INTRODUCTION": default_text, + "RELATED_WORK": default_text, + "METHODOLOGY": default_text, + "RESULTS": default_text, + "DISCUSSION": default_text, + "CONCLUSION": default_text, + "REFERENCES": default_text, + "MAIN_TEXT": default_text, + "FIGURES_TABLES": default_text, + "REPORT_TITLE": "Business Report", + "DATE": "2025-01-01", + "EXEC_SUMMARY": default_text, + "BACKGROUND": default_text, + "FINDINGS": default_text, + "RECOMMENDATIONS": default_text, + "APPENDIX": default_text, + "NEWSLETTER_TITLE": "Doe Consulting Monthly", + "TOP_STORY": default_text, + "UPDATES": default_text, + "SPOTLIGHT": default_text, + "FOOTER": "Contact: info@example.com", + "RECIPE_TITLE": "Recipe Title", + "SERVINGS": "Serves 4", + "TIME": "30 minutes", + "INGREDIENTS": "\\\\begin{itemize}\\\\item Ingredient A\\\\item Ingredient B\\\\end{itemize}", + "INSTRUCTIONS": default_text, + "NOTES": "Notes and tips.", + "BUSINESS_NAME": "John Smith Consulting", + "BUSINESS_ADDRESS": "123 Example Street, Example City", + "BUSINESS_CONTACT": "billing@example.com | (555) 000-0000", + "INVOICE_NUMBER": "INV-1001", + "ISSUE_DATE": "2025-01-01", + "DUE_DATE": "2025-01-15", + "CLIENT_NAME": "Doe Corporation", + "CLIENT_ADDRESS": "456 Sample Avenue, Example City", + "CLIENT_CONTACT": "ap@example.com", + "LINE_ITEMS": "Service & 1 & $1000 & $1000 \\\\\\\\", + "SUBTOTAL": "$1000", + "TAXES": "$0", + "TOTAL": "$1000", + "PAYMENT_TERMS": "Net 15", + "PAYMENT_METHODS": "Bank transfer, credit card", + "STUDENT_NAME": "Jane Doe", + "COURSE_NAME": "Business Communications", + "INSTRUCTOR_NAME": "Dr. Rivera", + "ASSIGNMENT_TITLE": "Market Analysis", + "PROMPT": default_text, + "RESPONSE": default_text, + "CHAPTER_ONE_TITLE": "Chapter One", + "CHAPTER_ONE": default_text, + "CHAPTER_TWO_TITLE": "Chapter Two", + "CHAPTER_TWO": default_text, + "PREFACE": default_text, + "PUBLISHER": "Doe Press", + "NAME": "Jane Doe", + "TITLE_PAGE": "Project Overview", + "EMAIL": "jane.doe@example.com", + "PHONE": "(555) 000-0000", + "LOCATION": "Example City, USA", + "SUMMARY": default_text, + "EXPERIENCE": default_text, + "EDUCATION": default_text, + "SKILLS": default_text, + "PROJECTS": default_text, + "SUBJECT": "Subject", + "BODY": default_text, + "RECIPIENT_NAME": "John Smith", + "RECIPIENT_TITLE": "Hiring Manager", + "RECIPIENT_COMPANY": "Doe Corporation", + "RECIPIENT_ADDRESS": "456 Sample Avenue, Example City", + "SENDER_NAME": "Jane Doe", + "SENDER_ADDRESS": "123 Example Street, Example City", + "SENDER_EMAIL": "jane.doe@example.com", + "MONTH_YEAR": "January 2025", + "THEME": "Theme", + "WEEK_ROWS": "1 & 2 & 3 & 4 & 5 & 6 & 7 \\\\\\\\ \\\\hline", + "HEADLINE": "Launch Announcement", + "SUBTEXT": "Introducing our latest release.", + "CALL_TO_ACTION": "Visit example.com to learn more.", + "CONTACT": "contact@example.com", + "EXPERIMENT_TITLE": "Experiment", + "OBJECTIVE": default_text, + "MATERIALS": default_text, + "PROCEDURE": default_text, + "OBSERVATIONS": default_text, + "INSTITUTION": "Doe Institute", + "PRESENTER": "Jane Doe", + "AGENDA": default_text, + "KEY_POINTS": default_text, + "DATA_VISUALS": default_text, + } + + def replace(match: re.Match[str]) -> str: + key = match.group(1).strip() + return replacements.get(key, default_text) + + return re.sub(r"<<([A-Z0-9_]+)>>", replace, template_latex) + + +def generate_template_fill_stream( + template_latex: str, + document_type: str, + outline_text: str, + draft_sections: Optional[List[Dict[str, str]]] = None, + constraints: Optional[Dict[str, Any]] = None, + style_profile: Optional[Dict[str, Any]] = None, +): + """Fill a LaTeX template by replacing placeholders.""" + if CLIENT_MODE == "langchain": + constraints_text = "" + if constraints: + tone = constraints.get("tone") + audience = constraints.get("audience") + pages = constraints.get("pageCount") + constraints_text = f"Tone: {tone}. Audience: {audience}. Target pages: {pages}." + style_text = "" + if style_profile: + font = style_profile.get("font_preference") + layout = style_profile.get("layout_preference") + accent = style_profile.get("color_accent") + style_text = f"Style preferences: font={font}, layout={layout}, accent={accent}." + if draft_sections: + constraints_text = f"{constraints_text}\nUse the section content to inform placeholder values." + system_prompt = ( + "You are a LaTeX template filler.\n" + "Return the full LaTeX document with placeholders filled.\n" + "Rules:\n" + "1) Only replace placeholders like <>.\n" + "2) Do not change any other LaTeX layout/commands.\n" + "3) Output ONLY LaTeX (no markdown).\n" + "4) If you add color, use the accent token name 'accent'.\n" + f"{constraints_text}\n" + f"{style_text}\n" + "Keep the final output within the target page count.\n" + ) + messages: List[Dict[str, Any]] = [ + {"role": "system", "content": system_prompt}, + {"role": "user", "content": f"Document type: {document_type}"}, + {"role": "user", "content": f"Outline/context:\n{outline_text}"}, + {"role": "user", "content": f"Template:\n{template_latex}"}, + ] + if draft_sections: + messages.append( + { + "role": "user", + "content": f"Section content (JSON):\n{json.dumps(draft_sections, ensure_ascii=True)}", + } + ) + + try: + llm = get_chat_model(SMART_MODEL, streaming=True) + if llm: + start = time.perf_counter() + total_chars = 0 + chunk_count = 0 + first_chunk = None + for chunk in llm.stream(to_lc_messages(messages)): + if chunk.content: + if first_chunk is None: + first_chunk = time.perf_counter() + chunk_count += 1 + total_chars += len(str(chunk.content)) + yield chunk.content + elapsed = time.perf_counter() - start + logger.info( + "[AI] template-fill-stream model=%s elapsed=%.2fs first_chunk=%.2fs chunks=%s chars=%s", + SMART_MODEL, + elapsed, + (first_chunk - start) if first_chunk else -1.0, + chunk_count, + total_chars, + ) + return + except Exception as exc: + logger.error("[AI] Template fill failed, falling back: %s", exc) + + draft_text = None + if draft_sections: + draft_text = "\n".join( + f"{section.get('label', 'Section')}: {section.get('value', '')}" + for section in draft_sections + ) + filled = _fallback_template_fill(template_latex, outline_text, draft_text) + chunk_size = 200 + for i in range(0, len(filled), chunk_size): + yield filled[i : i + chunk_size] + + def generate_latex_with_llm( prompt: str, history: List[Dict[str, str]], @@ -35,8 +494,19 @@ def generate_latex_with_llm( ) llm = get_chat_model(SMART_MODEL) if llm: + start = time.perf_counter() response = llm.invoke(to_lc_messages(messages)) - return response.content + elapsed = time.perf_counter() - start + content = response.content or "" + usage = getattr(response, "usage_metadata", None) + logger.info( + "[AI] latex-generate model=%s elapsed=%.2fs chars=%s usage=%s", + SMART_MODEL, + elapsed, + len(str(content)), + usage, + ) + return content except Exception as exc: logger.error("[AI] LangChain generation failed, falling back to mock: %s", exc) @@ -145,9 +615,26 @@ def generate_latex_with_llm_stream( ) llm = get_chat_model(SMART_MODEL, streaming=True) if llm: + start = time.perf_counter() + total_chars = 0 + chunk_count = 0 + first_chunk = None for chunk in llm.stream(to_lc_messages(messages)): if chunk.content: + if first_chunk is None: + first_chunk = time.perf_counter() + chunk_count += 1 + total_chars += len(str(chunk.content)) yield chunk.content + elapsed = time.perf_counter() - start + logger.info( + "[AI] latex-stream model=%s elapsed=%.2fs first_chunk=%.2fs chunks=%s chars=%s", + SMART_MODEL, + elapsed, + (first_chunk - start) if first_chunk else -1.0, + chunk_count, + total_chars, + ) return except Exception as exc: logger.error("[AI] LangChain streaming failed, falling back to mock: %s", exc) @@ -162,4 +649,11 @@ def generate_latex_with_llm_stream( yield full_latex[i:i + chunk_size] -__all__ = ["generate_latex_with_llm", "generate_latex_with_llm_stream"] +__all__ = [ + "generate_outline_with_llm", + "generate_section_draft", + "generate_field_values", + "generate_latex_with_llm", + "generate_latex_with_llm_stream", + "generate_template_fill_stream", +] diff --git a/AI-Document-Generator-main/backend/app.py b/AI-Document-Generator-main/backend/app.py index d44833212e..ec4d1c2965 100644 --- a/AI-Document-Generator-main/backend/app.py +++ b/AI-Document-Generator-main/backend/app.py @@ -1,24 +1,45 @@ import os +import mimetypes import subprocess import uuid +from pathlib import Path from datetime import datetime from typing import Any, Dict, List, Optional, Tuple import re import time import threading import queue +import urllib.error +import urllib.request from concurrent.futures import ThreadPoolExecutor from flask import Flask, jsonify, request, send_file, Response, stream_with_context from flask_cors import CORS import json -from ai_generation import generate_latex_with_llm, generate_latex_with_llm_stream +from ai_generation import ( + generate_latex_with_llm, + generate_latex_with_llm_stream, + generate_outline_with_llm, + generate_section_draft, + generate_field_values, + generate_template_fill_stream, +) from briefs import gather_brief, _preprocess_intent -from config import CLIENT_MODE, SMART_MODEL, OUTPUT_DIR, get_chat_model, logger +from config import ( + CLIENT_MODE, + SMART_MODEL, + OUTPUT_DIR, + ASSETS_DIR, + TEMPLATE_DIR, + JAVA_BACKEND_URL, + PREVIEW_MAX_INFLIGHT, + get_chat_model, + logger, +) from langchain_utils import to_lc_messages from document_types import detect_document_type -from latex_utils import clean_generated_latex +from latex_utils import apply_style_overrides, clean_generated_latex from pdf_utils import compile_latex_to_pdf, render_pdf_to_images from pdf_text_editor import convert_pdf_to_text_editor_document from storage import ( @@ -52,6 +73,65 @@ def _json_body() -> Dict[str, Any]: return request.get_json(silent=True) or {} +def _java_url(path: str) -> str: + base = JAVA_BACKEND_URL.rstrip("/") + if not path.startswith("/"): + path = "/" + path + return f"{base}{path}" + + +def _java_request_json(method: str, path: str, payload: Optional[Dict[str, Any]] = None) -> Dict[str, Any]: + url = _java_url(path) + data = None + headers = {"Content-Type": "application/json"} + if payload is not None: + data = json.dumps(payload).encode("utf-8") + req = urllib.request.Request(url, data=data, headers=headers, method=method) + try: + with urllib.request.urlopen(req, timeout=10) as resp: + body = resp.read().decode("utf-8") + return json.loads(body) if body else {} + except urllib.error.HTTPError as exc: + detail = exc.read().decode("utf-8") if exc.fp else "" + logger.error("[JAVA] %s %s failed status=%s detail=%s", method, path, exc.code, detail) + raise + + +def _fetch_ai_session(session_id: str) -> Dict[str, Any]: + return _java_request_json("GET", f"/api/v1/ai/create/internal/sessions/{session_id}") + + +def _update_ai_session(session_id: str, payload: Dict[str, Any]) -> None: + _java_request_json("POST", f"/api/v1/ai/create/internal/sessions/{session_id}/update", payload) + + +def _sanitize_doc_type(value: str) -> str: + cleaned = re.sub(r"[^a-zA-Z0-9_]+", "", (value or "").lower()) + return cleaned or "miscellaneous" + + +def _select_template(doc_type: str, template_id: Optional[str]) -> Optional[str]: + safe_doc_type = _sanitize_doc_type(doc_type) + base_dir = Path(TEMPLATE_DIR) / safe_doc_type + if not base_dir.exists() or not base_dir.is_dir(): + return None + + if template_id: + safe_template = re.sub(r"[^a-zA-Z0-9_-]+", "", template_id) + if safe_template: + candidate = base_dir / f"{safe_template}.tex" + if candidate.exists(): + return candidate.read_text(encoding="utf-8", errors="replace") + + default_path = base_dir / "default.tex" + if default_path.exists(): + return default_path.read_text(encoding="utf-8", errors="replace") + + for tex_file in sorted(base_dir.glob("*.tex")): + return tex_file.read_text(encoding="utf-8", errors="replace") + return None + + @app.route("/api/intent/check", methods=["POST"]) def intent_check() -> Any: try: @@ -137,6 +217,7 @@ def pdf_answer() -> Any: llm = get_chat_model(model_name, max_tokens=220) if not llm: return jsonify({"error": "PDF Q&A unavailable (no AI client configured)."}), 503 + start = time.perf_counter() response = llm.invoke( to_lc_messages( [ @@ -145,6 +226,16 @@ def pdf_answer() -> Any: ] ) ) + elapsed = time.perf_counter() - start + content = response.content or "" + usage = getattr(response, "usage_metadata", None) + logger.info( + "[PDF-ANSWER] model=%s elapsed=%.2fs chars=%s usage=%s", + model_name, + elapsed, + len(str(content)), + usage, + ) answer = response.content if not answer or not str(answer).strip(): answer = _heuristic_summary(context) @@ -216,7 +307,7 @@ def generate() -> Any: brief.get("structured_brief"), edit_mode=edit_mode, ) - latex_code = clean_generated_latex(latex_code_raw) + latex_code = apply_style_overrides(clean_generated_latex(latex_code_raw), style_profile) doc_type = detect_document_type(prompt, latex_code) save_user_style(user_id, {"last_doc_type": doc_type}) @@ -351,6 +442,8 @@ def generate_stream() -> Any: chunk_queue.put(("done", None)) def submit_preview(latex: str, progress: int) -> None: + if len(preview_tasks) >= PREVIEW_MAX_INFLIGHT: + return preview_job_id = f"{job_id}-preview-{progress}" def _run_compile() -> Optional[str]: @@ -462,7 +555,7 @@ def generate_stream() -> Any: ) # Final compilation with complete LaTeX - latex_code = clean_generated_latex(accumulated_latex) + latex_code = apply_style_overrides(clean_generated_latex(accumulated_latex), style_profile) final_doc_type = detect_document_type(prompt, latex_code) save_user_style(user_id, {"last_doc_type": final_doc_type}) if not skip_template and not edit_mode: @@ -517,6 +610,173 @@ def generate_stream() -> Any: return jsonify({"error": "Unable to start streaming response", "detail": str(exc)}), 500 +@app.route("/api/create/sessions//stream", methods=["GET"]) +def create_stream(session_id: str) -> Any: + phase = (request.args.get("phase") or "outline").strip().lower() + try: + session = _fetch_ai_session(session_id) + except Exception: # noqa: BLE001 + return jsonify({"error": "Session not found"}), 404 + + user_id = session.get("userId", "default_user") + prompt = session.get("promptLatest") or session.get("promptInitial") or "" + doc_type = session.get("docType") or detect_document_type(prompt, None) + template_id = session.get("templateId") + outline_text = session.get("outlineText") or "" + constraints = session.get("outlineConstraints") + if isinstance(constraints, str) and constraints.strip(): + try: + constraints = json.loads(constraints) + except json.JSONDecodeError: + constraints = None + draft_sections_raw = session.get("draftSections") + draft_sections = None + if isinstance(draft_sections_raw, list): + draft_sections = draft_sections_raw + elif isinstance(draft_sections_raw, str) and draft_sections_raw.strip(): + try: + draft_sections = json.loads(draft_sections_raw) + except json.JSONDecodeError: + draft_sections = None + style_profile = load_user_style(user_id) + + def sse(data: Dict[str, Any]) -> str: + return f"data: {json.dumps(data)}\n\n" + + def generate(): + yield sse({"type": "phase_changed", "phase": phase}) + + if phase == "outline": + outline = generate_outline_with_llm(prompt, doc_type, constraints) + _update_ai_session( + session_id, + { + "outlineText": outline, + "outlineConstraints": json.dumps(constraints, ensure_ascii=True) if constraints else None, + "docType": doc_type, + "status": "OUTLINE_PENDING", + }, + ) + yield sse({"type": "outline_ready", "outlineText": outline}) + yield sse({"type": "phase_complete", "phase": "outline"}) + return + + if phase == "draft": + base_outline = outline_text or prompt + sections = generate_section_draft(prompt, doc_type, base_outline, constraints) + _update_ai_session( + session_id, + { + "draftSections": json.dumps(sections, ensure_ascii=True), + "outlineConstraints": json.dumps(constraints, ensure_ascii=True) if constraints else None, + "docType": doc_type, + "status": "DRAFT_READY", + }, + ) + yield sse({"type": "draft_sections", "sections": sections}) + yield sse({"type": "phase_complete", "phase": "draft", "sections": sections}) + return + + if phase == "polish": + accumulated = "" + template_latex = _select_template(doc_type, template_id) + if template_latex: + for chunk in generate_template_fill_stream( + template_latex, + doc_type, + outline_text or prompt, + draft_sections=draft_sections, + constraints=constraints, + style_profile=style_profile, + ): + accumulated += chunk + yield sse({"type": "latex_delta", "phase": "polish", "delta": chunk}) + else: + section_text = "" + if draft_sections: + section_text = "\n".join( + f"{section.get('label', 'Section')}: {section.get('value', '')}" + for section in draft_sections + ) + constraint_text = "" + if constraints: + tone = constraints.get("tone") + audience = constraints.get("audience") + pages = constraints.get("pageCount") + constraint_text = f"Tone: {tone}. Audience: {audience}. Target pages: {pages}." + polish_prompt = ( + f"Create a polished LaTeX document for a {doc_type}.\n" + "Use the provided section content and keep the substance consistent.\n" + f"{constraint_text}\n" + "Keep the final document within the target page count.\n" + ) + for chunk in generate_latex_with_llm_stream( + polish_prompt, + [], + style_profile, + doc_type, + None, + None, + section_text or outline_text or prompt, + edit_mode=True, + ): + accumulated += chunk + yield sse({"type": "latex_delta", "phase": "polish", "delta": chunk}) + + accumulated = apply_style_overrides(accumulated, style_profile) + _update_ai_session( + session_id, + {"polishedLatex": accumulated, "docType": doc_type, "status": "POLISHED_READY"}, + ) + + pdf_job_id = f"{session_id}-polished" + pdf_path = compile_latex_to_pdf(accumulated, pdf_job_id, log_errors=False) + if pdf_path and os.path.exists(pdf_path): + pdf_url = f"/output/{pdf_job_id}.pdf" + yield sse({"type": "save_complete", "docId": session_id, "pdfUrl": pdf_url}) + + yield sse({"type": "phase_complete", "phase": "polish", "latex": accumulated}) + return + + yield sse({"type": "error", "message": f"Unknown phase: {phase}"}) + + return Response( + stream_with_context(generate()), + mimetype="text/event-stream", + headers={"Cache-Control": "no-cache", "X-Accel-Buffering": "no"}, + ) + + +@app.route("/api/create/sessions//fields", methods=["POST"]) +def fill_fields(session_id: str) -> Any: + try: + session = _fetch_ai_session(session_id) + except Exception: # noqa: BLE001 + return jsonify({"error": "Session not found"}), 404 + + data = _json_body() + fields = data.get("fields") or [] + extra_prompt = data.get("extraPrompt") or "" + if not isinstance(fields, list): + return jsonify({"error": "Fields must be a list"}), 400 + + prompt = session.get("promptLatest") or session.get("promptInitial") or "" + if extra_prompt: + prompt = f"{prompt}\n{extra_prompt}" + doc_type = session.get("docType") or detect_document_type(prompt, None) + constraints = session.get("outlineConstraints") + if isinstance(constraints, str) and constraints.strip(): + try: + constraints = json.loads(constraints) + except json.JSONDecodeError: + constraints = None + + filled = generate_field_values(prompt, doc_type, fields, constraints) + return jsonify({"fields": filled}) + + + + @app.route("/api/progressive_render", methods=["POST"]) def progressive_render() -> Any: """Compile arbitrary LaTeX (partial or masked) for progressive previews.""" @@ -533,12 +793,13 @@ def progressive_render() -> Any: return jsonify({"error": "Progressive compilation failed"}), 500 -@app.route("/output/", methods=["GET"]) -def serve_pdf(filename: str) -> Any: - """Serve generated PDF files.""" +@app.route("/output/", methods=["GET"]) +def serve_output_file(filename: str) -> Any: + """Serve generated PDF files and stored assets.""" file_path = os.path.join(OUTPUT_DIR, filename) if os.path.exists(file_path): - return send_file(file_path, mimetype="application/pdf") + mime_type, _ = mimetypes.guess_type(file_path) + return send_file(file_path, mimetype=mime_type or "application/octet-stream") return jsonify({"error": "File not found"}), 404 @@ -552,6 +813,30 @@ def get_style(user_id: str) -> Any: return jsonify({"style": load_user_style(user_id)}) +@app.route("/api/style/", methods=["POST"]) +def update_style(user_id: str) -> Any: + data = _json_body() + if not isinstance(data, dict): + return jsonify({"error": "Style payload must be an object"}), 400 + current = load_user_style(user_id) or {} + merged = {**current, **data} + save_user_style(user_id, merged) + return jsonify({"style": merged}) + + +@app.route("/api/style/apply", methods=["POST"]) +def apply_style() -> Any: + data = _json_body() + latex = data.get("latex") + style = data.get("style") or {} + if not latex or not isinstance(latex, str): + return jsonify({"error": "Missing LaTeX payload"}), 400 + if not isinstance(style, dict): + return jsonify({"error": "Style payload must be an object"}), 400 + updated = apply_style_overrides(latex, style) + return jsonify({"latex": updated}) + + @app.route("/api/import_template", methods=["POST"]) def import_template() -> Any: """Accept a PDF upload, extract layout via vision model, and save as a template.""" @@ -585,6 +870,31 @@ Body text goes here. return jsonify({"message": "Template imported", "docType": doc_type, "pages": len(images)}) +@app.route("/api/assets/upload", methods=["POST"]) +def upload_asset() -> Any: + file = request.files.get("file") + if not file: + return jsonify({"error": "Missing file"}), 400 + + _, ext = os.path.splitext(file.filename or "") + ext = ext.lower() + if ext not in {".png", ".jpg", ".jpeg", ".gif"}: + return jsonify({"error": "Unsupported file type"}), 400 + + asset_id = f"{uuid.uuid4().hex}{ext}" + output_path = os.path.join(ASSETS_DIR, asset_id) + os.makedirs(ASSETS_DIR, exist_ok=True) + file.save(output_path) + + return jsonify( + { + "assetId": asset_id, + "assetUrl": f"/output/assets/{asset_id}", + "latexPath": f"assets/{asset_id}", + } + ) + + @app.route("/api/pdf-editor/document", methods=["GET"]) def pdf_editor_document() -> Any: """Expose a JSON snapshot of the PDF for rich text editing.""" diff --git a/AI-Document-Generator-main/backend/briefs.py b/AI-Document-Generator-main/backend/briefs.py index 758fcb34b0..f2febaa056 100644 --- a/AI-Document-Generator-main/backend/briefs.py +++ b/AI-Document-Generator-main/backend/briefs.py @@ -3,6 +3,7 @@ from __future__ import annotations import re import json from typing import Any, Dict, List, Optional +import time from config import CLIENT_MODE, FAST_MODEL, SMART_MODEL, get_chat_model, logger from langchain_utils import to_lc_messages @@ -144,7 +145,18 @@ def classify_intent_with_llm(prompt: str, history: List[Dict[str, str]], current if not llm: logger.info("[INTENT] skip llm classify: no LangChain client") return None + start = time.perf_counter() response = llm.invoke(to_lc_messages(conversation)) + elapsed = time.perf_counter() - start + content = response.content or "" + usage = getattr(response, "usage_metadata", None) + logger.info( + "[INTENT] llm_classify model=%s elapsed=%.2fs chars=%s usage=%s", + FAST_MODEL or SMART_MODEL, + elapsed, + len(str(content)), + usage, + ) content = response.content if not content: logger.info("[INTENT] llm_classify empty content") @@ -222,7 +234,18 @@ def detect_fabrication_opt_in(prompt: str, history: List[Dict[str, str]]) -> boo ) if not llm: return False + start = time.perf_counter() response = llm.invoke(to_lc_messages(conversation)) + elapsed = time.perf_counter() - start + content = response.content or "" + usage = getattr(response, "usage_metadata", None) + logger.info( + "[INTENT] fabrication-check model=%s elapsed=%.2fs chars=%s usage=%s", + FAST_MODEL or SMART_MODEL, + elapsed, + len(str(content)), + usage, + ) content = response.content if not content: return False @@ -357,6 +380,7 @@ def _ai_missing_message( llm = get_chat_model(SMART_MODEL, max_tokens=400) if not llm: return None + start = time.perf_counter() response = llm.invoke( to_lc_messages( [ @@ -365,6 +389,16 @@ def _ai_missing_message( ] ) ) + elapsed = time.perf_counter() - start + content = response.content or "" + usage = getattr(response, "usage_metadata", None) + logger.info( + "[AI] missing-questions model=%s elapsed=%.2fs chars=%s usage=%s", + SMART_MODEL, + elapsed, + len(str(content)), + usage, + ) return response.content except Exception as exc: logger.error("[AI] missing-questions failed: %s", exc) diff --git a/AI-Document-Generator-main/backend/config.py b/AI-Document-Generator-main/backend/config.py index 4ab194f19a..b8486cca07 100644 --- a/AI-Document-Generator-main/backend/config.py +++ b/AI-Document-Generator-main/backend/config.py @@ -8,16 +8,21 @@ logger = logging.getLogger(__name__) BASE_DIR = os.path.dirname(os.path.abspath(__file__)) OUTPUT_DIR = os.path.join(BASE_DIR, "output") +ASSETS_DIR = os.path.join(OUTPUT_DIR, "assets") DATA_DIR = os.path.join(BASE_DIR, "data") +TEMPLATE_DIR = os.path.join(BASE_DIR, "templates") STYLE_DB_PATH = os.path.join(DATA_DIR, "user_styles.json") TEMPLATE_DB_PATH = os.path.join(DATA_DIR, "user_templates.json") VERSIONS_DB_PATH = os.path.join(DATA_DIR, "versions.json") os.makedirs(OUTPUT_DIR, exist_ok=True) +os.makedirs(ASSETS_DIR, exist_ok=True) os.makedirs(DATA_DIR, exist_ok=True) +os.makedirs(TEMPLATE_DIR, exist_ok=True) OPENAI_API_KEY = os.environ.get("OPENAI_API_KEY") OPENAI_BASE_URL = os.environ.get("OPENAI_BASE_URL") +JAVA_BACKEND_URL = os.environ.get("JAVA_BACKEND_URL", "http://localhost:8080") # Default to GPT-5.1 for full document generation (smart model). # Allow override via SMART_MODEL or legacy OPENAI_MODEL. SMART_MODEL = os.environ.get("SMART_MODEL") or os.environ.get("OPENAI_MODEL") or "gpt-5.1" @@ -31,6 +36,7 @@ _ChatOpenAI = None STREAMING_ENABLED = os.environ.get("AI_STREAMING", "true").lower() not in {"0", "false", "no"} if OPENAI_BASE_URL and "ollama" in OPENAI_BASE_URL and "AI_STREAMING" not in os.environ: STREAMING_ENABLED = False +PREVIEW_MAX_INFLIGHT = int(os.environ.get("AI_PREVIEW_MAX_INFLIGHT", "3")) if OPENAI_API_KEY: try: @@ -66,16 +72,20 @@ def get_chat_model( __all__ = [ "logger", "OUTPUT_DIR", + "ASSETS_DIR", "DATA_DIR", + "TEMPLATE_DIR", "STYLE_DB_PATH", "TEMPLATE_DB_PATH", "VERSIONS_DB_PATH", "OPENAI_API_KEY", "OPENAI_BASE_URL", + "JAVA_BACKEND_URL", "SMART_MODEL", "CLIENT_MODE", "LANGCHAIN_AVAILABLE", "get_chat_model", "FAST_MODEL", "STREAMING_ENABLED", + "PREVIEW_MAX_INFLIGHT", ] diff --git a/AI-Document-Generator-main/backend/latex_utils.py b/AI-Document-Generator-main/backend/latex_utils.py index 223f596045..29d36811e3 100644 --- a/AI-Document-Generator-main/backend/latex_utils.py +++ b/AI-Document-Generator-main/backend/latex_utils.py @@ -5,7 +5,12 @@ from functools import lru_cache from typing import List, Optional ALLOWED_LATEX_PACKAGES = { + "courier", + "graphicx", "geometry", + "helvet", + "lmodern", + "mathpazo", "xcolor", "tabularx", "paracol", @@ -423,15 +428,13 @@ def clean_generated_latex(latex_code: str) -> str: upgrade_tabular_tables_to_longtable( ensure_longtable_support( normalize_tabular_like_begins( - strip_placeholder_rules( - strip_number_grouping_junk( - fix_tabular_row_endings( - strip_leading_pagebreaks( - remove_leading_pagebreaks( - strip_missing_packages( - sanitize_latex( - ensure_full_latex_document(latex_code) - ) + strip_number_grouping_junk( + fix_tabular_row_endings( + strip_leading_pagebreaks( + remove_leading_pagebreaks( + strip_missing_packages( + sanitize_latex( + ensure_full_latex_document(latex_code) ) ) ) @@ -444,6 +447,80 @@ def clean_generated_latex(latex_code: str) -> str: ) +def apply_style_overrides(latex_code: str, style_profile: dict) -> str: + """Apply deterministic font + accent styling without altering layout.""" + if not latex_code: + return latex_code + + code = latex_code + font = (style_profile or {}).get("font_preference") or "" + accent = (style_profile or {}).get("color_accent") or "" + + font_map = { + "serif": ("mathpazo", "\\renewcommand{\\familydefault}{\\rmdefault}"), + "sans": ("helvet", "\\renewcommand{\\familydefault}{\\sfdefault}"), + "helvet": ("helvet", "\\renewcommand{\\familydefault}{\\sfdefault}"), + "mono": ("courier", "\\renewcommand{\\familydefault}{\\ttdefault}"), + "modern": ("lmodern", None), + } + pkg = None + family_cmd = None + if isinstance(font, str): + pkg, family_cmd = font_map.get(font.lower(), (None, None)) + + if pkg: + code = re.sub( + r"^\\usepackage\{(helvet|mathpazo|lmodern|courier)\}\s*$", + "", + code, + flags=re.MULTILINE, + ) + code = re.sub( + r"^\\renewcommand\{\\familydefault\}\{\\(sfdefault|rmdefault|ttdefault)\}\s*$", + "", + code, + flags=re.MULTILINE, + ) + + def _ensure_package_and_command(text: str) -> str: + if not pkg: + return text + insert = f"\\usepackage{{{pkg}}}\n" + if family_cmd: + insert += family_cmd + "\n" + if r"\begin{document}" in text: + return re.sub(r"(\\begin\{document\})", insert + r"\1", text, count=1) + return insert + text + + code = _ensure_package_and_command(code) + + if accent: + accent_hex_match = re.fullmatch(r"#?([0-9a-fA-F]{6})", str(accent).strip()) + if accent_hex_match: + accent_line = f"\\definecolor{{accent}}{{HTML}}{{{accent_hex_match.group(1).upper()}}}" + else: + accent_name = re.sub(r"[^A-Za-z]+", "", str(accent)) or "blue" + accent_line = f"\\colorlet{{accent}}{{{accent_name}}}" + + if re.search(r"^\\definecolor\{accent\}|^\\colorlet\{accent\}", code, flags=re.MULTILINE): + code = re.sub(r"^\\definecolor\{accent\}.*$", accent_line, code, flags=re.MULTILINE) + code = re.sub(r"^\\colorlet\{accent\}.*$", accent_line, code, flags=re.MULTILINE) + else: + needs_xcolor = r"\usepackage{xcolor}" not in code + insert = "" + if needs_xcolor: + insert += "\\usepackage{xcolor}\n" + insert += accent_line + "\n" + if r"\usepackage{xcolor}" in code: + code = re.sub(r"(\\usepackage\{xcolor\}[^\n]*\n)", r"\1" + insert, code, count=1) + elif r"\begin{document}" in code: + code = re.sub(r"(\\begin\{document\})", insert + r"\1", code, count=1) + else: + code = insert + code + + return code + + def ensure_full_latex_document(text: str) -> str: """Trim output to a single LaTeX document starting at \\documentclass and ending at \\end{document}.""" if not text: @@ -465,5 +542,6 @@ __all__ = [ "fix_tabular_row_endings", "rebalance_invoice_tables", "clean_generated_latex", + "apply_style_overrides", "ensure_full_latex_document", ] diff --git a/AI-Document-Generator-main/backend/pdf_utils.py b/AI-Document-Generator-main/backend/pdf_utils.py index 7694c193bc..fd2a32a29e 100644 --- a/AI-Document-Generator-main/backend/pdf_utils.py +++ b/AI-Document-Generator-main/backend/pdf_utils.py @@ -29,6 +29,7 @@ def _run_latex(engine: str, tex_filename: str) -> subprocess.CompletedProcess: stdout=subprocess.PIPE, stderr=subprocess.PIPE, timeout=30, + cwd=OUTPUT_DIR, ) diff --git a/AI-Document-Generator-main/backend/prompts.py b/AI-Document-Generator-main/backend/prompts.py index 5dc1bc2ae0..fb0fc979ab 100644 --- a/AI-Document-Generator-main/backend/prompts.py +++ b/AI-Document-Generator-main/backend/prompts.py @@ -6,7 +6,12 @@ from typing import Dict, List, Optional, Any # Shared rules ALLOWED_LATEX_PACKAGES = [ + "courier", + "graphicx", "geometry", + "helvet", + "lmodern", + "mathpazo", "xcolor", "tabularx", "paracol", @@ -50,7 +55,7 @@ def latex_system_prompt(style_profile: Dict[str, Any], document_type: str, templ f"- " + "\n- ".join(LATEX_RULES) + "\n" "2) Use only the allowlisted packages:\n" f"- " + "\n- ".join(ALLOWED_LATEX_PACKAGES) + "\n" - f"3) Respect preferred font ({safe_style['font_preference']}), tone ({safe_style['tone']}), and color accent ({safe_style['color_accent']}).\n" + f"3) Respect preferred font ({safe_style['font_preference']}), tone ({safe_style['tone']}), and color accent ({safe_style['color_accent']}). Use the accent token name 'accent' (e.g., \\color{{accent}} or \\textcolor{{accent}}{{...}}).\n" "4) If a template hint is provided, stay close to its layout and styling.\n" "5) Do NOT add placeholder images or black boxes; omit images entirely unless an explicit path or real image content is provided. Do not use \\rule, tikz, or colored rectangles as image stand-ins.\n" "6) Return a full compilable document." diff --git a/AI-Document-Generator-main/backend/scripts/generate_template_thumbnails.py b/AI-Document-Generator-main/backend/scripts/generate_template_thumbnails.py new file mode 100644 index 0000000000..02b937270a --- /dev/null +++ b/AI-Document-Generator-main/backend/scripts/generate_template_thumbnails.py @@ -0,0 +1,262 @@ +import re +import shutil +import subprocess +import tempfile +from pathlib import Path + + +ROOT_DIR = Path(__file__).resolve().parents[2] +TEMPLATE_ROOT = ROOT_DIR / "backend" / "templates" +FRONTEND_PUBLIC = ROOT_DIR / "frontend" / "public" / "templates" +FRONTEND_CATALOG = ROOT_DIR / "frontend" / "src" / "templateCatalog.ts" +TIMEOUT_SEC = 60 + +LOREM_SENTENCE = ( + "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt " + "ut labore et dolore magna aliqua." +) +LOREM_PARAGRAPH = ( + "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt " + "ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco " + "laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in " + "voluptate velit esse cillum dolore eu fugiat nulla pariatur." +) +LOREM_SHORT = "Lorem ipsum dolor sit amet, consectetur adipiscing elit." + +PLACEHOLDER_REPLACEMENTS = { + "TITLE": "Sample Title", + "SUBTITLE": "Sample Subtitle", + "AUTHOR": "Sample Author", + "AUTHOR_LIST": "Sample Author One, Sample Author Two", + "AFFILIATIONS": "Sample Organization", + "ABSTRACT": LOREM_PARAGRAPH, + "KEYWORDS": "keyword1, keyword2, keyword3, keyword4", + "INTRODUCTION": LOREM_PARAGRAPH, + "RELATED_WORK": LOREM_PARAGRAPH, + "METHODOLOGY": LOREM_PARAGRAPH, + "RESULTS": LOREM_PARAGRAPH, + "DISCUSSION": LOREM_PARAGRAPH, + "CONCLUSION": LOREM_SHORT, + "REFERENCES": "Doe, J. (2024). Example Reference. Journal of Examples.", + "MAIN_TEXT": f"{LOREM_PARAGRAPH} {LOREM_PARAGRAPH}", + "FIGURES_TABLES": "Figure 1: Example chart. Table 1: Summary of results.", + "REPORT_TITLE": "Business Report", + "DATE": "2025-01-01", + "EXEC_SUMMARY": LOREM_PARAGRAPH, + "BACKGROUND": LOREM_PARAGRAPH, + "FINDINGS": f"{LOREM_SENTENCE} {LOREM_SENTENCE}", + "RECOMMENDATIONS": "Recommendation 1: Improve efficiency. Recommendation 2: Reduce costs.", + "APPENDIX": LOREM_SHORT, + "NEWSLETTER_TITLE": "Monthly Newsletter", + "TOP_STORY": LOREM_PARAGRAPH, + "UPDATES": f"{LOREM_SENTENCE} {LOREM_SENTENCE}", + "SPOTLIGHT": LOREM_PARAGRAPH, + "FOOTER": "Contact: info@example.com | 123 Main Street", + "RECIPE_TITLE": "Sample Recipe", + "SERVINGS": "Serves 4", + "TIME": "30 minutes", + "INGREDIENTS": r"\begin{itemize}\item Ingredient A\item Ingredient B\item Ingredient C\end{itemize}", + "INSTRUCTIONS": LOREM_PARAGRAPH, + "NOTES": "Notes and tips: adjust seasoning to taste.", + "BUSINESS_NAME": "Your Company", + "BUSINESS_ADDRESS": "123 Main Street, Springfield", + "BUSINESS_CONTACT": "email@example.com | (555) 555-5555", + "INVOICE_NUMBER": "INV-001", + "ISSUE_DATE": "2025-01-01", + "DUE_DATE": "2025-01-15", + "CLIENT_NAME": "Client Name", + "CLIENT_ADDRESS": "456 Client Ave, Metropolis", + "CLIENT_CONTACT": "client@example.com", + "LINE_ITEMS": r"Design Services & 8 & 120 & 960 \\ Consulting & 4 & 150 & 600 \\", + "SUBTOTAL": "1560", + "TAXES": "124.80", + "TOTAL": "1684.80", + "PAYMENT_TERMS": "Net 15", + "PAYMENT_METHODS": "Bank transfer, credit card", + "STUDENT_NAME": "Student Name", + "COURSE_NAME": "Course Name", + "INSTRUCTOR_NAME": "Instructor Name", + "ASSIGNMENT_TITLE": "Assignment Title", + "PROMPT": LOREM_SHORT, + "RESPONSE": LOREM_PARAGRAPH, + "CHAPTER_ONE_TITLE": "Chapter One", + "CHAPTER_ONE": LOREM_PARAGRAPH, + "CHAPTER_TWO_TITLE": "Chapter Two", + "CHAPTER_TWO": LOREM_PARAGRAPH, + "PREFACE": LOREM_SHORT, + "PUBLISHER": "Publisher", + "NAME": "Name", + "EMAIL": "email@example.com", + "PHONE": "(555) 555-5555", + "LOCATION": "City, Country", + "SUMMARY": LOREM_SENTENCE, + "EXPERIENCE": f"{LOREM_SENTENCE} {LOREM_SENTENCE}", + "EDUCATION": "University Name, B.S. in Example Studies", + "SKILLS": "Skills: Analysis, Design, Communication", + "PROJECTS": LOREM_SHORT, + "SUBJECT": "Subject", + "BODY": LOREM_PARAGRAPH, + "RECIPIENT_NAME": "Recipient Name", + "RECIPIENT_TITLE": "Recipient Title", + "RECIPIENT_COMPANY": "Recipient Company", + "RECIPIENT_ADDRESS": "Recipient Address", + "SENDER_NAME": "Sender Name", + "SENDER_ADDRESS": "Sender Address", + "SENDER_EMAIL": "sender@example.com", + "MONTH_YEAR": "January 2025", + "THEME": "Theme", + "WEEK_ROWS": "1 & 2 & 3 & 4 & 5 & 6 & 7 \\\\\\\\ \\\\hline", + "HEADLINE": "Headline", + "SUBTEXT": "Supporting message with a clear benefit.", + "CALL_TO_ACTION": "Call to action", + "CONTACT": "contact@example.com", + "EXPERIMENT_TITLE": "Experiment Title", + "OBJECTIVE": LOREM_SHORT, + "MATERIALS": "Materials list goes here.", + "PROCEDURE": LOREM_PARAGRAPH, + "OBSERVATIONS": LOREM_SHORT, + "INSTITUTION": "Institution", + "PRESENTER": "Presenter", + "AGENDA": "Agenda goes here.", + "KEY_POINTS": "Key points go here.", + "DATA_VISUALS": "Data visuals go here.", + "SUBTITLE": "Subtitle", + "ORGANIZATION": "Organization", +} + + +def render_template_latex(raw_latex: str) -> str: + def replace(match: re.Match[str]) -> str: + key = match.group(1).strip() + return PLACEHOLDER_REPLACEMENTS.get(key, key.replace("_", " ").title()) + + return re.sub(r"<<([A-Z0-9_]+)>>", replace, raw_latex) + + +def find_converter() -> str | None: + if shutil.which("pdftoppm"): + return "pdftoppm" + if shutil.which("magick"): + return "magick" + if shutil.which("convert"): + return "convert" + return None + + +def pdf_to_jpg(pdf_path: Path, jpg_path: Path, converter: str) -> None: + if converter == "pdftoppm": + subprocess.run( + ["pdftoppm", "-jpeg", "-f", "1", "-singlefile", str(pdf_path), str(jpg_path.with_suffix(''))], + check=True, + stdout=subprocess.DEVNULL, + stderr=subprocess.DEVNULL, + timeout=TIMEOUT_SEC, + ) + return + if converter == "magick": + subprocess.run( + ["magick", "convert", "-density", "150", str(pdf_path), "-quality", "90", str(jpg_path)], + check=True, + stdout=subprocess.DEVNULL, + stderr=subprocess.DEVNULL, + timeout=TIMEOUT_SEC, + ) + return + subprocess.run( + ["convert", "-density", "150", str(pdf_path), "-quality", "90", str(jpg_path)], + check=True, + stdout=subprocess.DEVNULL, + stderr=subprocess.DEVNULL, + timeout=TIMEOUT_SEC, + ) + + +def main() -> None: + if not shutil.which("pdflatex"): + raise SystemExit("pdflatex not found. Install TeX Live or MikTeX to generate thumbnails.") + + converter = find_converter() + if not converter: + raise SystemExit("No PDF-to-image converter found. Install poppler-utils or ImageMagick.") + + tex_files = list(TEMPLATE_ROOT.rglob("*.tex")) + if not tex_files: + raise SystemExit(f"No templates found in {TEMPLATE_ROOT}") + + FRONTEND_PUBLIC.mkdir(parents=True, exist_ok=True) + catalog: dict[str, list[str]] = {} + + failures: list[str] = [] + for tex_file in tex_files: + doc_type = tex_file.parent.name + template_id = tex_file.stem + target_dir = FRONTEND_PUBLIC / doc_type + target_dir.mkdir(parents=True, exist_ok=True) + target_jpg = target_dir / f"{template_id}.jpg" + + catalog.setdefault(doc_type, []) + if template_id not in catalog[doc_type]: + catalog[doc_type].append(template_id) + with tempfile.TemporaryDirectory() as tmpdir: + tmpdir_path = Path(tmpdir) + rendered = render_template_latex(tex_file.read_text(encoding="ascii")) + tmp_tex = tmpdir_path / "template.tex" + tmp_tex.write_text(rendered, encoding="ascii") + + try: + subprocess.run( + ["pdflatex", "-interaction=nonstopmode", "-halt-on-error", tmp_tex.name], + check=True, + cwd=tmpdir_path, + stdout=subprocess.DEVNULL, + stderr=subprocess.DEVNULL, + timeout=TIMEOUT_SEC, + ) + except (subprocess.CalledProcessError, subprocess.TimeoutExpired) as exc: + failures.append(f"{tex_file}: pdflatex failed ({exc})") + continue + + pdf_path = tmpdir_path / "template.pdf" + if not pdf_path.exists(): + failures.append(f"{tex_file}: PDF not generated") + continue + + try: + pdf_to_jpg(pdf_path, target_jpg, converter) + print(f"Wrote {target_jpg}") + except (subprocess.CalledProcessError, subprocess.TimeoutExpired) as exc: + failures.append(f"{tex_file}: image conversion failed ({exc})") + continue + + if failures: + print("\nFailures:") + for failure in failures: + print(f"- {failure}") + raise SystemExit("Template thumbnail generation completed with errors.") + + entries = [] + for doc_type in sorted(catalog.keys()): + templates = sorted(catalog[doc_type]) + if "default" in templates: + templates = ["default"] + [t for t in templates if t != "default"] + entries.append( + f" {{ docType: '{doc_type}', templateCount: {len(templates)}, templates: {templates} }}" + ) + + FRONTEND_CATALOG.write_text( + "// Auto-generated by generate_template_thumbnails.py\n" + "export type TemplateCatalogEntry = {\n" + " docType: string\n" + " templateCount: number\n" + " templates: string[]\n" + "}\n\n" + "export const templateCatalog: TemplateCatalogEntry[] = [\n" + + ",\n".join(entries) + + "\n]\n", + encoding="ascii", + ) + print(f"Wrote catalog {FRONTEND_CATALOG}") + + +if __name__ == "__main__": + main() diff --git a/AI-Document-Generator-main/backend/vision.py b/AI-Document-Generator-main/backend/vision.py index f5d66ecaca..280e2217ee 100644 --- a/AI-Document-Generator-main/backend/vision.py +++ b/AI-Document-Generator-main/backend/vision.py @@ -1,6 +1,7 @@ from __future__ import annotations from typing import Any, List, Optional +import time from config import CLIENT_MODE, SMART_MODEL, get_chat_model, logger from langchain_utils import to_lc_messages @@ -30,7 +31,18 @@ def vision_layout_from_images(image_urls: List[str], doc_type: str) -> Optional[ llm = get_chat_model(SMART_MODEL, max_tokens=2800) if not llm: return None + start = time.perf_counter() response = llm.invoke(to_lc_messages(messages)) + elapsed = time.perf_counter() - start + content = response.content or "" + usage = getattr(response, "usage_metadata", None) + logger.info( + "[IMPORT] vision model=%s elapsed=%.2fs chars=%s usage=%s", + SMART_MODEL, + elapsed, + len(str(content)), + usage, + ) return response.content except Exception as exc: logger.error("[IMPORT] vision generation failed: %s", exc) diff --git a/AI-Document-Generator-main/frontend/public/templates/academic_articles/default.jpg b/AI-Document-Generator-main/frontend/public/templates/academic_articles/default.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ed563cd2a1ce344d7b07dc36819e983d0788c7c9 GIT binary patch literal 228305 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 (zuj>J!iZb&8 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