awaitusingvarcontainer=awaitEnvironment.PrepareAsync(TestModels.Chat);varmessages=newList<ChatMessage>{"You are a helpful weather assistant. Use the provided tools for weather questions.".AsSystemMessage(),"What is the current temperature in Dubai, UAE in Celsius?".AsUserMessage(),};varmodel=TestModels.Chat;try{varservice=newWeatherService();vartools=service.AsTools().AsOllamaTools();varresponse=awaitcontainer.Client.ChatAsync(model,messages,tools:tools,options:newModelOptions{Temperature=0,Seed=1,});varassistantMessage=response.Message??thrownewInvalidOperationException("Expected a response message.");messages.Add(assistantMessage.ToChatMessage());foreach(varcallinassistantMessage.ToolCalls!){varargumentsAsJson=call.Function?.Arguments==null?string.Empty:call.Function.Arguments.AsJson();varjson=awaitservice.CallAsync(functionName:call.Function?.Name??string.Empty,argumentsAsJson:argumentsAsJson);messages.Add(json.AsToolMessage());}response=awaitcontainer.Client.ChatAsync(model,messages,tools:tools,options:newModelOptions{Temperature=0,Seed=1,});messages.Add((response.Message??thrownewInvalidOperationException("Expected a response message.")).ToChatMessage());}finally{Console.WriteLine(Ollama.Chat.PrintMessages(messages));}