@ToHtml(context.Content)
diff --git a/CS/DevExpress.AI.Samples.Blazor/Components/Pages/Chat-MessageSent.razor b/CS/DevExpress.AI.Samples.Blazor/Components/Pages/Chat-MessageSent.razor
index 79871cf..19d83f2 100644
--- a/CS/DevExpress.AI.Samples.Blazor/Components/Pages/Chat-MessageSent.razor
+++ b/CS/DevExpress.AI.Samples.Blazor/Components/Pages/Chat-MessageSent.razor
@@ -5,8 +5,7 @@
@code {
- void MessageSent(MessageSentEventArgs args) {
- var message = new Message(MessageRole.Assistant, $"Processed: {args.Content}");
- args.SendMessage(message);
+ async Task MessageSent(MessageSentEventArgs args) {
+ await args.Chat.SendMessage($"Processed: {args.Content}", Microsoft.Extensions.AI.ChatRole.Assistant);
}
}
\ No newline at end of file
diff --git a/CS/DevExpress.AI.Samples.Blazor/DevExpress.AI.Samples.Blazor.csproj b/CS/DevExpress.AI.Samples.Blazor/DevExpress.AI.Samples.Blazor.csproj
index 90166b1..f383749 100644
--- a/CS/DevExpress.AI.Samples.Blazor/DevExpress.AI.Samples.Blazor.csproj
+++ b/CS/DevExpress.AI.Samples.Blazor/DevExpress.AI.Samples.Blazor.csproj
@@ -7,11 +7,13 @@
-
-
-
-
-
+
+
+
+
+
+
+
diff --git a/CS/DevExpress.AI.Samples.Blazor/Program.cs b/CS/DevExpress.AI.Samples.Blazor/Program.cs
index 8f964c9..b56de48 100644
--- a/CS/DevExpress.AI.Samples.Blazor/Program.cs
+++ b/CS/DevExpress.AI.Samples.Blazor/Program.cs
@@ -1,7 +1,8 @@
-using Azure.AI.OpenAI;
-using Azure;
+using System.ClientModel;
+using Azure.AI.OpenAI;
using DevExpress.AI.Samples.Blazor.Components;
using DevExpress.AIIntegration;
+using Microsoft.Extensions.AI;
var builder = WebApplication.CreateBuilder(args);
@@ -11,14 +12,19 @@
string azureOpenAIEndpoint = Environment.GetEnvironmentVariable("AZURE_OPENAI_ENDPOINT");
string azureOpenAIKey = Environment.GetEnvironmentVariable("AZURE_OPENAI_API_KEY");
+string deploymentName = string.Empty;
+
+var azureClient = new AzureOpenAIClient(
+ new Uri(azureOpenAIEndpoint),
+ new ApiKeyCredential(azureOpenAIKey));
builder.Services.AddDevExpressBlazor();
+builder.Services.AddChatClient(cfg =>
+ cfg.Use(azureClient.AsChatClient((deploymentName)))
+);
builder.Services.AddDevExpressAI((config) => {
- var client = new AzureOpenAIClient(
- new Uri(azureOpenAIEndpoint),
- new AzureKeyCredential(azureOpenAIKey));
- config.RegisterChatClientOpenAIService(client, "gpt4o");
- config.RegisterOpenAIAssistants(client, "gpt4o");
+ //Reference the DevExpress.AIIntegration.OpenAI NuGet package to use Open AI Asisstants
+ config.RegisterOpenAIAssistants(azureClient, "gpt4o");
});
var app = builder.Build();
diff --git a/CS/DevExpress.AI.Samples.MAUIBlazor/DevExpress.AI.Samples.MAUIBlazor.csproj b/CS/DevExpress.AI.Samples.MAUIBlazor/DevExpress.AI.Samples.MAUIBlazor.csproj
index f879419..58c07b1 100644
--- a/CS/DevExpress.AI.Samples.MAUIBlazor/DevExpress.AI.Samples.MAUIBlazor.csproj
+++ b/CS/DevExpress.AI.Samples.MAUIBlazor/DevExpress.AI.Samples.MAUIBlazor.csproj
@@ -43,17 +43,18 @@
-
+
-
-
-
-
-
+
+
+
+
+
+
diff --git a/CS/DevExpress.AI.Samples.MAUIBlazor/MainViewModel.cs b/CS/DevExpress.AI.Samples.MAUIBlazor/MainViewModel.cs
index fef6459..f257a6f 100644
--- a/CS/DevExpress.AI.Samples.MAUIBlazor/MainViewModel.cs
+++ b/CS/DevExpress.AI.Samples.MAUIBlazor/MainViewModel.cs
@@ -1,6 +1,6 @@
using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
-
+using Microsoft.Extensions.AI;
namespace DevExpress.AI.Samples.MAUIBlazor;
partial class MainViewModel : ObservableObject {
@@ -11,10 +11,8 @@ partial class MainViewModel : ObservableObject {
[RelayCommand(CanExecute = nameof(CanSendMessage))]
async Task SendMessageAsync() {
var service = DxChatEncapsulationService.Instance;
- service.DxChatUI.CurrentMessage = Message!;
+ await service.DxChatUI?.SendMessage(Message, ChatRole.User);
Message = null;
- if (service.DxChatUI.SendButton != null)
- await service.DxChatUI.SendButton.Click.InvokeAsync();
}
bool CanSendMessage() {
diff --git a/CS/DevExpress.AI.Samples.MAUIBlazor/MauiProgram.cs b/CS/DevExpress.AI.Samples.MAUIBlazor/MauiProgram.cs
index 4239131..40f3164 100644
--- a/CS/DevExpress.AI.Samples.MAUIBlazor/MauiProgram.cs
+++ b/CS/DevExpress.AI.Samples.MAUIBlazor/MauiProgram.cs
@@ -1,8 +1,9 @@
-using Azure;
+using System.ClientModel;
+using Azure;
using Azure.AI.OpenAI;
-using DevExpress.AIIntegration;
using DevExpress.Maui;
using DevExpress.Maui.Core;
+using Microsoft.Extensions.AI;
using Microsoft.Extensions.Logging;
namespace DevExpress.AI.Samples.MAUIBlazor;
@@ -24,13 +25,14 @@ public static MauiApp CreateMauiApp() {
string azureOpenAIEndpoint = Environment.GetEnvironmentVariable("AZURE_OPENAI_ENDPOINT")!;
string azureOpenAIKey = Environment.GetEnvironmentVariable("AZURE_OPENAI_API_KEY")!;
+ var chatClient = new AzureOpenAIClient(
+ new Uri(azureOpenAIEndpoint),
+ new ApiKeyCredential(azureOpenAIKey)).AsChatClient("gpt4o");
+
builder.Services.AddMauiBlazorWebView();
builder.Services.AddDevExpressBlazor();
builder.Services.AddDevExpressAI((config) => {
- config.RegisterChatClientOpenAIService(
- new AzureOpenAIClient(
- new Uri(azureOpenAIEndpoint),
- new AzureKeyCredential(azureOpenAIKey)), "gpt4o");
+ config.RegisterChatClient(chatClient);
});
builder.Services.AddSingleton
();
@@ -41,4 +43,4 @@ public static MauiApp CreateMauiApp() {
return builder.Build();
}
-}
+}
\ No newline at end of file
diff --git a/CS/DevExpress.AI.Samples.MAUIBlazor/wwwroot/index.html b/CS/DevExpress.AI.Samples.MAUIBlazor/wwwroot/index.html
index 660776a..d7e6ed8 100644
--- a/CS/DevExpress.AI.Samples.MAUIBlazor/wwwroot/index.html
+++ b/CS/DevExpress.AI.Samples.MAUIBlazor/wwwroot/index.html
@@ -15,7 +15,12 @@
min-height: 100vh;
display: grid;
}
- .dxbl-chatui-root .dxbl-chatui-submitarea {
+
+ .dxbl-chatui-root {
+ min-height: 100vh;
+ }
+
+ .dxbl-chatui-root .dxbl-chatui .dxbl-chatui-submitarea {
display: none;
}
diff --git a/CS/DevExpress.AI.Samples.WPFBlazor/DevExpress.AI.Samples.WPFBlazor.csproj b/CS/DevExpress.AI.Samples.WPFBlazor/DevExpress.AI.Samples.WPFBlazor.csproj
index e776c49..9ba2f93 100644
--- a/CS/DevExpress.AI.Samples.WPFBlazor/DevExpress.AI.Samples.WPFBlazor.csproj
+++ b/CS/DevExpress.AI.Samples.WPFBlazor/DevExpress.AI.Samples.WPFBlazor.csproj
@@ -6,16 +6,18 @@
enable
enable
true
- WPFBlazor
+ WPFBlazor
+ true
-
-
-
-
-
+
+
+
+
+
+
diff --git a/CS/DevExpress.AI.Samples.WPFBlazor/MainViewModel.cs b/CS/DevExpress.AI.Samples.WPFBlazor/MainViewModel.cs
index 0310c13..392493f 100644
--- a/CS/DevExpress.AI.Samples.WPFBlazor/MainViewModel.cs
+++ b/CS/DevExpress.AI.Samples.WPFBlazor/MainViewModel.cs
@@ -4,6 +4,8 @@
using Azure.AI.OpenAI;
using DevExpress.Mvvm;
using DevExpress.AIIntegration;
+using System.ClientModel;
+using Microsoft.Extensions.AI;
namespace DevExpress.AI.Samples.WPFBlazor {
class MainViewModel : BindableBase {
@@ -37,14 +39,15 @@ void Initialize()
string azureOpenAIEndpoint = Environment.GetEnvironmentVariable("AZURE_OPENAI_ENDPOINT");
string azureOpenAIKey = Environment.GetEnvironmentVariable("AZURE_OPENAI_API_KEY");
+ var chatClient = new AzureOpenAIClient(
+ new Uri(azureOpenAIEndpoint),
+ new ApiKeyCredential(azureOpenAIKey)).AsChatClient("gpt4o");
+
services.AddWpfBlazorWebView();
services.AddDevExpressBlazor();
services.AddDevExpressAI((config) =>
{
- config.RegisterChatClientOpenAIService(
- new AzureOpenAIClient(
- new Uri(azureOpenAIEndpoint),
- new AzureKeyCredential(azureOpenAIKey)), "gpt4o");
+ config.RegisterChatClient(chatClient);
});
services.AddSingleton(service);
@@ -53,9 +56,7 @@ void Initialize()
void SendMesssage()
{
- service.DxChatUI.CurrentMessage = Message;
- Message = null;
- service.DxChatUI.SendButton?.Click.InvokeAsync();
+ service.DxChatUI?.SendMessage(Message, ChatRole.User);
}
bool CanSendMessage()
diff --git a/CS/DevExpress.AI.Samples.WPFBlazor/MainWindow.xaml b/CS/DevExpress.AI.Samples.WPFBlazor/MainWindow.xaml
index 744f942..31c3b84 100644
--- a/CS/DevExpress.AI.Samples.WPFBlazor/MainWindow.xaml
+++ b/CS/DevExpress.AI.Samples.WPFBlazor/MainWindow.xaml
@@ -20,11 +20,11 @@
-
+
-
+
{
+ public class MyDictionary : Dictionary
+ {
}
-}
+}
\ No newline at end of file
diff --git a/CS/DevExpress.AI.Samples.WPFBlazor/wwwroot/index.html b/CS/DevExpress.AI.Samples.WPFBlazor/wwwroot/index.html
index 6e31427..39b8aed 100644
--- a/CS/DevExpress.AI.Samples.WPFBlazor/wwwroot/index.html
+++ b/CS/DevExpress.AI.Samples.WPFBlazor/wwwroot/index.html
@@ -11,7 +11,11 @@
display: grid;
}
- .dxbl-chatui-root .dxbl-chatui .dxbl-chartui-submitarea {
+ .dxbl-chatui-root {
+ min-height: 100vh;
+ }
+
+ .dxbl-chatui-root .dxbl-chatui .dxbl-chatui-submitarea {
display: none;
}
@@ -26,8 +30,8 @@
- Loading...
-
+Loading...
+