From 84ebfb5b9d2e77521bfb48e5c74ad588b040ef00 Mon Sep 17 00:00:00 2001 From: Shay Ben Elazar Date: Mon, 29 Jan 2024 23:31:09 +0200 Subject: [PATCH] openai[patch]: Added annotations support to azure openai (#13704) - **Description:** Added Azure OpenAI Annotations (content filtering results) to ChatResult - **Issue:** 13090 - **Twitter handle:** ElazarShay Co-authored-by: Bagatur --- .../langchain_openai/chat_models/azure.py | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/libs/partners/openai/langchain_openai/chat_models/azure.py b/libs/partners/openai/langchain_openai/chat_models/azure.py index 5d587205474..1584165128f 100644 --- a/libs/partners/openai/langchain_openai/chat_models/azure.py +++ b/libs/partners/openai/langchain_openai/chat_models/azure.py @@ -217,9 +217,19 @@ class AzureChatOpenAI(ChatOpenAI): if self.model_version: model = f"{model}-{self.model_version}" - if chat_result.llm_output is not None and isinstance( - chat_result.llm_output, dict - ): - chat_result.llm_output["model_name"] = model + chat_result.llm_output = chat_result.llm_output or {} + chat_result.llm_output["model_name"] = model + if "prompt_filter_results" in response: + chat_result.llm_output = chat_result.llm_output or {} + chat_result.llm_output["prompt_filter_results"] = response[ + "prompt_filter_results" + ] + for chat_gen, response_choice in zip( + chat_result.generations, response["choices"] + ): + chat_gen.generation_info = chat_gen.generation_info or {} + chat_gen.generation_info["content_filter_results"] = response_choice.get( + "content_filter_results", {} + ) return chat_result