88from fastapi .responses import StreamingResponse
99from typing import Any , AsyncGenerator
1010from modai .module import ModaiModule , ModuleDependencies
11- import openai
11+ from openai .types .responses import (
12+ Response as OpenAIResponse ,
13+ ResponseStreamEvent as OpenAIResponseStreamEvent ,
14+ )
15+ from openai .types .responses .response_create_params import (
16+ ResponseCreateParams as OpenAICreateResponse ,
17+ )
1218
1319
1420class ChatWebModule (ModaiModule , ABC ):
@@ -33,8 +39,8 @@ def __init__(self, dependencies: ModuleDependencies, config: dict[str, Any]):
3339 async def responses_endpoint (
3440 self ,
3541 request : Request ,
36- body_json : openai . types . responses . ResponseCreateParams = Body (...),
37- ) -> openai . types . responses . Response | StreamingResponse :
42+ body_json : OpenAICreateResponse = Body (...),
43+ ) -> OpenAIResponse | StreamingResponse :
3844 """
3945 Handles responses requests. Must be implemented by concrete implementations.
4046 Fully OpenAI /responses API compatible.
@@ -61,11 +67,8 @@ def __init__(self, dependencies: ModuleDependencies, config: dict[str, Any]):
6167
6268 @abstractmethod
6369 async def generate_response (
64- self , request : Request , body_json : openai .types .responses .ResponseCreateParams
65- ) -> (
66- openai .types .responses .Response
67- | AsyncGenerator [openai .types .responses .ResponseStreamEvent , None ]
68- ):
70+ self , request : Request , body_json : OpenAICreateResponse
71+ ) -> OpenAIResponse | AsyncGenerator [OpenAIResponseStreamEvent , None ]:
6972 """
7073 Generate a streaming or non-streaming chat response.
7174
0 commit comments