Beamlnwza commited on
Commit
7965157
·
1 Parent(s): 1016037

start reformat generate endpoint

Browse files
src/endpoints/generate.py CHANGED
@@ -1,4 +1,7 @@
1
  from fastapi import APIRouter
 
 
 
2
 
3
  router = APIRouter(
4
  prefix="/generate",
@@ -6,6 +9,8 @@ router = APIRouter(
6
  responses={404: {"description": "Not found"}},
7
  )
8
 
 
 
9
 
10
  @router.get("/")
11
  async def info():
@@ -15,3 +20,20 @@ async def info():
15
  @router.get("/status")
16
  async def status():
17
  return {"status": "OK"}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  from fastapi import APIRouter
2
+ from src.libs.model import CganCols
3
+ from src.models.main import User, Method
4
+ from src.models.generate import GenerateResult, ImageResult
5
 
6
  router = APIRouter(
7
  prefix="/generate",
 
9
  responses={404: {"description": "Not found"}},
10
  )
11
 
12
+ model = CganCols()
13
+
14
 
15
  @router.get("/")
16
  async def info():
 
20
  @router.get("/status")
21
  async def status():
22
  return {"status": "OK"}
23
+
24
+
25
+ @router.post("/")
26
+ async def generate(user: User, index: int | None = None) -> GenerateResult:
27
+ if index:
28
+ result: GenerateResult = await generate_index(user, index)
29
+ return result
30
+
31
+ return await generate_all(user)
32
+
33
+
34
+ async def generate_index(user: User, index: int) -> GenerateResult:
35
+ pass
36
+
37
+
38
+ async def generate_all(user: User) -> GenerateResult:
39
+ pass
src/libs/__init__.py ADDED
File without changes
src/libs/model.py ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from huggingface_hub import from_pretrained_keras
2
+
3
+
4
+ class CganCols:
5
+ def __init__(self):
6
+ self.model_0 = from_pretrained_keras('SupawitMarayat/pimthaigans-cgan-0010')
7
+ self.model_1 = from_pretrained_keras('SupawitMarayat/pimthaigans-cgan-1121')
8
+ self.model_2 = from_pretrained_keras('SupawitMarayat/pimthaigans-cgan-2232')
9
+ self.model_3 = from_pretrained_keras('SupawitMarayat/pimthaigans-cgan-3343')
10
+ self.model_4 = from_pretrained_keras('SupawitMarayat/pimthaigans-cgan-4454')
11
+ self.model_5 = from_pretrained_keras('SupawitMarayat/pimthaigans-cgan-5565')
12
+ self.model_6 = from_pretrained_keras('SupawitMarayat/pimthaigans-cgan-6676')
13
+ self.model_7 = from_pretrained_keras('SupawitMarayat/pimthaigans-cgan-7787')
14
+
15
+ self.model_cols = [self.model_0, self.model_1, self.model_2, self.model_3, self.model_4, self.model_5,
16
+ self.model_6, self.model_7]
src/libs/s3.py ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ from dotenv import load_dotenv
3
+ import boto3
4
+
5
+ load_dotenv(dotenv_path=".env")
6
+
7
+
8
+ def s3session():
9
+ session = boto3.session.Session(
10
+ aws_access_key_id=os.environ.get("ACCESS_KEY_ID"),
11
+ aws_secret_access_key=os.environ.get("SECRET_ACCESS_KEY"),
12
+ )
13
+
14
+ return session
15
+
16
+
17
+ def s3client():
18
+ session = s3session()
19
+ s3_client = session.client("s3")
20
+ return s3_client
21
+
22
+
23
+ def s3resource():
24
+ session = s3session()
25
+ s3_resource = session.resource("s3")
26
+ return s3_resource
src/models/generate.py ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from typing import List
2
+ from pydantic import BaseModel
3
+ from src.models.main import User, Method
4
+
5
+
6
+ class ImageResult(BaseModel):
7
+ index: int
8
+ image_url: str
9
+
10
+
11
+ class GenerateResult(BaseModel):
12
+ user: User
13
+ method: Method
14
+ result: List[ImageResult]
src/models/main.py ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Main schema for the Api"""
2
+ from pydantic import BaseModel
3
+ from uuid import UUID
4
+ from enum import Enum
5
+
6
+
7
+ class User(BaseModel):
8
+ uuid: UUID
9
+
10
+
11
+ class Method(str, Enum):
12
+ all = "all"
13
+ index = "index"