1414LLMSuccessResponse = Union [Dict [str , Any ], List [Any ]]
1515THRESHOLD = 0.6
1616
17- async def arequest_llm (request_body : str , stream : bool = True , vllm_url : str = get_settings ().VLLM_URL , user_id : str = None , use_vector_db : bool = False ) -> Union [httpx .Response , JSONResponse , LLMSuccessResponse ]:
17+ async def arequest_llm (
18+ request_body : str ,
19+ stream : bool = True ,
20+ vllm_url : str = get_settings ().VLLM_URL ,
21+ user_id : str | None = None ,
22+ is_api_key : bool = False ,
23+ use_vector_db : bool = False
24+ ) -> Union [httpx .Response , JSONResponse , LLMSuccessResponse ]:
1825 """
1926 Request LLM.
2027 - Returns httpx.Response if stream=True and status=200 (for caller to handle streaming).
@@ -25,7 +32,7 @@ async def arequest_llm(request_body: str, stream: bool = True, vllm_url: str = g
2532 response : Optional [httpx .Response ] = None
2633
2734 # Add system prompt to the request body
28- request_body = await _add_system_prompt (request_body )
35+ request_body = await _add_system_prompt (request_body , is_api_key )
2936
3037 # Apply vector DB if enabled
3138 if use_vector_db :
@@ -80,7 +87,14 @@ async def arequest_llm(request_body: str, stream: bool = True, vllm_url: str = g
8087 await client .aclose ()
8188
8289
83- def request_llm (request_body : str , stream : bool = True , vllm_url : str = get_settings ().VLLM_URL ) -> Union [httpx .Response , JSONResponse , LLMSuccessResponse ]:
90+ def request_llm (
91+ request_body : str ,
92+ stream : bool = True ,
93+ vllm_url : str = get_settings ().VLLM_URL ,
94+ user_id : str | None = None ,
95+ is_api_key : bool = False ,
96+ use_vector_db : bool = False
97+ ) -> Union [httpx .Response , JSONResponse , LLMSuccessResponse ]:
8498 """
8599 Request LLM (Synchronous version).
86100 - Returns httpx.Response if stream=True and status=200 (for caller to handle streaming).
@@ -91,7 +105,7 @@ def request_llm(request_body: str, stream: bool = True, vllm_url: str = get_sett
91105 response : Optional [httpx .Response ] = None
92106
93107 # Add system prompt to the request body
94- request_body = asyncio .run (_add_system_prompt (request_body ))
108+ request_body = asyncio .run (_add_system_prompt (request_body , is_api_key ))
95109
96110 try :
97111 headers = { "Content-Type" : "application/json" }
@@ -141,10 +155,10 @@ def request_llm(request_body: str, stream: bool = True, vllm_url: str = get_sett
141155 if client and not client .is_closed and not is_streaming_success :
142156 client .close ()
143157
144- async def _add_system_prompt (request_body : str ) -> str :
158+ async def _add_system_prompt (request_body : str , is_api_key : bool ) -> str :
145159 """Add a system prompt to the messages."""
146160 request_body = json .loads (request_body )
147- default_prompt = await get_system_prompt (request_body ["model" ], "default" )
161+ default_prompt = await get_system_prompt (request_body ["model" ], "default" , is_api_key )
148162 if default_prompt :
149163 request_body ["messages" ] = [{"role" : "system" , "content" : default_prompt .format (current_date = datetime .now ().strftime ("%Y-%m-%d %H:%M:%S" ))}] + request_body ["messages" ]
150164 return json .dumps (request_body )
0 commit comments