Skip to content

Commit

Permalink
refactor Aspire bits + update dependencies
Browse files Browse the repository at this point in the history
  • Loading branch information
kostapetan committed Feb 13, 2025
1 parent c2d6573 commit f828598
Show file tree
Hide file tree
Showing 25 changed files with 159 additions and 148 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -16,18 +16,18 @@
<PackageReference Include="Octokit.Webhooks.AspNetCore" Version="2.4.1" />
<PackageReference Include="Octokit" Version="14.0.0" />

<PackageReference Include="Aspire.Azure.AI.OpenAI" Version="9.1.0-preview.1.25108.1" />
<PackageReference Include="Aspire.Azure.AI.OpenAI" Version="9.2.0-preview.1.25111.5" />

<PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.23.0-beta1" />

<PackageReference Include="Microsoft.Extensions.Azure" Version="1.10.0" />
<PackageReference Include="Azure.ResourceManager.ContainerInstance" Version="1.3.0-beta.1" />
<PackageReference Include="Azure.Storage.Files.Shares" Version="12.21.0" />
<PackageReference Include="Azure.Storage.Files.Shares" Version="12.22.0-beta.1" />

<PackageReference Include="System.IdentityModel.Tokens.Jwt" Version="8.4.0" />

<PackageReference Include="Dapr.Actors.AspNetCore" Version="1.15.0-rc03" />
<PackageReference Include="Dapr.AspNetCore" Version="1.15.0-rc03" />
<PackageReference Include="Dapr.Actors.AspNetCore" Version="1.15.0-rc04" />
<PackageReference Include="Dapr.AspNetCore" Version="1.15.0-rc04" />
</ItemGroup>

<ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ Use comments in the code to describe the intent. Do not include other text other
Input: {input}
{guidelines}
""";
var result = await chatClient.CompleteAsync(prompt);
var result = await chatClient.GetResponseAsync(prompt);
return result.Message.Text!;
}
catch (Exception ex)
Expand Down
14 changes: 7 additions & 7 deletions samples/gh-flow/src/Microsoft.AI.DevTeam/Agents/DeveloperLead.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
using Microsoft.AI.Agents.Orleans;
using Microsoft.AI.DevTeam.Events;
using Microsoft.Extensions.AI;
using System.Text.Json;

namespace Microsoft.AI.DevTeam.Agents;
[ImplicitStreamSubscription(Consts.MainNamespace)]
Expand All @@ -18,7 +19,7 @@ public async override Task HandleEvent(Event item)
var context = item.ToGithubContext();
var plan = await CreatePlan(item.Data["input"]);
var data = context.ToData();
data["result"] = plan;
data["result"] = JsonSerializer.Serialize(plan);
await PublishEvent(Consts.MainNamespace, this.GetPrimaryKeyString(), new Event
{
Type = nameof(GithubFlowEventType.DevPlanGenerated),
Expand Down Expand Up @@ -47,7 +48,7 @@ public async override Task HandleEvent(Event item)
break;
}
}
public async Task<string> CreatePlan(string ask)
public async Task<DevLeadPlanResponse> CreatePlan(string ask)
{
try
{
Expand Down Expand Up @@ -90,21 +91,20 @@ Do not output any other text.
Input: {{input}}
{{guidelines}}
""";

var result = await chatClient.CompleteAsync<DevLeadPlanResponse>(prompt);
return result.Message.Text!;
var result = await chatClient.GetResponseAsync<DevLeadPlanResponse>(prompt);
return result.Result;
}
catch (Exception ex)
{
logger.LogError(ex, "Error creating development plan");
return string.Empty;
return null;
}
}
}

public interface ILeadDevelopers
{
public Task<string> CreatePlan(string ask);
public Task<DevLeadPlanResponse> CreatePlan(string ask);
}

