mirror of
https://github.com/microsoft/autogen.git
synced 2025-12-24 21:49:42 +00:00
* add net6 & net8 * update * add tools and stop sequence
This commit is contained in:
parent
8e5d293f0a
commit
155da15734
@ -4,7 +4,8 @@
|
||||
<Import Project="./eng/MetaInfo.props" />
|
||||
<Import Project="./eng/Sign.props" />
|
||||
<PropertyGroup>
|
||||
<TestTargetFramework>net8.0</TestTargetFramework>
|
||||
<PackageTargetFrameworks>netstandard2.0;net6.0;net8.0</PackageTargetFrameworks>
|
||||
<TestTargetFrameworks>net8.0</TestTargetFrameworks>
|
||||
<LangVersion>preview</LangVersion>
|
||||
<Nullable>enable</Nullable>
|
||||
<SignAssembly>True</SignAssembly>
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<TargetFramework>$(TestTargetFramework)</TargetFramework>
|
||||
<TargetFrameworks>$(TestTargetFrameworks)</TargetFrameworks>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
<GenerateDocumentationFile>True</GenerateDocumentationFile>
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<TargetFramework>$(TestTargetFramework)</TargetFramework>
|
||||
<TargetFrameworks>$(TestTargetFrameworks)</TargetFrameworks>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<GenerateDocumentationFile>True</GenerateDocumentationFile>
|
||||
<NoWarn>$(NoWarn);CS8981;CS8600;CS8602;CS8604;CS8618;CS0219;SKEXP0054;SKEXP0050;SKEXP0110</NoWarn>
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<TargetFrameworks>$(TestTargetFrameworks)</TargetFrameworks>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
<IncludeResourceFolder>true</IncludeResourceFolder>
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<TargetFramework>$(TestTargetFramework)</TargetFramework>
|
||||
<TargetFrameworks>$(TestTargetFrameworks)</TargetFrameworks>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<GenerateDocumentationFile>True</GenerateDocumentationFile>
|
||||
<NoWarn>$(NoWarn);CS8981;CS8600;CS8602;CS8604;CS8618;CS0219;SKEXP0054;SKEXP0050;SKEXP0110</NoWarn>
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<TargetFrameworks>$(TestTargetFrameworks)</TargetFrameworks>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
<GenerateDocumentationFile>True</GenerateDocumentationFile>
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<TargetFramework>$(TestTargetFramework)</TargetFramework>
|
||||
<TargetFrameworks>$(TestTargetFrameworks)</TargetFrameworks>
|
||||
<GenerateDocumentationFile>True</GenerateDocumentationFile>
|
||||
<NoWarn>$(NoWarn);CS8981;CS8600;CS8602;CS8604;CS8618;CS0219;SKEXP0054;SKEXP0050;SKEXP0110</NoWarn>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk.Web">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<TargetFrameworks>$(TestTargetFrameworks)</TargetFrameworks>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netstandard2.0</TargetFramework>
|
||||
<RootNamespace>AutoGen.Anthropic</RootNamespace>
|
||||
<TargetFrameworks>$(PackageTargetFrameworks)</TargetFrameworks>
|
||||
<RootNamespace>AutoGen.Anthropic</RootNamespace>
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="$(RepoRoot)/nuget/nuget-package.props" />
|
||||
|
||||
@ -29,7 +29,7 @@ internal class JsonPropertyNameEnumConverter<T> : JsonConverter<T> where T : str
|
||||
public override void Write(Utf8JsonWriter writer, T value, JsonSerializerOptions options)
|
||||
{
|
||||
var field = value.GetType().GetField(value.ToString());
|
||||
var attribute = field.GetCustomAttribute<JsonPropertyNameAttribute>();
|
||||
var attribute = field?.GetCustomAttribute<JsonPropertyNameAttribute>();
|
||||
|
||||
if (attribute != null)
|
||||
{
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netstandard2.0</TargetFramework>
|
||||
<TargetFrameworks>$(PackageTargetFrameworks)</TargetFrameworks>
|
||||
<RootNamespace>AutoGen.Core</RootNamespace>
|
||||
</PropertyGroup>
|
||||
|
||||
@ -17,7 +17,10 @@
|
||||
<ItemGroup>
|
||||
<PackageReference Include="JsonSchema.Net.Generation" Version="$(JsonSchemaVersion)" />
|
||||
<PackageReference Include="System.Memory.Data" Version="8.0.0" />
|
||||
<PackageReference Include="Microsoft.Bcl.AsyncInterfaces" Version="8.0.0" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition="'$(TargetFramework)' == 'netstandard2.0'">
|
||||
<PackageReference Include="Microsoft.Bcl.AsyncInterfaces" Version="8.0.0" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netstandard2.0</TargetFramework>
|
||||
<TargetFrameworks>$(PackageTargetFrameworks)</TargetFrameworks>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
<RootNamespace>AutoGen.DotnetInteractive</RootNamespace>
|
||||
|
||||
@ -104,6 +104,11 @@ public class InteractiveService : IDisposable
|
||||
|
||||
public bool RestoreDotnetInteractive()
|
||||
{
|
||||
if (this.installingDirectory is null)
|
||||
{
|
||||
throw new Exception("Installing directory is not set");
|
||||
}
|
||||
|
||||
this.WriteLine("Restore dotnet interactive tool");
|
||||
// write RestoreInteractive.config from embedded resource to this.workingDirectory
|
||||
var assembly = Assembly.GetAssembly(typeof(InteractiveService))!;
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netstandard2.0</TargetFramework>
|
||||
<TargetFrameworks>$(PackageTargetFrameworks)</TargetFrameworks>
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="$(RepoRoot)/nuget/nuget-package.props" />
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netstandard2.0</TargetFramework>
|
||||
<TargetFrameworks>$(PackageTargetFrameworks)</TargetFrameworks>
|
||||
<RootNamespace>AutoGen.LMStudio</RootNamespace>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
@ -80,7 +80,7 @@ public class LMStudioAgent : IAgent
|
||||
{
|
||||
// request.RequestUri = new Uri($"{_modelServiceUrl}{request.RequestUri.PathAndQuery}");
|
||||
var uriBuilder = new UriBuilder(_modelServiceUrl);
|
||||
uriBuilder.Path = request.RequestUri.PathAndQuery;
|
||||
uriBuilder.Path = request.RequestUri?.PathAndQuery ?? throw new InvalidOperationException("RequestUri is null");
|
||||
request.RequestUri = uriBuilder.Uri;
|
||||
return base.SendAsync(request, cancellationToken);
|
||||
}
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netstandard2.0</TargetFramework>
|
||||
<TargetFrameworks>$(PackageTargetFrameworks)</TargetFrameworks>
|
||||
<RootNamespace>AutoGen.Mistral</RootNamespace>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
@ -29,7 +29,7 @@ internal class JsonPropertyNameEnumConverter<T> : JsonConverter<T> where T : str
|
||||
public override void Write(Utf8JsonWriter writer, T value, JsonSerializerOptions options)
|
||||
{
|
||||
var field = value.GetType().GetField(value.ToString());
|
||||
var attribute = field.GetCustomAttribute<JsonPropertyNameAttribute>();
|
||||
var attribute = field?.GetCustomAttribute<JsonPropertyNameAttribute>();
|
||||
|
||||
if (attribute != null)
|
||||
{
|
||||
|
||||
@ -49,7 +49,7 @@ public class MistralClient : IDisposable
|
||||
var response = await HttpRequestRaw(HttpMethod.Post, chatCompletionRequest, streaming: true);
|
||||
using var stream = await response.Content.ReadAsStreamAsync();
|
||||
using StreamReader reader = new StreamReader(stream);
|
||||
string line;
|
||||
string? line = null;
|
||||
|
||||
SseEvent currentEvent = new SseEvent();
|
||||
while ((line = await reader.ReadLineAsync()) != null)
|
||||
@ -67,13 +67,13 @@ public class MistralClient : IDisposable
|
||||
else if (currentEvent.EventType == null)
|
||||
{
|
||||
var res = await JsonSerializer.DeserializeAsync<ChatCompletionResponse>(
|
||||
new MemoryStream(Encoding.UTF8.GetBytes(currentEvent.Data))) ?? throw new Exception("Failed to deserialize response");
|
||||
new MemoryStream(Encoding.UTF8.GetBytes(currentEvent.Data ?? string.Empty))) ?? throw new Exception("Failed to deserialize response");
|
||||
yield return res;
|
||||
}
|
||||
else if (currentEvent.EventType != null)
|
||||
{
|
||||
var res = await JsonSerializer.DeserializeAsync<ErrorResponse>(
|
||||
new MemoryStream(Encoding.UTF8.GetBytes(currentEvent.Data)));
|
||||
new MemoryStream(Encoding.UTF8.GetBytes(currentEvent.Data ?? string.Empty)));
|
||||
throw new Exception(res?.Error.Message);
|
||||
}
|
||||
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netstandard2.0</TargetFramework>
|
||||
<TargetFrameworks>$(PackageTargetFrameworks)</TargetFrameworks>
|
||||
<RootNamespace>AutoGen.Ollama</RootNamespace>
|
||||
<GenerateDocumentationFile>True</GenerateDocumentationFile>
|
||||
</PropertyGroup>
|
||||
|
||||
@ -101,7 +101,7 @@ public class OllamaMessageConnector : IStreamingMiddleware
|
||||
|
||||
// collect all the images
|
||||
var images = imageMessages.SelectMany(m => ProcessImageMessage((ImageMessage)m, agent)
|
||||
.SelectMany(m => (m as IMessage<Message>)?.Content.Images));
|
||||
.SelectMany(m => (m as IMessage<Message>)?.Content.Images ?? []));
|
||||
|
||||
var message = new Message()
|
||||
{
|
||||
|
||||
@ -147,6 +147,16 @@ public class OpenAIChatAgent : IStreamingAgent
|
||||
settings.Temperature = options?.Temperature ?? settings.Temperature;
|
||||
settings.MaxTokens = options?.MaxToken ?? settings.MaxTokens;
|
||||
|
||||
foreach (var functions in this.options.Tools)
|
||||
{
|
||||
settings.Tools.Add(functions);
|
||||
}
|
||||
|
||||
foreach (var stopSequence in this.options.StopSequences)
|
||||
{
|
||||
settings.StopSequences.Add(stopSequence);
|
||||
}
|
||||
|
||||
var openAIFunctionDefinitions = options?.Functions?.Select(f => f.ToOpenAIFunctionDefinition()).ToList();
|
||||
if (openAIFunctionDefinitions is { Count: > 0 })
|
||||
{
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netstandard2.0</TargetFramework>
|
||||
<TargetFrameworks>$(PackageTargetFrameworks)</TargetFrameworks>
|
||||
<RootNamespace>AutoGen.OpenAI</RootNamespace>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netstandard2.0</TargetFramework>
|
||||
<TargetFrameworks>$(PackageTargetFrameworks)</TargetFrameworks>
|
||||
<RootNamespace>AutoGen.SemanticKernel</RootNamespace>
|
||||
<NoWarn>$(NoWarn);SKEXP0110</NoWarn>
|
||||
</PropertyGroup>
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netstandard2.0</TargetFramework>
|
||||
<TargetFrameworks>$(PackageTargetFrameworks)</TargetFrameworks>
|
||||
<RootNamespace>AutoGen</RootNamespace>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
@ -18,7 +18,7 @@ public class HumanInputMiddleware : IMiddleware
|
||||
private readonly string prompt;
|
||||
private readonly string exitKeyword;
|
||||
private Func<IEnumerable<IMessage>, CancellationToken, Task<bool>> isTermination;
|
||||
private Func<string> getInput = Console.ReadLine;
|
||||
private Func<string?> getInput = Console.ReadLine;
|
||||
private Action<string> writeLine = Console.WriteLine;
|
||||
public string? Name => nameof(HumanInputMiddleware);
|
||||
|
||||
@ -27,7 +27,7 @@ public class HumanInputMiddleware : IMiddleware
|
||||
string exitKeyword = "exit",
|
||||
HumanInputMode mode = HumanInputMode.AUTO,
|
||||
Func<IEnumerable<IMessage>, CancellationToken, Task<bool>>? isTermination = null,
|
||||
Func<string>? getInput = null,
|
||||
Func<string?>? getInput = null,
|
||||
Action<string>? writeLine = null)
|
||||
{
|
||||
this.prompt = prompt;
|
||||
@ -56,6 +56,8 @@ public class HumanInputMiddleware : IMiddleware
|
||||
return new TextMessage(Role.Assistant, GroupChatExtension.TERMINATE, agent.Name);
|
||||
}
|
||||
|
||||
input ??= string.Empty;
|
||||
|
||||
return new TextMessage(Role.Assistant, input, agent.Name);
|
||||
}
|
||||
|
||||
@ -74,6 +76,8 @@ public class HumanInputMiddleware : IMiddleware
|
||||
return new TextMessage(Role.Assistant, GroupChatExtension.TERMINATE, agent.Name);
|
||||
}
|
||||
|
||||
input ??= string.Empty;
|
||||
|
||||
return new TextMessage(Role.Assistant, input, agent.Name);
|
||||
}
|
||||
|
||||
@ -85,7 +89,7 @@ public class HumanInputMiddleware : IMiddleware
|
||||
return messages?.Last().IsGroupChatTerminateMessage() is true;
|
||||
}
|
||||
|
||||
private string GetInput()
|
||||
private string? GetInput()
|
||||
{
|
||||
return Console.ReadLine();
|
||||
}
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>$(TestTargetFramework)</TargetFramework>
|
||||
<TargetFrameworks>$(TestTargetFrameworks)</TargetFrameworks>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<IsPackable>false</IsPackable>
|
||||
<GenerateDocumentationFile>True</GenerateDocumentationFile>
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>$(TestTargetFramework)</TargetFramework>
|
||||
<TargetFrameworks>$(TestTargetFrameworks)</TargetFrameworks>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<IsPackable>false</IsPackable>
|
||||
<IsTestProject>True</IsTestProject>
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<TargetFramework>$(TestTargetFramework)</TargetFramework>
|
||||
<TargetFrameworks>$(TestTargetFrameworks)</TargetFrameworks>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
<GenerateDocumentationFile>True</GenerateDocumentationFile>
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>$(TestTargetFramework)</TargetFramework>
|
||||
<TargetFrameworks>$(TestTargetFrameworks)</TargetFrameworks>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<IsPackable>false</IsPackable>
|
||||
<IsTestProject>True</IsTestProject>
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>$(TestTargetFramework)</TargetFramework>
|
||||
<TargetFrameworks>$(TestTargetFrameworks)</TargetFrameworks>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<IsPackable>false</IsPackable>
|
||||
<IsTestProject>True</IsTestProject>
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>$(TestTargetFramework)</TargetFramework>
|
||||
<TargetFrameworks>$(TestTargetFrameworks)</TargetFrameworks>
|
||||
<IsPackable>false</IsPackable>
|
||||
<IsTestProject>True</IsTestProject>
|
||||
<GenerateDocumentationFile>True</GenerateDocumentationFile>
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>$(TestTargetFramework)</TargetFramework>
|
||||
<TargetFrameworks>$(TestTargetFrameworks)</TargetFrameworks>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<IsPackable>false</IsPackable>
|
||||
<NoWarn>$(NoWarn);SKEXP0110</NoWarn>
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>$(TestTargetFramework)</TargetFramework>
|
||||
<TargetFrameworks>$(TestTargetFrameworks)</TargetFrameworks>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<IsPackable>false</IsPackable>
|
||||
<IsTestProject>True</IsTestProject>
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>$(TestTargetFramework)</TargetFramework>
|
||||
<TargetFrameworks>$(TestTargetFrameworks)</TargetFrameworks>
|
||||
<GenerateDocumentationFile>True</GenerateDocumentationFile>
|
||||
<IsTestProject>True</IsTestProject>
|
||||
<NoWarn>$(NoWarn);xUnit1013;SKEXP0110</NoWarn>
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>$(TestTargetFramework)</TargetFramework>
|
||||
<TargetFrameworks>$(TestTargetFrameworks)</TargetFrameworks>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
<IsPackable>false</IsPackable>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user