Skip to content

Commit fe3e324

Browse files
committed
refactor semantic kernel Plugin
1 parent eb1b779 commit fe3e324

4 files changed

Lines changed: 15 additions & 19 deletions

File tree

‎src/Plugins/BotSharp.Plugin.SemanticKernel/SemanticKernelTextEmbeddingProvider.cs‎

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,9 @@ public class SemanticKernelTextEmbeddingProvider : ITextEmbedding
2121
/// <summary>
2222
/// Constructor of <see cref="SemanticKernelTextEmbeddingProvider"/>
2323
/// </summary>
24-
public SemanticKernelTextEmbeddingProvider(ITextEmbeddingGeneration embedding, int dimension)
24+
public SemanticKernelTextEmbeddingProvider(ITextEmbeddingGeneration embedding)
2525
{
2626
this._embedding = embedding;
27-
Dimension = dimension;
2827
}
2928

3029
/// <inheritdoc/>

‎tests/BotSharp.Plugin.SemanticKernel.UnitTests/SemanticKernelChatCompletionProviderTests.cs‎

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public SemanticKernelChatCompletionProviderTests()
3434
_chatCompletionMock = new Mock<Microsoft.SemanticKernel.AI.ChatCompletion.IChatCompletion>();
3535
_servicesMock = new Mock<IServiceProvider>();
3636
_tokenStatisticsMock = new Mock<ITokenStatistics>();
37-
_provider = new SemanticKernelChatCompletionProvider(_chatCompletionMock, _servicesMock.Object, _tokenStatisticsMock.Object);
37+
_provider = new SemanticKernelChatCompletionProvider(_chatCompletionMock.Object, _servicesMock.Object, _tokenStatisticsMock.Object);
3838
}
3939

4040
[Fact]
@@ -55,15 +55,13 @@ public void GetChatCompletions_Returns_RoleDialogModel()
5555
.Returns(agentService.Object);
5656

5757
var chatHistoryMock = new Mock<ChatHistory>();
58-
var chatCompletionMock = new Mock<Microsoft.SemanticKernel.AI.ChatCompletion.IChatCompletion>();
59-
chatCompletionMock.Setup(x => x.CreateNewChat(It.IsAny<string>())).Returns(chatHistoryMock.Object);
60-
chatCompletionMock.Setup(x => x.GetChatCompletionsAsync(chatHistoryMock.Object, It.IsAny<AIRequestSettings>(), It.IsAny<CancellationToken>()))
58+
_chatCompletionMock.Setup(x => x.CreateNewChat(It.IsAny<string>())).Returns(chatHistoryMock.Object);
59+
_chatCompletionMock.Setup(x => x.GetChatCompletionsAsync(chatHistoryMock.Object, It.IsAny<AIRequestSettings>(), It.IsAny<CancellationToken>()))
6160
.ReturnsAsync(new List<IChatResult>
6261
{
6362
new ResultHelper("How can I help you?")
6463
});
6564

66-
_kernelMock.Setup(x => x.GetService<Microsoft.SemanticKernel.AI.ChatCompletion.IChatCompletion>(null)).Returns(chatCompletionMock.Object);
6765

6866
// Act
6967
var result = _provider.GetChatCompletions(agent, conversations);
Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
using BotSharp.Abstraction.Conversations;
22
using BotSharp.Abstraction.MLTasks;
3+
using BotSharp.Abstraction.VectorStorage;
4+
using BotSharp.Plugin.SemanticKernel.UnitTests.Helpers;
35
using Microsoft.Extensions.Configuration;
46
using Microsoft.Extensions.DependencyInjection;
57
using Microsoft.SemanticKernel;
@@ -15,21 +17,21 @@ public void TestRegisterDI()
1517
var services = new ServiceCollection();
1618
var config = new ConfigurationBuilder().Build();
1719
var plugin = new SemanticKernelPlugin();
18-
services.AddScoped(x =>
19-
{
20-
return new KernelBuilder()
21-
.WithAzureOpenAIChatCompletionService("test", "test", "test")
22-
.Build();
23-
});
24-
services.AddScoped<ITokenStatistics>(x=> Mock.Of<ITokenStatistics>());
20+
services.AddScoped(x => Mock.Of<Microsoft.SemanticKernel.AI.TextCompletion.ITextCompletion>());
21+
services.AddScoped(x => Mock.Of<Microsoft.SemanticKernel.AI.ChatCompletion.IChatCompletion>());
22+
services.AddScoped(x => Mock.Of<Microsoft.SemanticKernel.Memory.IMemoryStore>());
23+
services.AddScoped(x => Mock.Of<Microsoft.SemanticKernel.AI.Embeddings.ITextEmbeddingGeneration>());
24+
services.AddScoped(x => Mock.Of<ITokenStatistics>());
2525

2626

2727
plugin.RegisterDI(services, config);
2828

29-
var provider = services.BuildServiceProvider();
29+
var provider = services.BuildServiceProvider().CreateScope().ServiceProvider;
3030

3131
Assert.NotNull(provider.GetService<ITextCompletion>());
3232
Assert.NotNull(provider.GetService<IChatCompletion>());
33+
Assert.NotNull(provider.GetService<IVectorDb>());
34+
Assert.NotNull(provider.GetService<ITextEmbedding>());
3335
}
3436
}
3537
}

‎tests/BotSharp.Plugin.SemanticKernel.UnitTests/SemanticKernelTextCompletionProviderTests.cs‎

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,7 @@ public async Task GetCompletion_ReturnsExpectedResult()
3737

3838
var text = "Hello";
3939
var expected = "Hello, world!";
40-
var _kernel = new KernelBuilder()
41-
.WithAIService<ITextCompletion>("", new SemanticKernelHelper(expected))
42-
.Build();
43-
var provider = new SemanticKernelTextCompletionProvider(_kernel, _services, _tokenStatistics);
40+
var provider = new SemanticKernelTextCompletionProvider(new SemanticKernelHelper(expected), _services, _tokenStatistics);
4441

4542
// Act
4643
var result = await provider.GetCompletion(text, "agent1", "message1");

0 commit comments

Comments
 (0)