[GenerateSerializer]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ Do not describe how to create the application.
Input: {{input}}
{{guidelines}}
"""";
var result = await chatClient.CompleteAsync(prompt);
var result = await chatClient.GetResponseAsync(prompt);
return result.Message.Text!;
}
catch (Exception ex)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@

<ItemGroup>
<PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.22.0" />
<PackageReference Include="Microsoft.Extensions.AI" Version="9.3.0-preview.1.25107.9" />
<PackageReference Include="Microsoft.Extensions.AI.OpenAI" Version="9.3.0-preview.1.25107.9" />
<PackageReference Include="Microsoft.Extensions.AI" Version="9.3.0-preview.1.25111.14" />
<PackageReference Include="Microsoft.Extensions.AI.OpenAI" Version="9.3.0-preview.1.25111.14" />
<PackageReference Include="System.IdentityModel.Tokens.Jwt" Version="8.3.1" />


Expand All @@ -27,7 +27,7 @@

<PackageReference Include="Microsoft.Extensions.Azure" Version="1.10.0" />
<PackageReference Include="Azure.ResourceManager.ContainerInstance" Version="1.3.0-beta.1" />
<PackageReference Include="Azure.Storage.Files.Shares" Version="12.21.0" />
<PackageReference Include="Azure.Storage.Files.Shares" Version="12.22.0-beta.1" />

<PackageReference Include="System.IdentityModel.Tokens.Jwt" Version="8.4.0" />

Expand Down
14 changes: 7 additions & 7 deletions samples/gh-flow/src/seed-memory/seed-memory.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,13 @@
<PackageReference Include="Microsoft.SemanticKernel" Version="1.36.1" />
<PackageReference Include="Microsoft.SemanticKernel.Connectors.Qdrant" Version="1.36.1-preview" />
<PackageReference Include="Microsoft.SemanticKernel.Plugins.Memory" Version="1.36.1-alpha" />
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="9.0.1" />
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="9.0.1" />
<PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="9.0.1" />
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="9.0.1" />
<PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="9.0.1" />
<PackageReference Include="Microsoft.Extensions.Configuration.UserSecrets" Version="9.0.1" />
<PackageReference Include="PdfPig" Version="0.1.10-alpha-20250208-1660c" />
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="9.0.2" />
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="9.0.2" />
<PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="9.0.2" />
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="9.0.2" />
<PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="9.0.2" />
<PackageReference Include="Microsoft.Extensions.Configuration.UserSecrets" Version="9.0.2" />
<PackageReference Include="PdfPig" Version="0.1.10-alpha-20250209-1660c" />
</ItemGroup>

<ItemGroup>
Expand Down
2 changes: 1 addition & 1 deletion samples/marketing/src/backend/Agents/Auditor/Auditor.cs
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ You are an Auditor in a Marketing team
Input: {input}
---
""";
var result = await chatClient.CompleteAsync(prompt);
var result = await chatClient.GetResponseAsync(prompt);
var auditorAnswer = result.Message.Text!;
if (auditorAnswer.Contains("NOTFORME"))
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ then you should write a post based on the user request
Input: {input}
---
""";
var result = await chatClient.CompleteAsync(prompt);
var result = await chatClient.GetResponseAsync(prompt);
var socialMediaPost = result.Message.Text!;
if (socialMediaPost.Contains("NOTFORME"))
{
Expand Down
4 changes: 2 additions & 2 deletions samples/marketing/src/backend/Agents/Writer/Writer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ Bellow are a series of inputs from the user that you can use.
If the input talks about twitter or images, dismiss it and return <NOTFORME>
Input: {input}
""";
var result = await chatClient.CompleteAsync(prompt);
var result = await chatClient.GetResponseAsync(prompt);
var newArticle = result.Message.Text!;

