diff --git a/.changeset/hip-foxes-invite.md b/.changeset/hip-foxes-invite.md
new file mode 100644
index 0000000000000000000000000000000000000000..ed2ca0a598eeafa5fe65c61cb04acb472eb4777d
--- /dev/null
+++ b/.changeset/hip-foxes-invite.md
@@ -0,0 +1,5 @@
+---
+"create-llama": patch
+---
+
+Add OLLAMA_REQUEST_TIMEOUT variable to config Ollama timeout (Python)
diff --git a/.changeset/wild-wasps-join.md b/.changeset/wild-wasps-join.md
new file mode 100644
index 0000000000000000000000000000000000000000..c5895143b68169ed1fee37b917d598c9e02ebbf5
--- /dev/null
+++ b/.changeset/wild-wasps-join.md
@@ -0,0 +1,5 @@
+---
+"create-llama": patch
+---
+
+Apply nest_asyncio for llama parse
diff --git a/templates/components/loaders/python/file.py b/templates/components/loaders/python/file.py
index 95b5fd2f64b1bfd3d0ec4e769a02839ea7719f4e..3baf70012efa6fd5e87d4559563836661a95e52c 100644
--- a/templates/components/loaders/python/file.py
+++ b/templates/components/loaders/python/file.py
@@ -23,7 +23,12 @@ def llama_parse_parser():
             "LLAMA_CLOUD_API_KEY environment variable is not set. "
             "Please set it in .env file or in your shell environment then run again!"
         )
-    parser = LlamaParse(result_type="markdown", verbose=True, language="en")
+    parser = LlamaParse(
+        result_type="markdown",
+        verbose=True,
+        language="en",
+        ignore_errors=False,
+    )
     return parser
 
 
@@ -32,15 +37,19 @@ def get_file_documents(config: FileLoaderConfig):
 
     try:
         reader = SimpleDirectoryReader(
-            config.data_dir,
-            recursive=True,
-            filename_as_id=True,
+            config.data_dir, recursive=True, filename_as_id=True, raise_on_error=True
         )
         if config.use_llama_parse:
+            # LlamaParse is async first,
+            # so we need to use nest_asyncio to run it in sync mode
+            import nest_asyncio
+
+            nest_asyncio.apply()
+
             parser = llama_parse_parser()
             reader.file_extractor = {".pdf": parser}
         return reader.load_data()
-    except ValueError as e:
+    except Exception as e:
         import sys, traceback
 
         # Catch the error if the data dir is empty
diff --git a/templates/types/streaming/fastapi/app/settings.py b/templates/types/streaming/fastapi/app/settings.py
index 0b45f4dfa036eb3228e041f552bb59488d3f7775..3f138b10085ea2471874574f626f2566232661e8 100644
--- a/templates/types/streaming/fastapi/app/settings.py
+++ b/templates/types/streaming/fastapi/app/settings.py
@@ -23,15 +23,20 @@ def init_settings():
 
 
 def init_ollama():
-    from llama_index.llms.ollama import Ollama
+    from llama_index.llms.ollama.base import Ollama, DEFAULT_REQUEST_TIMEOUT
     from llama_index.embeddings.ollama import OllamaEmbedding
 
     base_url = os.getenv("OLLAMA_BASE_URL") or "http://127.0.0.1:11434"
+    request_timeout = float(
+        os.getenv("OLLAMA_REQUEST_TIMEOUT", DEFAULT_REQUEST_TIMEOUT)
+    )
     Settings.embed_model = OllamaEmbedding(
         base_url=base_url,
         model_name=os.getenv("EMBEDDING_MODEL"),
     )
-    Settings.llm = Ollama(base_url=base_url, model=os.getenv("MODEL"))
+    Settings.llm = Ollama(
+        base_url=base_url, model=os.getenv("MODEL"), request_timeout=request_timeout
+    )
 
 
 def init_openai():