File size: 7,110 Bytes
27b5f6d 28af5bc e8a6b78 27b5f6d e8a6b78 27b5f6d 156199c e8a6b78 28af5bc e8a6b78 28af5bc 27b5f6d 38d2586 e8a6b78 28af5bc e8a6b78 28af5bc 27b5f6d 5b0f158 27b5f6d 5b0f158 aadfb3f e8a6b78 28af5bc e8a6b78 28af5bc 5b0f158 27b5f6d 156199c 27b5f6d e8a6b78 28af5bc e8a6b78 28af5bc 27b5f6d e8a6b78 28af5bc e8a6b78 28af5bc 27b5f6d 38d2586 e8a6b78 28af5bc e8a6b78 28af5bc 27b5f6d 28af5bc 27b5f6d 63da829 27b5f6d | 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 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 | from fastapi import APIRouter
from Brain.src.common.assembler import Assembler
from Brain.src.common.brain_exception import BrainException
from Brain.src.firebase.firebase import firebase_admin_with_setting
from Brain.src.model.requests.request_model import (
Document,
BasicReq,
)
from Brain.src.service.train_service import TrainService
router = APIRouter()
def construct_blueprint_train_api() -> APIRouter:
# Assembler
assembler = Assembler()
"""@generator.response(
status_code=200, schema={"message": "message", "result": "test_result"}
)"""
@router.post("")
def read_all_documents(data: BasicReq):
# parsing params
try:
setting, firebase_app = firebase_admin_with_setting(data)
except BrainException as ex:
return ex.get_response_exp()
# Services
train_service = TrainService(firebase_app=firebase_app, setting=setting)
try:
result = train_service.read_all_documents()
except Exception as e:
return assembler.to_response(400, "failed to get all documents", "")
return assembler.to_response(200, "Get all documents list successfully", result)
"""@generator.response( status_code=200, schema={"message": "message", "result": {"document_id": "document_id",
"page_content":"page_content"}} )"""
@router.post("/all")
def train_all_documents(data: BasicReq):
# parsing params
try:
setting, firebase_app = firebase_admin_with_setting(data)
except BrainException as ex:
return ex.get_response_exp()
# Services
train_service = TrainService(firebase_app=firebase_app, setting=setting)
try:
result = train_service.train_all_documents()
except Exception as e:
return assembler.to_response(400, "failed to get all documents", "")
return assembler.to_response(200, "Get all documents list successfully", result)
"""@generator.response( status_code=200, schema={"message": "message", "result": {"document_id": "document_id",
"page_content":"page_content"}} )"""
@router.post("/read/{document_id}")
def read_one_document(document_id: str, data: BasicReq):
# parsing params
try:
setting, firebase_app = firebase_admin_with_setting(data)
except BrainException as ex:
return ex.get_response_exp()
# Services
train_service = TrainService(firebase_app=firebase_app, setting=setting)
if document_id != "all":
try:
result = train_service.read_one_document(document_id)
except Exception as e:
return assembler.to_response(400, "fail to get one document", "")
return assembler.to_response(200, "Get one document successfully", result)
"""@generator.request_body(
{
"token": "test_token",
"uuid": "test_uuid",
"page_content": "string",
}
)
@generator.response( status_code=200, schema={"message": "message", "result": {"document_id": "document_id",
"page_content":"page_content"}} )"""
@router.post("/create")
def create_document_train(data: Document):
# parsing params
try:
setting, firebase_app = firebase_admin_with_setting(data)
except BrainException as ex:
return ex.get_response_exp()
# Services
train_service = TrainService(firebase_app=firebase_app, setting=setting)
try:
result = train_service.create_one_document(data.page_content)
except Exception as e:
return assembler.to_response(400, "failed to create one document", "")
return assembler.to_response(
200, "created one document and trained it successfully", result
)
"""@generator.request_body(
{
"token": "test_token",
"uuid": "test_uuid",
"document_id": "string",
"page_content": "string",
}
)
@generator.response( status_code=200, schema={"message": "message", "result": {"document_id": "document_id",
"page_content":"page_content"}} )"""
@router.put("")
def update_one_document(data: Document):
# parsing params
try:
setting, firebase_app = firebase_admin_with_setting(data)
except BrainException as ex:
return ex.get_response_exp()
# Services
train_service = TrainService(firebase_app=firebase_app, setting=setting)
try:
result = train_service.update_one_document(
data.document_id, data.page_content
)
except Exception as e:
return assembler.to_response(400, "fail to update one document", "")
return assembler.to_response(
200, "updated one document and trained it successfully", result
)
"""@generator.request_body(
{
"token": "test_token",
"uuid": "test_uuid",
"document_id": "string",
}
)
@generator.response( status_code=200, schema={"message": "message", "result": {"document_id": "document_id"}} )"""
@router.post("/delete/{document_id}")
def delete_one_document(document_id: str, data: BasicReq):
# parsing params
try:
setting, firebase_app = firebase_admin_with_setting(data)
except BrainException as ex:
return ex.get_response_exp()
# Services
train_service = TrainService(firebase_app=firebase_app, setting=setting)
try:
result = train_service.delete_one_document(document_id)
except Exception as e:
if isinstance(e, BrainException):
return e.get_response_exp()
return assembler.to_response(400, "fail to delete one train", "")
return assembler.to_response(
200, "deleted one document and train data successfully", result
)
"""@generator.request_body(
{
"token": "test_token",
"uuid": "test_uuid",
}
)
@generator.response( status_code=200, schema={"message": "message", "result": {"document_id": "document_id"}} )"""
@router.post("/delete/all/vectors")
def delete_all_pinecone(data: BasicReq):
# parsing params
try:
setting, firebase_app = firebase_admin_with_setting(data)
except BrainException as ex:
return ex.get_response_exp()
# Services
train_service = TrainService(firebase_app=firebase_app, setting=setting)
try:
result = train_service.delete_all_training_from_pinecone()
except Exception as e:
if isinstance(e, BrainException):
return e.get_response_exp()
return assembler.to_response(400, "fail to delete one train", "")
return assembler.to_response(
200, "deleted one document and train data successfully", result
)
return router
|