if (newArticle.Contains("NOTFORME"))
Expand All @@ -68,7 +68,7 @@ This is a multi agent app. You are a Marketing Campaign writer Agent.
---
Return only the new campaign text but adjusted to the auditor request
""";
var result = await chatClient.CompleteAsync(prompt);
var result = await chatClient.GetResponseAsync(prompt);
var newArticle = result.Message.Text!;

if (newArticle.Contains("NOTFORME"))
Expand Down
28 changes: 14 additions & 14 deletions samples/marketing/src/backend/Marketing.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -23,30 +23,30 @@
<PackageReference Include="Octokit" Version="14.0.0" />


<PackageReference Include="Aspire.Azure.AI.OpenAI" Version="9.1.0-preview.1.25108.1" />
<PackageReference Include="Aspire.Azure.Data.Tables" Version="9.1.0-preview.1.25108.1" />
<PackageReference Include="Aspire.Azure.Storage.Blobs" Version="9.1.0-preview.1.25108.1" />
<PackageReference Include="Microsoft.Extensions.AI.OpenAI" Version="9.3.0-preview.1.25107.9" />
<PackageReference Include="Aspire.Azure.AI.OpenAI" Version="9.2.0-preview.1.25111.5" />
<PackageReference Include="Aspire.Azure.Data.Tables" Version="9.2.0-preview.1.25111.5" />
<PackageReference Include="Aspire.Azure.Storage.Blobs" Version="9.2.0-preview.1.25111.5" />
<PackageReference Include="Microsoft.Extensions.AI.OpenAI" Version="9.3.0-preview.1.25111.14" />
<PackageReference Include="Microsoft.Extensions.Http.Resilience" Version="9.2.0-preview.1.25080.2" />
<PackageReference Include="Microsoft.Orleans.Persistence.AzureStorage" Version="9.0.1" />
<PackageReference Include="Microsoft.Orleans.Clustering.AzureStorage" Version="9.0.1" />
<PackageReference Include="Microsoft.Orleans.Persistence.AzureStorage" Version="9.1.1" />
<PackageReference Include="Microsoft.Orleans.Clustering.AzureStorage" Version="9.1.1" />
<PackageReference Include="Microsoft.Orleans.Streaming.EventHubs" Version="9.0.1" />

<PackageReference Include="Microsoft.Orleans.Server" Version="9.0.1" />
<PackageReference Include="Microsoft.Orleans.Persistence.Cosmos" Version="9.0.1" />
<PackageReference Include="Microsoft.Orleans.Clustering.Cosmos" Version="9.0.1" />
<PackageReference Include="Microsoft.Orleans.Reminders.Cosmos" Version="9.0.1" />
<PackageReference Include="Microsoft.Orleans.Streaming.EventHubs" Version="9.0.1" />
<PackageReference Include="Microsoft.Orleans.Reminders" Version="9.0.1" />
<PackageReference Include="Microsoft.Orleans.Server" Version="9.1.1" />
<PackageReference Include="Microsoft.Orleans.Persistence.Cosmos" Version="9.1.1" />
<PackageReference Include="Microsoft.Orleans.Clustering.Cosmos" Version="9.1.1" />
<PackageReference Include="Microsoft.Orleans.Reminders.Cosmos" Version="9.1.1" />
<PackageReference Include="Microsoft.Orleans.Streaming.EventHubs" Version="9.1.1" />
<PackageReference Include="Microsoft.Orleans.Reminders" Version="9.1.1" />
<PackageReference Include="OrleansDashboard" Version="8.2.0" />

<PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.23.0-beta1" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="7.2.0" />

<PackageReference Include="Microsoft.Extensions.Azure" Version="1.10.0" />
<PackageReference Include="Microsoft.Extensions.Http.Resilience" Version="9.3.0-preview.1.25107.9" />
<PackageReference Include="Microsoft.Extensions.Http.Resilience" Version="9.3.0-preview.1.25111.14" />
<PackageReference Include="Azure.ResourceManager.ContainerInstance" Version="1.3.0-beta.1" />
<PackageReference Include="Azure.Storage.Files.Shares" Version="12.21.0" />
<PackageReference Include="Azure.Storage.Files.Shares" Version="12.22.0-beta.1" />

<PackageReference Include="System.IdentityModel.Tokens.Jwt" Version="8.4.0" />

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,11 +42,10 @@ public async override Task HandleEvent(Event item)
Answer with a plain string ONLY, without any extra words or characters like '.
Input: {input}
"""";
var result = await chatClient.CompleteAsync(prompt);
var result = await chatClient.GetResponseAsync(prompt);
var answer = result.Message.Text!;
await SendAnswerEvent(id, userId, answer);
break;

