Skip to content

Commit b88d4f6

Browse files
author
adesousa_microsoft
committed
prompt and model args update for grounding responses
1 parent 7eb28c9 commit b88d4f6

File tree

1 file changed

+21
-13
lines changed

1 file changed

+21
-13
lines changed

app.py

Lines changed: 21 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -198,15 +198,20 @@ def init_cosmosdb_client():
198198

199199

200200
def 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

888896
def retrieve_document(filepath):
889897
try:

0 commit comments

Comments
 (0)