pvd as deps arg
This commit is contained in:
parent
0769004ebb
commit
14c6b5933c
|
@ -1,6 +1,10 @@
|
|||
from pydantic import BaseModel
|
||||
|
||||
|
||||
class Context(BaseModel):
|
||||
user_name: str
|
||||
|
||||
|
||||
class GetAiChatResponseInput(BaseModel):
|
||||
message: str
|
||||
user_name: str
|
||||
|
|
|
@ -4,13 +4,14 @@ from fastapi import FastAPI, Request
|
|||
from dotenv import load_dotenv
|
||||
from starlette.responses import JSONResponse
|
||||
|
||||
from simplylab.entity import GetAiChatResponseInput
|
||||
from simplylab.entity import GetAiChatResponseInput, Context
|
||||
from simplylab.entity import GetAiChatResponseOutput
|
||||
from simplylab.entity import GetUserChatHistoryInput
|
||||
from simplylab.entity import GetUserChatHistoryOutput
|
||||
from simplylab.entity import GetChatStatusTodayInput
|
||||
from simplylab.entity import GetChatStatusTodayOutput
|
||||
from simplylab.error import Error
|
||||
from simplylab.providers import Providers
|
||||
from simplylab.services import Services
|
||||
|
||||
load_dotenv()
|
||||
|
@ -32,20 +33,26 @@ async def hi():
|
|||
|
||||
@app.post("/api/v1/get_ai_chat_response")
|
||||
async def get_ai_chat_response(req: GetAiChatResponseInput) -> GetAiChatResponseOutput:
|
||||
svc = Services(req)
|
||||
ctx = Context(user_name=req.user_name)
|
||||
pvd = Providers()
|
||||
svc = Services(ctx, pvd)
|
||||
res = await svc.chat.get_ai_chat_response(req)
|
||||
return res
|
||||
|
||||
|
||||
@app.post("/api/v1/get_user_chat_history")
|
||||
async def get_user_chat_history(req: GetUserChatHistoryInput) -> GetUserChatHistoryOutput:
|
||||
svc = Services(req)
|
||||
ctx = Context(user_name=req.user_name)
|
||||
pvd = Providers()
|
||||
svc = Services(ctx, pvd)
|
||||
res = await svc.chat.get_user_chat_history(req)
|
||||
return res
|
||||
|
||||
|
||||
@app.post("/api/v1/get_chat_status_today")
|
||||
async def get_chat_status_today(req: GetChatStatusTodayInput) -> GetChatStatusTodayOutput:
|
||||
svc = Services(req)
|
||||
ctx = Context(user_name=req.user_name)
|
||||
pvd = Providers()
|
||||
svc = Services(ctx, pvd)
|
||||
res = await svc.chat.get_chat_status_today(req)
|
||||
return res
|
||||
|
|
|
@ -1,12 +1,15 @@
|
|||
from typing import Any
|
||||
|
||||
from simplylab.entity import Context
|
||||
from simplylab.providers import Providers
|
||||
from simplylab.services.chat import ChatService
|
||||
|
||||
|
||||
class Services:
|
||||
def __init__(self, ctx: Any):
|
||||
def __init__(self, ctx: Context, providers: Providers):
|
||||
self.ctx = ctx
|
||||
self.pvd = providers
|
||||
|
||||
@property
|
||||
def chat(self):
|
||||
return ChatService(self.ctx)
|
||||
return ChatService(self.ctx, self.pvd)
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
from typing import Any
|
||||
|
||||
from simplylab.entity import GetAiChatResponseInput, GetUserChatHistoryInput, GetChatStatusTodayInput, UserChatMessage, \
|
||||
GetChatStatusTodayOutput, GetAiChatResponseOutput, GetUserChatHistoryOutput
|
||||
GetChatStatusTodayOutput, GetAiChatResponseOutput, GetUserChatHistoryOutput, Context
|
||||
from simplylab.providers import Providers
|
||||
|
||||
|
||||
class ChatService:
|
||||
def __init__(self, ctx: Any):
|
||||
def __init__(self, ctx: Context, provider: Providers):
|
||||
self.ctx = ctx
|
||||
self.pvd = Providers()
|
||||
self.pvd = provider
|
||||
|
||||
async def get_ai_chat_response(self, req: GetAiChatResponseInput) -> GetAiChatResponseOutput:
|
||||
message = req.message
|
||||
|
|
Loading…
Reference in New Issue