diff --git a/SqlDatabaseVectorSearch/Program.cs b/SqlDatabaseVectorSearch/Program.cs index 9f322e8..3175991 100644 --- a/SqlDatabaseVectorSearch/Program.cs +++ b/SqlDatabaseVectorSearch/Program.cs @@ -1,9 +1,6 @@ using System.ClientModel; -using System.ClientModel.Primitives; using System.Net.Mime; using System.Text; -using System.Text.Encodings.Web; -using System.Text.Json; using System.Text.Json.Serialization; using FluentValidation; using Microsoft.Agents.AI; @@ -85,8 +82,7 @@ builder.Services.AddChatClient(_ => { var chatClient = new OpenAIClient(new ApiKeyCredential(aiSettings.ChatCompletion.ApiKey), new() { - Endpoint = new(aiSettings.ChatCompletion.Endpoint), - Transport = new HttpClientPipelineTransport(new HttpClient(new TraceHttpClientHandler())) + Endpoint = new(aiSettings.ChatCompletion.Endpoint) }).GetResponsesClient().AsIChatClientWithStoredOutputDisabled(aiSettings.ChatCompletion.Deployment); return chatClient; @@ -332,48 +328,4 @@ static async Task ConfigureDatabaseAsync(IServiceProvider serviceProvider) var dbContext = scope.ServiceProvider.GetRequiredService(); await dbContext.Database.MigrateAsync(); -} - -public class TraceHttpClientHandler : HttpClientHandler -{ - private static readonly JsonSerializerOptions jsonSerializerOptions = new() - { - WriteIndented = true, - Encoder = JavaScriptEncoder.UnsafeRelaxedJsonEscaping - }; - - protected override async Task SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) - { - var requestString = request.Content is null ? "(no request body)" : await request.Content.ReadAsStringAsync(cancellationToken); - - PrintText($"Raw Request ({request.RequestUri})", ConsoleColor.Green); - PrintText(FormatJson(requestString), ConsoleColor.DarkGray); - PrintSeparator(); - - var response = await base.SendAsync(request, cancellationToken); - - return response; - - static void PrintText(string message, ConsoleColor color) - { - Console.ForegroundColor = color; - Console.WriteLine(message); - Console.ResetColor(); - } - - static void PrintSeparator() => Console.WriteLine(new string('-', 50)); - } - - private static string FormatJson(string input) - { - try - { - var jsonElement = JsonSerializer.Deserialize(input); - return JsonSerializer.Serialize(jsonElement, jsonSerializerOptions); - } - catch - { - return input; - } - } } \ No newline at end of file diff --git a/assets/SqlDatabaseVectorSearch_WebApp.png b/assets/SqlDatabaseVectorSearch_WebApp.png index f3124a2..c1f1b6a 100644 Binary files a/assets/SqlDatabaseVectorSearch_WebApp.png and b/assets/SqlDatabaseVectorSearch_WebApp.png differ