diff --git a/api/routes/forms.py b/api/routes/forms.py index f3430ed..0dd0fb7 100644 --- a/api/routes/forms.py +++ b/api/routes/forms.py @@ -19,6 +19,9 @@ def fill_form(form: FormFill, db: Session = Depends(get_db)): controller = Controller() path = controller.fill_form(user_input=form.input_text, fields=fetched_template.fields, pdf_form_path=fetched_template.pdf_path) + if not path: + raise AppError("PDF generation failed", status_code=400) + submission = FormSubmission(**form.model_dump(), output_pdf_path=path) return create_form(db, submission) diff --git a/src/llm.py b/src/llm.py index 70937f9..2c6e530 100644 --- a/src/llm.py +++ b/src/llm.py @@ -60,12 +60,11 @@ def main_loop(self): } try: - response = requests.post(ollama_url, json=payload) + response = requests.post(ollama_url, json=payload, timeout=30) response.raise_for_status() - except requests.exceptions.ConnectionError: - raise ConnectionError( - f"Could not connect to Ollama at {ollama_url}. " - "Please ensure Ollama is running and accessible." + except requests.exceptions.Timeout: + raise TimeoutError( + f"Ollama request timed out after 30 seconds at {ollama_url}" ) except requests.exceptions.HTTPError as e: raise RuntimeError(f"Ollama returned an error: {e}")