default:
break;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ A history of the conversation is available to help you building a correct plan.

chatHistory.Add(new Microsoft.Extensions.AI.ChatMessage(ChatRole.User, prompt));

var response = await chatClient.CompleteAsync(chatHistory, chatOptions);
var response = await chatClient.GetResponseAsync(chatHistory, chatOptions);
var result = response.Message.Contents.Last();
AddToHistory($"{result}", ChatUserType.Agent);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ A history of the conversation is available to help you make a decision.
Return the intent as a string.
""";
var result = await chatClient.CompleteAsync(prompt);
var result = await chatClient.GetResponseAsync(prompt);
return result.Message.Text!;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ You are a helpful customer support/service agent at Contoso Electronics. Be poli
{documents}
""";

var result = await chatClient.CompleteAsync(prompt);
var result = await chatClient.GetResponseAsync(prompt);
var answer = result.Message.Text!;

await SendAnswerEvent(id, userId, answer);
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
using Microsoft.Extensions.AI;
using Microsoft.Extensions.VectorData;
using System.Text;

namespace SupportCenter.ApiService.Data
{
public class VectorRepository(IEmbeddingGenerator<string, Embedding<float>> embeddingGenerator, IVectorStore vectorStore)
{
public async ValueTask<string> AddKnowledge(string query, string index, int top=2)
{
var queryEmbedding = await embeddingGenerator.GenerateEmbeddingVectorAsync(query);
var collection = vectorStore.GetCollection<int, Movie>(index);

var searchOptions = new VectorSearchOptions()
{
Top = top,
VectorPropertyName = "Vector"
};

var results = await collection.VectorizedSearchAsync(queryEmbedding, searchOptions);
var kbStringBuilder = new StringBuilder();
//await foreach (var result in results.Results)
//{
// kbStringBuilder.AppendLine($"{doc.Metadata.Text}");
//}
//arguments[index] = instruction.Replace($"!{index}!", $"{kbStringBuilder}");
return "";
}
}
}


public class Movie
{
[VectorStoreRecordKey]
public int Key { get; set; }

[VectorStoreRecordData]
public string Title { get; set; }

[VectorStoreRecordData]
public string Description { get; set; }

[VectorStoreRecordVector(384, DistanceFunction.CosineSimilarity)]
public ReadOnlyMemory<float> Vector { get; set; }
}
14 changes: 0 additions & 14 deletions samples/support-center/SupportCenter.ApiService/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,6 @@
using Orleans.Serialization;
using static SupportCenter.ApiService.Consts;
using SupportCenter.ApiService.Data;
using Azure.Storage.Queues;
using Orleans.Runtime;
using SupportCenter.ApiService;

var builder = WebApplication.CreateBuilder(args);

Expand Down Expand Up @@ -76,17 +73,6 @@
serializerBuilder.AddJsonSerializer(
isSupported: type => true);
});

siloBuilder.AddAzureQueueStreams(OrleansStreamProvider, (SiloAzureQueueStreamConfigurator configurator) =>
{
configurator.ConfigureAzureQueue(options =>
{
options.Configure<IServiceProvider>((queueOptions, sp) =>
{
queueOptions.QueueServiceClient = sp.GetKeyedService<QueueServiceClient>("streaming");
});
});
});
});

