Spaces:
Sleeping
Sleeping
import io | |
from functions import * | |
from PyPDF2 import PdfReader | |
from fastapi import FastAPI, File, UploadFile | |
from fastapi.middleware.cors import CORSMiddleware | |
app = FastAPI(title = "ConversAI", root_path = "/api/v1") | |
app.add_middleware( | |
CORSMiddleware, | |
allow_origins=["*"], | |
allow_credentials=True, | |
allow_methods=["*"], | |
allow_headers=["*"], | |
) | |
async def signup(username: str, password: str): | |
try: | |
response = createUser(username = username, password = password) | |
output = { | |
"output": response | |
} | |
except Exception as e: | |
output = { | |
"error": e | |
} | |
return output | |
async def login(username: str, password: str): | |
try: | |
response = matchPassword(username = username, password = password) | |
output = { | |
"output": response | |
} | |
except Exception as e: | |
output = { | |
"error": e | |
} | |
return output | |
async def clearVectorStore(vectorStoreName: str): | |
client.table(vectorStoreName).delete().neq("content", "").execute() | |
return { | |
"output": "SUCCESS" | |
} | |
async def addPDFData(vectorstorename: str, pdf: UploadFile = File(...)): | |
try: | |
pdf = await pdf.read() | |
reader = PdfReader(io.BytesIO(pdf)) | |
text = "" | |
for page in reader.pages: | |
text += page.extract_text() | |
addDocuments(text = text, storename = vectorstorename) | |
output = { | |
"output": "SUCCESS" | |
} | |
except Exception as e: | |
output = { | |
"error": e | |
} | |
return output | |
async def addText(vectorstorename: str, text: str): | |
try: | |
addDocuments(text = text, storename = vectorstorename) | |
output = { | |
"output": "SUCCESS" | |
} | |
except Exception as e: | |
output = { | |
"error": e | |
} | |
return output | |
async def answerQuery(query: str, vectorstorename: str, llmModel: str = "llama3-70b-8192"): | |
try: | |
response = answerQuery(query=query, vectorstorename=vectorstorename, llmModel=llmModel) | |
output = { | |
"output": response | |
} | |
except Exception as e: | |
output = { | |
"error": e | |
} | |
return output |