@@ -198,15 +198,20 @@ def init_cosmosdb_client():
198198
199199
200200def prepare_model_args (request_body , request_headers ):
201- chat_type = ChatType .BROWSE if not (request_body ["chat_type" ] and request_body ["chat_type" ] == "template" ) else ChatType .TEMPLATE
201+
202+ chat_type = None
203+ if "chat_type" in request_body :
204+ chat_type = ChatType .BROWSE if not (request_body ["chat_type" ] and request_body ["chat_type" ] == "template" ) else ChatType .TEMPLATE
205+
206+
202207 request_messages = request_body .get ("messages" , [])
203208
204209 messages = []
205210 if not app_settings .datasource :
206211 messages = [
207212 {
208213 "role" : "system" ,
209- "content" : app_settings .azure_openai .system_message if chat_type == ChatType .BROWSE else app_settings .azure_openai .template_system_message
214+ "content" : app_settings .azure_openai .system_message if chat_type == ChatType .BROWSE or not chat_type else app_settings .azure_openai .template_system_message
210215 }
211216 ]
212217
@@ -823,7 +828,7 @@ async def generate_section_content():
823828 if "sectionDescription" not in request_json :
824829 return jsonify ({"error" : "sectionDescription is required" }), 400
825830
826- content = await generate_section_content (request_json )
831+ content = await generate_section_content (request_json , request . headers )
827832 return jsonify ({"section_content" : content }), 200
828833 except Exception as e :
829834 logging .exception ("Exception in /section/generate" )
@@ -859,11 +864,11 @@ async def generate_title(conversation_messages):
859864 except Exception as e :
860865 return messages [- 2 ]["content" ]
861866
862- async def generate_section_content (request_json ):
867+ async def generate_section_content (request_body , request_headers ):
863868 prompt = f"""{ app_settings .azure_openai .generate_section_content_prompt }
864869
865- Section Title: { request_json ['sectionTitle' ]}
866- Section Description: { request_json ['sectionDescription' ]}
870+ Section Title: { request_body ['sectionTitle' ]}
871+ Section Description: { request_body ['sectionDescription' ]}
867872 """
868873
869874 messages = [
@@ -873,17 +878,20 @@ async def generate_section_content(request_json):
873878 }
874879 ]
875880 messages .append ({"role" : "user" , "content" : prompt })
881+
882+ request_body ['messages' ] = messages
883+ model_args = prepare_model_args (request_body , request_headers )
876884
877885 try :
878886 azure_openai_client = init_openai_client ()
879- response = await azure_openai_client .chat .completions .create (
880- model = app_settings .azure_openai .model , messages = messages , temperature = 0
881- )
887+ raw_response = await azure_openai_client .chat .completions .with_raw_response .create (** model_args )
888+ response = raw_response .parse ()
882889
883- return response .choices [0 ].message .content
884- except Exception as ex :
885- logging .exception (ex )
886- return json .loads ({"error" : str (ex )})
890+ except Exception as e :
891+ logging .exception ("Exception in send_chat_request" )
892+ raise e
893+
894+ return response .choices [0 ].message .content
887895
888896def retrieve_document (filepath ):
889897 try :
0 commit comments