Upgrade dependent libraries.

This commit is contained in:
Haiping Chen 2023-12-18 14:14:14 -06:00
parent 08eabd9f29
commit d7bba4522a
12 changed files with 61 additions and 61 deletions

View file

@ -24,11 +24,11 @@
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Http.Abstractions" Version="2.2.0" />
<PackageReference Include="Microsoft.Extensions.Configuration.Binder" Version="7.0.4" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="7.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="7.0.1" />
<PackageReference Include="Microsoft.Extensions.Configuration.Binder" Version="8.0.0" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="8.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="8.0.0" />
<PackageReference Include="System.ComponentModel.Annotations" Version="5.0.0" />
<PackageReference Include="System.Text.Json" Version="7.0.3" />
<PackageReference Include="System.Text.Json" Version="8.0.0" />
</ItemGroup>
</Project>

View file

@ -10,7 +10,7 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Azure.AI.OpenAI" Version="1.0.0-beta.9" />
<PackageReference Include="Azure.AI.OpenAI" Version="1.0.0-beta.12" />
</ItemGroup>
<ItemGroup>

View file

@ -201,18 +201,20 @@ public class ChatCompletionProvider : IChatCompletion
if (!string.IsNullOrEmpty(agent.Instruction))
{
var instruction = agentService.RenderedInstruction(agent);
chatCompletionsOptions.Messages.Add(new ChatMessage(ChatRole.System, instruction));
chatCompletionsOptions.Messages.Add(new ChatRequestSystemMessage(instruction));
}
if (!string.IsNullOrEmpty(agent.Knowledges))
{
chatCompletionsOptions.Messages.Add(new ChatMessage(ChatRole.System, agent.Knowledges));
chatCompletionsOptions.Messages.Add(new ChatRequestSystemMessage(agent.Knowledges));
}
var samples = ProviderHelper.GetChatSamples(agent.Samples);
foreach (var message in samples)
{
chatCompletionsOptions.Messages.Add(new ChatMessage(message.Role, message.Content));
chatCompletionsOptions.Messages.Add(message.Role == AgentRole.User ?
new ChatRequestUserMessage(message.Content) :
new ChatRequestAssistantMessage(message.Content));
}
foreach (var function in agent.Functions)
@ -229,14 +231,15 @@ public class ChatCompletionProvider : IChatCompletion
{
if (message.Role == ChatRole.Function)
{
chatCompletionsOptions.Messages.Add(new ChatMessage(message.Role, message.Content)
{
Name = message.FunctionName
});
chatCompletionsOptions.Messages.Add(new ChatRequestFunctionMessage(message.FunctionName, message.Content));
}
else
else if (message.Role == ChatRole.User)
{
chatCompletionsOptions.Messages.Add(new ChatMessage(message.Role, message.Content));
chatCompletionsOptions.Messages.Add(new ChatRequestUserMessage(message.Content));
}
else if (message.Role == ChatRole.Assistant)
{
chatCompletionsOptions.Messages.Add(new ChatRequestAssistantMessage(message.Content));
}
}
@ -262,7 +265,8 @@ public class ChatCompletionProvider : IChatCompletion
{
// System instruction
var verbose = string.Join("\r\n", chatCompletionsOptions.Messages
.Where(x => x.Role == AgentRole.System).Select(x =>
.Where(x => x.Role == AgentRole.System)
.Select(x => x as ChatRequestSystemMessage).Select(x =>
{
return $"{x.Role}: {x.Content}";
}));
@ -271,9 +275,25 @@ public class ChatCompletionProvider : IChatCompletion
verbose = string.Join("\r\n", chatCompletionsOptions.Messages
.Where(x => x.Role != AgentRole.System).Select(x =>
{
return x.Role == ChatRole.Function ?
$"{x.Role}: {x.Name} => {x.Content}" :
$"{x.Role}: {x.Content}";
if (x.Role == ChatRole.Function)
{
var m = x as ChatRequestFunctionMessage;
return $"{m.Role}: {m.Name} => {m.Content}";
}
else if (x.Role == ChatRole.User)
{
var m = x as ChatRequestUserMessage;
return $"{m.Role}: {m.Content}";
}
else if (x.Role == ChatRole.Assistant)
{
var m = x as ChatRequestAssistantMessage;
return $"{m.Role}: {m.Content}";
}
else
{
throw new NotImplementedException("Not found role");
}
}));
prompt += $"\r\n{verbose}\r\n";
}

View file

@ -12,7 +12,6 @@
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Mvc.Core" Version="2.2.5" />
<PackageReference Include="Refit.HttpClientFactory" Version="7.0.0" />
<PackageReference Include="System.Text.Json" Version="7.0.3" />
</ItemGroup>
<ItemGroup>

View file

@ -10,8 +10,8 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="PdfPig" Version="0.1.9-alpha-20230930-06ac8" />
<PackageReference Include="TensorFlow.Keras" Version="0.11.4" />
<PackageReference Include="PdfPig" Version="0.1.9-alpha-20231119-4537e" />
<PackageReference Include="TensorFlow.Keras" Version="0.15.0" />
</ItemGroup>
<ItemGroup>

View file

@ -10,7 +10,7 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="LLamaSharp" Version="0.6.0" />
<PackageReference Include="LLamaSharp" Version="0.8.1" />
</ItemGroup>
<ItemGroup>

View file

@ -10,7 +10,7 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Qdrant.Client" Version="1.6.0-alpha.1" />
<PackageReference Include="Qdrant.Client" Version="1.7.0" />
</ItemGroup>
<ItemGroup>

View file

@ -1,4 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.1</TargetFramework>
@ -10,7 +10,6 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="7.0.0" />
<PackageReference Include="Microsoft.SemanticKernel.Abstractions" Version="1.0.0-beta8" />
<PackageReference Include="Microsoft.SemanticKernel.Plugins.Memory" Version="1.0.0-beta8" />
<PackageReference Include="Microsoft.VisualStudio.Validation" Version="17.8.8" />

View file

@ -20,28 +20,10 @@ namespace BotSharp.Plugin.SemanticKernel
/// <inheritdoc/>
public void RegisterDI(IServiceCollection services, IConfiguration config)
{
var provider = services.BuildServiceProvider().CreateScope().ServiceProvider;
if (provider.GetService<Microsoft.SemanticKernel.AI.TextCompletion.ITextCompletion>() != null)
{
services.AddScoped<ITextCompletion, SemanticKernelTextCompletionProvider>();
}
if (provider.GetService<Microsoft.SemanticKernel.AI.ChatCompletion.IChatCompletion>() != null)
{
services.AddScoped<IChatCompletion, SemanticKernelChatCompletionProvider>();
}
if (provider.GetService<Microsoft.SemanticKernel.Memory.IMemoryStore>() != null)
{
services.AddScoped<IVectorDb, SemanticKernelMemoryStoreProvider>();
}
if (provider.GetService<Microsoft.SemanticKernel.AI.Embeddings.ITextEmbeddingGeneration>() != null)
{
services.AddScoped<ITextEmbedding, SemanticKernelTextEmbeddingProvider>();
}
services.AddScoped<ITextCompletion, SemanticKernelTextCompletionProvider>();
services.AddScoped<IChatCompletion, SemanticKernelChatCompletionProvider>();
services.AddScoped<IVectorDb, SemanticKernelMemoryStoreProvider>();
services.AddScoped<ITextEmbedding, SemanticKernelTextEmbeddingProvider>();
}
}
}

View file

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<TargetFramework>net8.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>

View file

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
@ -9,17 +9,17 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.Configuration" Version="7.0.0" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="7.0.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.1.0" />
<PackageReference Include="Microsoft.Extensions.Configuration" Version="8.0.0" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="8.0.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.8.0" />
<PackageReference Include="Microsoft.SemanticKernel" Version="1.0.0-beta6" />
<PackageReference Include="Moq" Version="4.20.69" />
<PackageReference Include="xunit" Version="2.4.1" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.3">
<PackageReference Include="Moq" Version="4.20.70" />
<PackageReference Include="xunit" Version="2.6.3" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.5.5">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="coverlet.collector" Version="3.1.2">
<PackageReference Include="coverlet.collector" Version="6.0.0">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>

View file

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
@ -10,9 +10,9 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.6.2" />
<PackageReference Include="MSTest.TestAdapter" Version="3.0.4" />
<PackageReference Include="MSTest.TestFramework" Version="3.0.4" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.8.0" />
<PackageReference Include="MSTest.TestAdapter" Version="3.1.1" />
<PackageReference Include="MSTest.TestFramework" Version="3.1.1" />
<PackageReference Include="coverlet.collector" Version="6.0.0">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>