Skip to content

Update to M.E.AI 9.3.0-preview.1.25161.3 #7414

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Mar 12, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion eng/Versions.props
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@
<MicrosoftDotNetInteractiveVersion>1.0.0-beta.24375.2</MicrosoftDotNetInteractiveVersion>
<MicrosoftMLOnnxRuntimeVersion>1.18.1</MicrosoftMLOnnxRuntimeVersion>
<MlNetMklDepsVersion>0.0.0.12</MlNetMklDepsVersion>
<MicrosoftExtensionsAIVersion>9.3.0-preview.1.25114.11</MicrosoftExtensionsAIVersion>
<MicrosoftExtensionsAIVersion>9.3.0-preview.1.25161.3</MicrosoftExtensionsAIVersion>
<!-- runtime.native.System.Data.SqlClient.sni is not updated by dependency flow as it is not produced live anymore. -->
<RuntimeNativeSystemDataSqlClientSniVersion>4.4.0</RuntimeNativeSystemDataSqlClientSniVersion>
<!--
Expand Down
15 changes: 8 additions & 7 deletions src/Microsoft.ML.GenAI.Core/CausalLMPipelineChatClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,9 @@ public CausalLMPipelineChatClient(
_pipeline = pipeline;
}

public virtual Task<ChatResponse> GetResponseAsync(IList<ChatMessage> chatMessages, ChatOptions? options = null, CancellationToken cancellationToken = default)
public virtual Task<ChatResponse> GetResponseAsync(IEnumerable<ChatMessage> messages, ChatOptions? options = null, CancellationToken cancellationToken = default)
{
var prompt = _chatTemplateBuilder.BuildPrompt(chatMessages, options);
var prompt = _chatTemplateBuilder.BuildPrompt(messages, options);
var stopSequences = options?.StopSequences ?? Array.Empty<string>();

var output = _pipeline.Generate(
Expand All @@ -49,30 +49,31 @@ public virtual Task<ChatResponse> GetResponseAsync(IList<ChatMessage> chatMessag
{
CreatedAt = DateTime.UtcNow,
FinishReason = ChatFinishReason.Stop,
ResponseId = Guid.NewGuid().ToString("N"),
});
}

#pragma warning disable CS1998 // Async method lacks 'await' operators and will run synchronously
public virtual async IAsyncEnumerable<ChatResponseUpdate> GetStreamingResponseAsync(
#pragma warning restore CS1998 // Async method lacks 'await' operators and will run synchronously
IList<ChatMessage> chatMessages,
IEnumerable<ChatMessage> messages,
ChatOptions? options = null,
[EnumeratorCancellation] CancellationToken cancellationToken = default)
{
var prompt = _chatTemplateBuilder.BuildPrompt(chatMessages, options);
var prompt = _chatTemplateBuilder.BuildPrompt(messages, options);
var stopSequences = options?.StopSequences ?? Array.Empty<string>();

string responseId = Guid.NewGuid().ToString("N");
foreach (var output in _pipeline.GenerateStreaming(
prompt,
maxLen: options?.MaxOutputTokens ?? 1024,
temperature: options?.Temperature ?? 0.7f,
stopSequences: stopSequences.ToArray()))
{
yield return new ChatResponseUpdate
yield return new(ChatRole.Assistant, output)
{
Role = ChatRole.Assistant,
Text = output,
CreatedAt = DateTime.UtcNow,
ResponseId = responseId,
};
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ public interface IMEAIChatTemplateBuilder
/// <param name="options"></param>
/// <param name="appendAssistantTag">true if append assistant tag at the end of prompt.</param>
/// <returns></returns>
string BuildPrompt(IList<ChatMessage> messages, ChatOptions? options = null, bool appendAssistantTag = true);
string BuildPrompt(IEnumerable<ChatMessage> messages, ChatOptions? options = null, bool appendAssistantTag = true);
}

public interface IChatTemplateBuilder : IAutoGenChatTemplateBuilder, ISemanticKernelChatTemplateBuilder
Expand Down
8 changes: 4 additions & 4 deletions src/Microsoft.ML.GenAI.LLaMA/Llama3CausalLMChatClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ public Llama3CausalLMChatClient(
}

public override Task<ChatResponse> GetResponseAsync(
IList<ChatMessage> chatMessages,
IEnumerable<ChatMessage> messages,
ChatOptions? options = null,
CancellationToken cancellationToken = default)
{
Expand All @@ -40,18 +40,18 @@ public override Task<ChatResponse> GetResponseAsync(
options.StopSequences = new List<string> { _eotToken };
}

return base.GetResponseAsync(chatMessages, options, cancellationToken);
return base.GetResponseAsync(messages, options, cancellationToken);
}

public override IAsyncEnumerable<ChatResponseUpdate> GetStreamingResponseAsync(
IList<ChatMessage> chatMessages,
IEnumerable<ChatMessage> messages,
ChatOptions? options = null,
CancellationToken cancellationToken = default)
{
options ??= new ChatOptions();
options.StopSequences ??= [];
options.StopSequences.Add(_eotToken);

return base.GetStreamingResponseAsync(chatMessages, options, cancellationToken);
return base.GetStreamingResponseAsync(messages, options, cancellationToken);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ public string BuildPrompt(ChatHistory chatHistory)
return sb.ToString();
}

public string BuildPrompt(IList<ChatMessage> messages, ChatOptions? options = null, bool appendAssistantTag = true)
public string BuildPrompt(IEnumerable<ChatMessage> messages, ChatOptions? options = null, bool appendAssistantTag = true)
{
var availableRoles = new[] { ChatRole.System, ChatRole.User, ChatRole.Assistant };
if (messages.Any(m => m.Text is null))
Expand Down
8 changes: 4 additions & 4 deletions src/Microsoft.ML.GenAI.Phi/Phi3/Phi3CausalLMChatClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ public Phi3CausalLMChatClient(
}

public override Task<ChatResponse> GetResponseAsync(
IList<ChatMessage> chatMessages,
IEnumerable<ChatMessage> messages,
ChatOptions? options = null,
CancellationToken cancellationToken = default)
{
Expand All @@ -45,18 +45,18 @@ public override Task<ChatResponse> GetResponseAsync(
options.StopSequences = [_eotToken];
}

return base.GetResponseAsync(chatMessages, options, cancellationToken);
return base.GetResponseAsync(messages, options, cancellationToken);
}

public override IAsyncEnumerable<ChatResponseUpdate> GetStreamingResponseAsync(
IList<ChatMessage> chatMessages,
IEnumerable<ChatMessage> messages,
ChatOptions? options = null,
CancellationToken cancellationToken = default)
{
options ??= new ChatOptions();
options.StopSequences ??= [];
options.StopSequences.Add(_eotToken);

return base.GetStreamingResponseAsync(chatMessages, options, cancellationToken);
return base.GetStreamingResponseAsync(messages, options, cancellationToken);
}
}
2 changes: 1 addition & 1 deletion src/Microsoft.ML.GenAI.Phi/Phi3/Phi3ChatTemplateBuilder.cs
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ public string BuildPrompt(ChatHistory chatHistory)
return sb.ToString();
}

public string BuildPrompt(IList<ChatMessage> messages, ChatOptions? options = null, bool appendAssistantTag = true)
public string BuildPrompt(IEnumerable<ChatMessage> messages, ChatOptions? options = null, bool appendAssistantTag = true)
{
var availableRoles = new[] { ChatRole.System, ChatRole.User, ChatRole.Assistant };
if (messages.Any(m => m.Text is null))
Expand Down
Loading