diff --git a/examples/Chat/Example01_SimpleChat_Cancellations.cs b/examples/Chat/Example01_SimpleChat_Cancellations.cs new file mode 100644 index 00000000..aaf13df0 --- /dev/null +++ b/examples/Chat/Example01_SimpleChat_Cancellations.cs @@ -0,0 +1,40 @@ +using NUnit.Framework; +using OpenAI.Chat; +using System; +using System.ClientModel; +using System.ClientModel.Primitives; +using System.Threading; + +namespace OpenAI.Examples; + +public partial class ChatExamples +{ + [Test] + public void Example01_SimpleChat_Cancellations() + { + ChatClient client = new(model: "gpt-4o", Environment.GetEnvironmentVariable("OPENAI_API_KEY")); + + CancellationTokenSource ct = new CancellationTokenSource(); + RequestOptions options = new() { CancellationToken = ct.Token }; + + ChatMessage message = ChatMessage.CreateUserMessage("Say 'this is a test.'"); + var body = new { + model = "gpt-4o", + messages = new[] { + new + { + role = "user", + content = "Say \u0027this is a test.\u0027" + } + } + }; + + BinaryData json = BinaryData.FromObjectAsJson(body); + ClientResult result = client.CompleteChat(BinaryContent.Create(json), options); + + // The following code will be simplified in the future. + var wireFormat = new ModelReaderWriterOptions("W"); + ChatCompletion completion = ModelReaderWriter.Read(result.GetRawResponse().Content, wireFormat); + Console.WriteLine($"[ASSISTANT]: {completion}"); + } +}