builder.Services.Configure<JsonSerializerOptions>(options =>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,22 +11,22 @@
</ItemGroup>

<ItemGroup>
<PackageReference Include="Aspire.Azure.AI.OpenAI" Version="9.1.0-preview.1.25108.2" />
<PackageReference Include="Aspire.Azure.Data.Tables" Version="9.1.0-preview.1.25108.2" />
<PackageReference Include="Aspire.Azure.Storage.Blobs" Version="9.1.0-preview.1.25108.2" />
<PackageReference Include="Aspire.Azure.Storage.Queues" Version="9.1.0-preview.1.25108.2" />
<PackageReference Include="Aspire.StackExchange.Redis" Version="9.1.0-preview.1.25108.2" />
<PackageReference Include="Aspire.StackExchange.Redis.DistributedCaching" Version="9.1.0-preview.1.25108.2" />
<PackageReference Include="Microsoft.Azure.SignalR" Version="1.30.0" />
<PackageReference Include="Aspire.Azure.AI.OpenAI" Version="9.2.0-preview.1.25111.5" />
<PackageReference Include="Aspire.Azure.Data.Tables" Version="9.2.0-preview.1.25111.5" />
<PackageReference Include="Aspire.Azure.Storage.Blobs" Version="9.2.0-preview.1.25111.5" />
<PackageReference Include="Aspire.Azure.Storage.Queues" Version="9.2.0-preview.1.25111.5" />
<PackageReference Include="Aspire.StackExchange.Redis" Version="9.2.0-preview.1.25111.5" />
<PackageReference Include="Aspire.StackExchange.Redis.DistributedCaching" Version="9.2.0-preview.1.25111.5" />
<PackageReference Include="Microsoft.Azure.SignalR" Version="1.30.1" />
<PackageReference Include="Microsoft.Azure.StackExchangeRedis" Version="3.2.1" />
<PackageReference Include="Microsoft.Extensions.AI" Version="9.3.0-preview.1.25107.9" />
<PackageReference Include="Microsoft.Extensions.AI.OpenAI" Version="9.3.0-preview.1.25107.9" />
<PackageReference Include="Microsoft.Orleans.Persistence.Memory" Version="9.0.1" />
<PackageReference Include="Microsoft.Orleans.Sdk" Version="9.0.1" />
<PackageReference Include="Microsoft.Orleans.Serialization.SystemTextJson" Version="9.0.1" />
<PackageReference Include="Microsoft.Orleans.Streaming.AzureStorage" Version="9.0.1" />
<PackageReference Include="Microsoft.Orleans.Persistence.AzureStorage" Version="9.0.1" />
<PackageReference Include="Microsoft.Orleans.Clustering.AzureStorage" Version="9.0.1" />
<PackageReference Include="Microsoft.Extensions.AI" Version="9.3.0-preview.1.25111.14" />
<PackageReference Include="Microsoft.Extensions.AI.OpenAI" Version="9.3.0-preview.1.25111.14" />
<PackageReference Include="Microsoft.Orleans.Persistence.Memory" Version="9.1.1" />
<PackageReference Include="Microsoft.Orleans.Sdk" Version="9.1.1" />
<PackageReference Include="Microsoft.Orleans.Serialization.SystemTextJson" Version="9.1.1" />
<PackageReference Include="Microsoft.Orleans.Streaming.AzureStorage" Version="9.1.1" />
<PackageReference Include="Microsoft.Orleans.Persistence.AzureStorage" Version="9.1.1" />
<PackageReference Include="Microsoft.Orleans.Clustering.AzureStorage" Version="9.1.1" />
<PackageReference Include="OrleansDashboard" Version="8.2.0" />
<PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.23.0-beta1" />
<PackageReference Include="Microsoft.Extensions.Azure" Version="1.10.0" />
Expand Down
Loading

0 comments on commit f828598

Please sign in to comment.