1 type derived from ChatCompletion
Microsoft.Extensions.AI (1)
ChatCompletion\ChatCompletion{T}.cs (1)
22public class ChatCompletion<T> : ChatCompletion
7 instantiations of ChatCompletion
Microsoft.Extensions.AI (1)
ChatCompletion\OpenTelemetryChatClient.cs (1)
239return new(messages)
Microsoft.Extensions.AI.Abstractions.Tests (4)
ChatCompletion\ChatCompletionTests.cs (4)
16Assert.Throws<ArgumentNullException>("message", () => new ChatCompletion((ChatMessage)null!)); 17Assert.Throws<ArgumentNullException>("choices", () => new ChatCompletion((IList<ChatMessage>)null!)); 25ChatCompletion completion = new(message); 40ChatCompletion completion = new(messages);
Microsoft.Extensions.AI.AzureAIInference (1)
AzureAIInferenceChatClient.cs (1)
132return new ChatCompletion(returnMessages)
Microsoft.Extensions.AI.Tests (1)
ChatCompletion\ConfigureOptionsChatClientTests.cs (1)
34ChatCompletion expectedCompletion = new(Array.Empty<ChatMessage>());
71 references to ChatCompletion
Microsoft.Extensions.AI (32)
ChatCompletion\CachingChatClient.cs (9)
42public override async Task<ChatCompletion> CompleteAsync(IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default) 51if (await ReadCacheAsync(cacheKey, cancellationToken).ConfigureAwait(false) is ChatCompletion existing) 56var result = await base.CompleteAsync(chatMessages, options, cancellationToken).ConfigureAwait(false); 202/// Returns a previously cached <see cref="ChatCompletion"/>, if available. 208protected abstract Task<ChatCompletion?> ReadCacheAsync(string key, CancellationToken cancellationToken); 220/// Stores a <see cref="ChatCompletion"/> in the underlying cache. 224/// <param name="value">The <see cref="ChatCompletion"/> to be stored.</param> 227protected abstract Task WriteCacheAsync(string key, ChatCompletion value, CancellationToken cancellationToken); 234/// <param name="value">The <see cref="ChatCompletion"/> to be stored.</param>
ChatCompletion\ChatClientStructuredOutputExtensions.cs (1)
168var result = await chatClient.CompleteAsync(chatMessages, options, cancellationToken).ConfigureAwait(false);
ChatCompletion\ChatCompletion{T}.cs (3)
20/// You can access the underlying JSON response on the <see cref="ChatCompletion.Message"/> property. 31/// <param name="completion">The unstructured <see cref="ChatCompletion"/> that is being wrapped.</param> 33public ChatCompletion(ChatCompletion completion, JsonSerializerOptions serializerOptions)
ChatCompletion\ConfigureOptionsChatClient.cs (1)
57public override async Task<ChatCompletion> CompleteAsync(IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default)
ChatCompletion\DistributedCachingChatClient.cs (5)
43protected override async Task<ChatCompletion?> ReadCacheAsync(string key, CancellationToken cancellationToken) 50return (ChatCompletion?)JsonSerializer.Deserialize(existingJson, _jsonSerializerOptions.GetTypeInfo(typeof(ChatCompletion))); 71protected override async Task WriteCacheAsync(string key, ChatCompletion value, CancellationToken cancellationToken) 77var newJson = JsonSerializer.SerializeToUtf8Bytes(value, _jsonSerializerOptions.GetTypeInfo(typeof(ChatCompletion)));
ChatCompletion\FunctionInvokingChatClient.cs (2)
172public override async Task<ChatCompletion> CompleteAsync(IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default) 175ChatCompletion? response;
ChatCompletion\LoggingChatClient.cs (2)
46public override async Task<ChatCompletion> CompleteAsync( 63var completion = await base.CompleteAsync(chatMessages, options, cancellationToken).ConfigureAwait(false);
ChatCompletion\OpenTelemetryChatClient.cs (8)
110public override async Task<ChatCompletion> CompleteAsync(IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default) 121ChatCompletion? completion = null; 198/// <summary>Creates a <see cref="ChatCompletion"/> from a collection of <see cref="StreamingChatCompletionUpdate"/> instances.</summary> 200/// This only propagates information that's later used by the telemetry. If additional information from the <see cref="ChatCompletion"/> 203private static ChatCompletion ComposeStreamingUpdatesIntoChatCompletion( 341ChatCompletion? completion, 419void AddMetricTags(ref TagList tags, string? requestModelId, ChatCompletion? completions) 483private void LogChatCompletion(ChatCompletion completion)
Utilities\AIJsonUtilities.Defaults.cs (1)
58[JsonSerializable(typeof(ChatCompletion))]
Microsoft.Extensions.AI.Abstractions (7)
ChatCompletion\ChatClientExtensions.cs (1)
20public static Task<ChatCompletion> CompleteAsync(
ChatCompletion\ChatCompletion.cs (4)
17/// <summary>Initializes a new instance of the <see cref="ChatCompletion"/> class.</summary> 25/// <summary>Initializes a new instance of the <see cref="ChatCompletion"/> class.</summary> 52throw new InvalidOperationException($"The {nameof(ChatCompletion)} instance does not contain any {nameof(ChatMessage)} choices."); 76/// If a <see cref="ChatCompletion"/> is created to represent some underlying object from another object
ChatCompletion\DelegatingChatClient.cs (1)
54public virtual Task<ChatCompletion> CompleteAsync(IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default)
ChatCompletion\IChatClient.cs (1)
37Task<ChatCompletion> CompleteAsync(
Microsoft.Extensions.AI.Abstractions.Tests (14)
ChatCompletion\ChatClientExtensionsTests.cs (1)
65ChatCompletion response = await client.CompleteAsync("hello", expectedOptions, cts.Token);
ChatCompletion\ChatCompletionTests.cs (9)
25ChatCompletion completion = new(message); 40ChatCompletion completion = new(messages); 48ChatCompletion completion = new([]); 58ChatCompletion completion = new([message]); 68ChatCompletion completion = new([ 80ChatCompletion completion = new([]); 87ChatCompletion completion = new([]); 128ChatCompletion original = new( 147ChatCompletion? result = JsonSerializer.Deserialize(json, TestJsonSerializerContext.Default.ChatCompletion);
ChatCompletion\DelegatingChatClientTests.cs (1)
36var expectedResult = new TaskCompletionSource<ChatCompletion>();
TestChatClient.cs (2)
17public Func<IList<ChatMessage>, ChatOptions?, CancellationToken, Task<ChatCompletion>>? CompleteAsyncCallback { get; set; } 23public Task<ChatCompletion> CompleteAsync(IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default)
TestJsonSerializerContext.cs (1)
17[JsonSerializable(typeof(ChatCompletion))]
Microsoft.Extensions.AI.AzureAIInference (1)
AzureAIInferenceChatClient.cs (1)
67public async Task<ChatCompletion> CompleteAsync(
Microsoft.Extensions.AI.AzureAIInference.Tests (1)
AzureAIInferenceChatClientTests.cs (1)
125var response = await client.CompleteAsync("hello", new()
Microsoft.Extensions.AI.Integration.Tests (6)
CallCountingChatClient.cs (1)
19public override Task<ChatCompletion> CompleteAsync(
ChatClientIntegrationTests.cs (2)
46var response = await _chatClient.CompleteAsync("What's the biggest animal?"); 99var response = await _chatClient.CompleteAsync("Explain in 10 words how AI works");
PromptBasedFunctionCallingChatClient.cs (1)
40public override async Task<ChatCompletion> CompleteAsync(IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default)
test\Libraries\Microsoft.Extensions.AI.Abstractions.Tests\TestChatClient.cs (2)
17public Func<IList<ChatMessage>, ChatOptions?, CancellationToken, Task<ChatCompletion>>? CompleteAsyncCallback { get; set; } 23public Task<ChatCompletion> CompleteAsync(IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default)
Microsoft.Extensions.AI.Ollama (1)
OllamaChatClient.cs (1)
59public async Task<ChatCompletion> CompleteAsync(IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default)
Microsoft.Extensions.AI.Ollama.Tests (2)
OllamaChatClientIntegrationTests.cs (1)
94public override Task<ChatCompletion> CompleteAsync(
OllamaChatClientTests.cs (1)
98var response = await client.CompleteAsync("hello", new()
Microsoft.Extensions.AI.OpenAI (1)
OpenAIChatClient.cs (1)
93public async Task<ChatCompletion> CompleteAsync(
Microsoft.Extensions.AI.OpenAI.Tests (1)
OpenAIChatClientTests.cs (1)
167var response = await client.CompleteAsync("hello", new()
Microsoft.Extensions.AI.Tests (5)
ChatCompletion\ConfigureOptionsChatClientTests.cs (2)
34ChatCompletion expectedCompletion = new(Array.Empty<ChatMessage>()); 63var completion = await client.CompleteAsync(Array.Empty<ChatMessage>(), providedOptions, cts.Token);
test\Libraries\Microsoft.Extensions.AI.Abstractions.Tests\TestChatClient.cs (2)
17public Func<IList<ChatMessage>, ChatOptions?, CancellationToken, Task<ChatCompletion>>? CompleteAsyncCallback { get; set; } 23public Task<ChatCompletion> CompleteAsync(IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default)
TestJsonSerializerContext.cs (1)
13[JsonSerializable(typeof(ChatCompletion))]