Skip to content
Snippets Groups Projects
Unverified Commit 8f03f8d4 authored by Huu Le's avatar Huu Le Committed by GitHub
Browse files

chore: Improve fastapi (#123)

parent 19c57d94
No related branches found
No related tags found
No related merge requests found
---
"create-llama": patch
---
Add OLLAMA_REQUEST_TIMEOUT variable to config Ollama timeout (Python)
---
"create-llama": patch
---
Apply nest_asyncio for llama parse
...@@ -23,7 +23,12 @@ def llama_parse_parser(): ...@@ -23,7 +23,12 @@ def llama_parse_parser():
"LLAMA_CLOUD_API_KEY environment variable is not set. " "LLAMA_CLOUD_API_KEY environment variable is not set. "
"Please set it in .env file or in your shell environment then run again!" "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 return parser
...@@ -32,15 +37,19 @@ def get_file_documents(config: FileLoaderConfig): ...@@ -32,15 +37,19 @@ def get_file_documents(config: FileLoaderConfig):
try: try:
reader = SimpleDirectoryReader( reader = SimpleDirectoryReader(
config.data_dir, config.data_dir, recursive=True, filename_as_id=True, raise_on_error=True
recursive=True,
filename_as_id=True,
) )
if config.use_llama_parse: 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() parser = llama_parse_parser()
reader.file_extractor = {".pdf": parser} reader.file_extractor = {".pdf": parser}
return reader.load_data() return reader.load_data()
except ValueError as e: except Exception as e:
import sys, traceback import sys, traceback
# Catch the error if the data dir is empty # Catch the error if the data dir is empty
......
...@@ -23,15 +23,20 @@ def init_settings(): ...@@ -23,15 +23,20 @@ def init_settings():
def init_ollama(): 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 from llama_index.embeddings.ollama import OllamaEmbedding
base_url = os.getenv("OLLAMA_BASE_URL") or "http://127.0.0.1:11434" 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( Settings.embed_model = OllamaEmbedding(
base_url=base_url, base_url=base_url,
model_name=os.getenv("EMBEDDING_MODEL"), 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(): def init_openai():
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment