Open
Description
Code snippet
import os
import asyncio
from semantic_kernel.contents.chat_history import ChatHistory
from semantic_kernel.connectors.ai.prompt_execution_settings import PromptExecutionSettings
from semantic_kernel.connectors.ai.azure_ai_inference import AzureAIInferenceChatCompletion
from semantic_kernel.connectors.ai.azure_ai_inference import AzureAIInferenceChatPromptExecutionSettings
from azure.ai.inference import ChatCompletionsClient
from azure.core.credentials import AzureKeyCredential
from dotenv import load_dotenv
load_dotenv("../.env")
llm = AzureAIInferenceChatCompletion(
endpoint=os.getenv("AZUREAI_INFERENCE_ENDPOINT"), # "https://{myresource}.services.ai.azure.com/models"
api_key=os.getenv("AZUREAI_ENDPOINT_KEY"),
ai_model_id="phi-4",
service_id="phi-4",
)
# execution_settings = AzureAIInferenceChatPromptExecutionSettings(
# max_tokens=100,
# temperature=0.5,
# top_p=0.9,
# service_id="phi-4",
# model_id="phi-4",
# # extra_parameters={...}, # model-specific parameters
# )
execution_settings = PromptExecutionSettings(model="phi-4")
async def main():
chat_history = ChatHistory(messages=[{"role": "user", "content": "Hello"}])
response = await llm.get_chat_message_content(chat_history,
execution_settings,
headers={"x-ms-model-mesh-model-name": "phi-4"},
)
print(response)
if __name__ == "__main__":
asyncio.run(main())
Error details
Traceback (most recent call last):
File "/afh/projects/aiproj01-ea1be05d-2ca9-4751-94bd-64549ebf820f/shared/Users/pupanda/ai-foundation-models/ai-inference/phi/phi4-sk.py", line 41, in <module>
asyncio.run(main())
File "/anaconda/envs/azureml_py310_sdkv2/lib/python3.10/asyncio/runners.py", line 44, in run
return loop.run_until_complete(main)
File "/anaconda/envs/azureml_py310_sdkv2/lib/python3.10/asyncio/base_events.py", line 649, in run_until_complete
return future.result()
File "/afh/projects/aiproj01-ea1be05d-2ca9-4751-94bd-64549ebf820f/shared/Users/pupanda/ai-foundation-models/ai-inference/phi/phi4-sk.py", line 34, in main
response = await llm.get_chat_message_content(chat_history,
File "/anaconda/envs/azureml_py310_sdkv2/lib/python3.10/site-packages/semantic_kernel/connectors/ai/chat_completion_client_base.py", line 197, in get_chat_message_content
results = await self.get_chat_message_contents(chat_history=chat_history, settings=settings, **kwargs)
File "/anaconda/envs/azureml_py310_sdkv2/lib/python3.10/site-packages/semantic_kernel/connectors/ai/chat_completion_client_base.py", line 142, in get_chat_message_contents
return await self._inner_get_chat_message_contents(chat_history, settings)
File "/anaconda/envs/azureml_py310_sdkv2/lib/python3.10/site-packages/semantic_kernel/connectors/ai/azure_ai_inference/services/azure_ai_inference_chat_completion.py", line 127, in _inner_get_chat_message_contents
response: ChatCompletions = await self.client.complete(
File "/anaconda/envs/azureml_py310_sdkv2/lib/python3.10/site-packages/azure/ai/inference/aio/_patch.py", line 670, in complete
raise HttpResponseError(response=response)
azure.core.exceptions.HttpResponseError: (no_model_name) No model specified in request. Please provide a model name in the request body or as a x-ms-model-mesh-model-name header.
Code: no_model_name
Message: No model specified in request. Please provide a model name in the request body or as a x-ms-model-mesh-model-name header.
Unclosed client session
client_session: <aiohttp.client.ClientSession object at 0x7fb32ae6c850>
Unclosed connector
connections: ['deque([(<aiohttp.client_proto.ResponseHandler object at 0x7fb322838640>, 2558.922774265)])']
connector: <aiohttp.connector.TCPConnector object at 0x7fb32ae6c9a0>
This error of no_model_name comes from azure-ai-inference in SK. SK wrapper is not able to pass model vaue to ChatcompletionClient. So, when client.complete() tried, it just says model name info is missing.
It looks like a bug. Does anyone have any insights if thing can be addressed from client side?
Metadata
Metadata
Assignees
Type
Projects
Status
No status