11``` csharp
2- using var api = GetAuthenticatedClient ( );
2+ using var api = new OpenAiClient ( apiKey );
33
44var service = new FunctionCallingService ();
55IList < ChatCompletionTool > tools = service .AsTools ().AsOpenAiTools ();
66
77AssistantObject assistant = await api .Assistants .CreateAssistantAsync (
8- model : CreateAssistantRequestModel .Gpt4o ,
8+ model : AssistantSupportedModels .Gpt4o ,
99 name : " Example: Function Calling" ,
1010 instructions : " Don't make assumptions about what values to plug into functions."
1111 + " Ask for clarification if a user request is ambiguous." ,
12- tools : tools .Select (x => new ToolsItem2 (new AssistantToolsFunction
12+ tools : tools .Select (x => new global :: tryAGI . OpenAI . OneOf < global :: tryAGI . OpenAI . AssistantToolsCode , global :: tryAGI . OpenAI . AssistantToolsFileSearch , global :: tryAGI . OpenAI . AssistantToolsFunction > (new AssistantToolsFunction
1313 {
1414 Function = x .Function ,
1515 })).ToArray ());
@@ -61,33 +61,33 @@ if (run.Status == RunObjectStatus.Completed)
6161 foreach (MessageObject message in messages .Data )
6262 {
6363 Console .WriteLine ($" [{message .Role .ToString ().ToUpper ()}]: " );
64- foreach (ContentItem2 contentItem in message .Content )
64+ foreach (global : : tryAGI . OpenAI . OneOf < global :: tryAGI . OpenAI . MessageContentImageFileObject , global : : tryAGI . OpenAI . MessageContentImageUrlObject , global : : tryAGI . OpenAI . MessageContentTextObject , global : : tryAGI . OpenAI . MessageContentRefusalObject > contentItem in message .Content )
6565 {
66- if (contentItem .MessageImageFileObject is {} imageFile )
66+ if (contentItem .ImageFile is {} imageFile )
6767 {
6868 Console .WriteLine ($" <Image File ID> {imageFile .ImageFile .FileId }" );
6969 }
70- if (contentItem .MessageImageUrlObject is {} imageUrl )
70+ if (contentItem .ImageUrl is {} imageUrl )
7171 {
7272 Console .WriteLine ($" <Image URL> {imageUrl .ImageUrl .Url }" );
7373 }
74- if (contentItem .MessageTextObject is {} text )
74+ if (contentItem .Text is {} text )
7575 {
7676 Console .WriteLine ($" {text .Text .Value }" );
77-
77+
7878 // Include annotations, if any.
7979 if (text .Text .Annotations .Count > 0 )
8080 {
8181 Console .WriteLine ();
8282 foreach (AnnotationsItem annotation in text .Text .Annotations )
8383 {
84- if (annotation .MessageContentTextFileCitationObject is {} fileCitation )
84+ if (annotation .FileCitation is {} fileCitation )
8585 {
8686 Console .WriteLine ($" * File citation, file ID: {fileCitation .FileCitation .FileId }" );
8787 Console .WriteLine ($" * Text to replace: {fileCitation .Text }" );
8888 Console .WriteLine ($" * Message content index range: {fileCitation .StartIndex }-{fileCitation .EndIndex }" );
8989 }
90- if (annotation .MessageContentTextFilePathObject is {} filePath )
90+ if (annotation .FilePath is {} filePath )
9191 {
9292 Console .WriteLine ($" * File output, new file ID: {filePath .FilePath .FileId }" );
9393 Console .WriteLine ($" * Text to replace: {filePath .Text }" );
@@ -96,7 +96,7 @@ if (run.Status == RunObjectStatus.Completed)
9696 }
9797 }
9898 }
99- if (contentItem .MessageRefusalObject is {} refusal )
99+ if (contentItem .Refusal is {} refusal )
100100 {
101101 Console .WriteLine ($" Refusal: {refusal .Refusal }" );
102102 }
0 commit comments