Spaces:
Sleeping
Sleeping
File size: 1,303 Bytes
f37ceb5 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
from fastapi import UploadFile
import asyncio
from Middleware import Main
from appConfig import LOG
def delete_chain_after_delay(model: Main, chain_name: str):
async def delete_chain():
try:
await asyncio.sleep(7200) # Sleep for 2 hours
if chain_name in model.qa_chains:
del model.qa_chains[chain_name]
# Log deletion
LOG.info(f"Chain '{chain_name}' deleted after 2 hours")
except Exception as e:
LOG.error(f"An error occurred while deleting chain '{chain_name}': {e}")
return delete_chain
async def process_file(model: Main, collection_name: str, file: UploadFile):
try:
contents = await file.read()
file_extension = file.filename.split(".")[-1]
if file_extension == "pdf":
response = model.generate_embedding(
contents, file.filename, collection_name)
elif file_extension == "txt":
response = contents.decode("utf-8")
else:
raise ValueError(f"Unsupported file format for {file.filename}")
return response
except Exception as e:
LOG.error(f"An error occurred while processing file '{file.filename}': {e}")
return f"Error processing file '{file.filename}': {e}"
|