Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactoring Skills NuGet Packages #5

Merged
merged 17 commits into from
Mar 1, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/SKILLS.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
![image](https://user-images.githubusercontent.com/371009/221739773-cf43522f-c1e4-42f2-b73d-5ba84e21febb.png)

A skill refers to a domain of expertise made available to the kernel as a single
function, or as a group of functions related to the skill* The design of SK skills
function, or as a group of functions related to the skill. The design of SK skills
has prioritized maximum flexibility for the developer to be both lightweight and
extensible.

Expand Down
6 changes: 6 additions & 0 deletions dotnet/Directory.Packages.props
Original file line number Diff line number Diff line change
Expand Up @@ -29,5 +29,11 @@

<!-- Symbols -->
<PackageVersion Include="Microsoft.SourceLink.GitHub" Version="1.1.1" />

<!-- Skills -->
<PackageVersion Include="DocumentFormat.OpenXml" Version="2.19.0" />
<PackageVersion Include="Microsoft.Data.Sqlite" Version="7.0.3" />
<PackageVersion Include="Microsoft.Graph" Version="4.51.0" />
<PackageVersion Include="Microsoft.Identity.Client.Extensions.Msal" Version="2.25.3" />
</ItemGroup>
</Project>
37 changes: 10 additions & 27 deletions dotnet/SK-dotnet.sln
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,11 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SemanticKernelFunction", ".
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IntegrationTests", "src\IntegrationTest\IntegrationTests.csproj", "{E4B777A1-28E1-41BE-96AE-7F3EC61FD5D4}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Connectors.OpenXml", "src\SemanticKernel.Connectors\Connectors.OpenXml\Connectors.OpenXml.csproj", "{F94D1938-9DB7-4B24-9FF3-166DDFD96330}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Skills.Document", "src\SemanticKernel.Skills\Skills.Document\Skills.Document.csproj", "{F94D1938-9DB7-4B24-9FF3-166DDFD96330}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Connectors.MsGraph", "src\SemanticKernel.Connectors\Connectors.MsGraph\Connectors.MsGraph.csproj", "{689A5041-BAE7-448F-9BDC-4672E96249AA}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Skills.MsGraph", "src\SemanticKernel.Skills\Skills.MsGraph\Skills.MsGraph.csproj", "{689A5041-BAE7-448F-9BDC-4672E96249AA}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Connectors.Bing", "src\SemanticKernel.Connectors\Connectors.Bing\Connectors.Bing.csproj", "{EEA87FBC-4ED5-458C-ABD3-BEAEEB535BAF}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Skills.Web", "src\SemanticKernel.Skills\Skills.Web\Skills.Web.csproj", "{EEA87FBC-4ED5-458C-ABD3-BEAEEB535BAF}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{158A4E5E-AEE0-4D60-83C7-8E089B2D881D}"
ProjectSection(SolutionItems) = preProject
Expand All @@ -37,17 +37,11 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SemanticKernel.Test", "src\SemanticKernel.Test\SemanticKernel.Test.csproj", "{37E39C68-5A40-4E63-9D3C-0C66AD98DFCB}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Connectors.Sqlite", "src\SemanticKernel.Connectors\Connectors.Sqlite\Connectors.Sqlite.csproj", "{E23E7270-F13D-4620-A115-AA6A8619EE5A}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Connectors.Sqlite.Test", "src\SemanticKernel.Connectors\Connectors.Sqlite.Test\Connectors.Sqlite.Test.csproj", "{70C4F01B-9C83-4A62-B731-66A55E1BAC6B}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Skills.Memory.Sqlite", "src\SemanticKernel.Skills\Skills.Memory.Sqlite\Skills.Memory.Sqlite.csproj", "{E23E7270-F13D-4620-A115-AA6A8619EE5A}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "skills", "skills", "{9ECD1AA0-75B3-4E25-B0B5-9F0945B64974}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "connectors", "connectors", "{C0F74221-46C8-4ECD-BB0E-67303088C2E6}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SemanticKernel.Skills", "src\SemanticKernel.Skills\Skills\SemanticKernel.Skills.csproj", "{F261D87A-472C-46F7-BC3C-0CF253653755}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SemanticKernel.Skills.Test", "src\SemanticKernel.Skills\Skills.Test\SemanticKernel.Skills.Test.csproj", "{107156B4-5A8B-45C7-97A2-4544D7FA19DE}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Skills.Test", "src\SemanticKernel.Skills\Skills.Test\Skills.Test.csproj", "{107156B4-5A8B-45C7-97A2-4544D7FA19DE}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "nuget", "nuget", "{F4243136-252A-4459-A7C4-EE8C056D6B0B}"
ProjectSection(SolutionItems) = preProject
Expand All @@ -56,7 +50,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "nuget", "nuget", "{F4243136
nuget\NUGET.md = nuget\NUGET.md
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KernelBuilder", "..\samples\dotnet\KernelBuilder\KernelBuilder.csproj", "{A52818AC-57FB-495F-818F-9E1E7BC5618C}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "KernelBuilder", "..\samples\dotnet\KernelBuilder\KernelBuilder.csproj", "{A52818AC-57FB-495F-818F-9E1E7BC5618C}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Expand Down Expand Up @@ -108,14 +102,6 @@ Global
{E23E7270-F13D-4620-A115-AA6A8619EE5A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E23E7270-F13D-4620-A115-AA6A8619EE5A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E23E7270-F13D-4620-A115-AA6A8619EE5A}.Release|Any CPU.Build.0 = Release|Any CPU
{70C4F01B-9C83-4A62-B731-66A55E1BAC6B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{70C4F01B-9C83-4A62-B731-66A55E1BAC6B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{70C4F01B-9C83-4A62-B731-66A55E1BAC6B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{70C4F01B-9C83-4A62-B731-66A55E1BAC6B}.Release|Any CPU.Build.0 = Release|Any CPU
{F261D87A-472C-46F7-BC3C-0CF253653755}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F261D87A-472C-46F7-BC3C-0CF253653755}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F261D87A-472C-46F7-BC3C-0CF253653755}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F261D87A-472C-46F7-BC3C-0CF253653755}.Release|Any CPU.Build.0 = Release|Any CPU
{107156B4-5A8B-45C7-97A2-4544D7FA19DE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{107156B4-5A8B-45C7-97A2-4544D7FA19DE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{107156B4-5A8B-45C7-97A2-4544D7FA19DE}.Release|Any CPU.ActiveCfg = Release|Any CPU
Expand All @@ -135,15 +121,12 @@ Global
{3EB61E99-C39B-4620-9482-F8DA18E48525} = {FA3720F1-C99A-49B2-9577-A940257098BF}
{34A7F1EF-D243-4160-A413-D713FEABCD94} = {FA3720F1-C99A-49B2-9577-A940257098BF}
{E4B777A1-28E1-41BE-96AE-7F3EC61FD5D4} = {831DDCA2-7D2C-4C31-80DB-6BDB3E1F7AE0}
{F94D1938-9DB7-4B24-9FF3-166DDFD96330} = {C0F74221-46C8-4ECD-BB0E-67303088C2E6}
{689A5041-BAE7-448F-9BDC-4672E96249AA} = {C0F74221-46C8-4ECD-BB0E-67303088C2E6}
{EEA87FBC-4ED5-458C-ABD3-BEAEEB535BAF} = {C0F74221-46C8-4ECD-BB0E-67303088C2E6}
{F94D1938-9DB7-4B24-9FF3-166DDFD96330} = {9ECD1AA0-75B3-4E25-B0B5-9F0945B64974}
{689A5041-BAE7-448F-9BDC-4672E96249AA} = {9ECD1AA0-75B3-4E25-B0B5-9F0945B64974}
{EEA87FBC-4ED5-458C-ABD3-BEAEEB535BAF} = {9ECD1AA0-75B3-4E25-B0B5-9F0945B64974}
{37E39C68-5A40-4E63-9D3C-0C66AD98DFCB} = {831DDCA2-7D2C-4C31-80DB-6BDB3E1F7AE0}
{E23E7270-F13D-4620-A115-AA6A8619EE5A} = {C0F74221-46C8-4ECD-BB0E-67303088C2E6}
{70C4F01B-9C83-4A62-B731-66A55E1BAC6B} = {C0F74221-46C8-4ECD-BB0E-67303088C2E6}
{E23E7270-F13D-4620-A115-AA6A8619EE5A} = {9ECD1AA0-75B3-4E25-B0B5-9F0945B64974}
{9ECD1AA0-75B3-4E25-B0B5-9F0945B64974} = {831DDCA2-7D2C-4C31-80DB-6BDB3E1F7AE0}
{C0F74221-46C8-4ECD-BB0E-67303088C2E6} = {831DDCA2-7D2C-4C31-80DB-6BDB3E1F7AE0}
{F261D87A-472C-46F7-BC3C-0CF253653755} = {9ECD1AA0-75B3-4E25-B0B5-9F0945B64974}
{107156B4-5A8B-45C7-97A2-4544D7FA19DE} = {9ECD1AA0-75B3-4E25-B0B5-9F0945B64974}
{F4243136-252A-4459-A7C4-EE8C056D6B0B} = {158A4E5E-AEE0-4D60-83C7-8E089B2D881D}
{A52818AC-57FB-495F-818F-9E1E7BC5618C} = {FA3720F1-C99A-49B2-9577-A940257098BF}
Expand Down
26 changes: 18 additions & 8 deletions dotnet/nuget/NUGET.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,24 @@
## About Semantic Kernel

Semantic Kernel is a lightweight SDK that offers a simple, powerful, and consistent programming
model mixing classical code with AI and "semantic" functions, covering multiple programming
languages and platforms.
**Semantic Kernel (SK)** is a lightweight SDK enabling integration of AI Large
Language Models (LLMs) with conventional programming languages. The SK extensible
programming model combines natural language **semantic functions**, traditional
code **native functions**, and **embeddings-based memory** unlocking new potential
and adding value to applications with AI.

Semantic Kernel is designed to support and encapsulate several design patterns from the latest
in AI research such that developers can infuse their applications with complex skills like prompt
chaining, recursive reasoning, summarization, zero/few-shot learning, contextual memory,
long-term memory, embeddings, semantic indexing, planning, and accessing external knowledge
stores as well as your own data.
SK supports prompt templating, function chaining, vectorized memory, and intelligent planning
capabilities out of the box.

Semantic Kernel is designed to support and encapsulate several design patterns from the
latest in AI research, such that developers can infuse their applications with complex
skills like prompt chaining, recursive reasoning, summarization, zero/few-shot learning,
contextual memory, long-term memory, embeddings, semantic indexing, planning, and accessing
external knowledge stores as well as your own data.

A skill refers to a domain of expertise made available to the kernel as a single
function, or as a group of functions related to the skill. The design of SK skills
has prioritized maximum flexibility for the developer to be both lightweight and
extensible.

## Getting Started ⚡

Expand Down
3 changes: 1 addition & 2 deletions dotnet/src/IntegrationTest/IntegrationTests.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,7 @@
</ItemGroup>

<ItemGroup>
<ProjectReference Include="..\SemanticKernel.Connectors\Connectors.Bing\Connectors.Bing.csproj" />
<ProjectReference Include="..\SemanticKernel.Skills\Skills\SemanticKernel.Skills.csproj" />
<ProjectReference Include="..\SemanticKernel.Skills\Skills.Web\Skills.Web.csproj" />
<ProjectReference Include="..\SemanticKernel\SemanticKernel.csproj" />
</ItemGroup>

Expand Down
2 changes: 1 addition & 1 deletion dotnet/src/IntegrationTest/WebSkill/WebSkillTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@
using System.Threading.Tasks;
using Microsoft.Extensions.Configuration;
using Microsoft.SemanticKernel;
using Microsoft.SemanticKernel.Connectors.Bing;
using Microsoft.SemanticKernel.Orchestration;
using Microsoft.SemanticKernel.Skills.Web;
using Microsoft.SemanticKernel.Skills.Web.Bing;
using Xunit;
using Xunit.Abstractions;

Expand Down

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@
using System.Threading.Tasks;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Logging.Abstractions;
using Microsoft.SemanticKernel.Connectors.Interfaces;
using Microsoft.SemanticKernel.Orchestration;
using Microsoft.SemanticKernel.SkillDefinition;
using Microsoft.SemanticKernel.Skills.Document.FileSystem;

namespace Microsoft.SemanticKernel.Skills.Document;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
using System.Threading;
using System.Threading.Tasks;

namespace Microsoft.SemanticKernel.Connectors.Interfaces;
namespace Microsoft.SemanticKernel.Skills.Document.FileSystem;

/// <summary>
/// Interface for filesystem connections.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,8 @@
using System.IO;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.SemanticKernel.Connectors.Interfaces;

namespace Microsoft.SemanticKernel.Connectors.OpenXml;
namespace Microsoft.SemanticKernel.Skills.Document.FileSystem;

/// <summary>
/// Connector for local filesystem
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

using System.IO;

namespace Microsoft.SemanticKernel.Connectors.Interfaces;
namespace Microsoft.SemanticKernel.Skills.Document;

/// <summary>
/// Interface for document connections (e.g. Microsoft Word)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
using DocumentFormat.OpenXml.Packaging;
using DocumentFormat.OpenXml.Wordprocessing;

namespace Microsoft.SemanticKernel.Connectors.OpenXml.Extensions;
namespace Microsoft.SemanticKernel.Skills.Document.OpenXml.Extensions;

// Extension methods for DocumentFormat.OpenXml.Packaging.WordprocessingDocument
// Note: the "Wordprocessing" vs "WordProcessing" typo is in the 3P class, we follow the original naming.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,9 @@
using System.IO;
using DocumentFormat.OpenXml;
using DocumentFormat.OpenXml.Packaging;
using Microsoft.SemanticKernel.Connectors.Interfaces;
using Microsoft.SemanticKernel.Connectors.OpenXml.Extensions;
using Microsoft.SemanticKernel.Skills.Document.OpenXml.Extensions;

namespace Microsoft.SemanticKernel.Connectors.OpenXml;
namespace Microsoft.SemanticKernel.Skills.Document.OpenXml;

/// <summary>
/// Connector for Microsoft Word (.docx) files
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,18 +6,22 @@
<Import Project="$(RepoRoot)/dotnet/nuget/nuget-package.props" />

<PropertyGroup>
<AssemblyName>Microsoft.SemanticKernel.Skills</AssemblyName>
<RootNamespace>Microsoft.SemanticKernel</RootNamespace>
<AssemblyName>Microsoft.SemanticKernel.Skills.Document</AssemblyName>
<RootNamespace>Microsoft.SemanticKernel.Skills.Document</RootNamespace>
<TargetFramework>netstandard2.1</TargetFramework>
</PropertyGroup>

<PropertyGroup>
<!-- NuGet Package Settings -->
<PackageId>Microsoft.SemanticKernel.Skills</PackageId>
<Title>Semantic Kernel Skills</Title>
<PackageId>Microsoft.SemanticKernel.Skills.Document</PackageId>
<Title>Semantic Kernel - OpenXml Connector</Title>
<Version>0.7</Version>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="DocumentFormat.OpenXml" />
</ItemGroup>

<ItemGroup>
<ProjectReference Include="..\..\SemanticKernel\SemanticKernel.csproj" />
</ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
using System.Threading.Tasks;
using Microsoft.Data.Sqlite;

namespace Microsoft.SemanticKernel.Connectors.Sqlite;
namespace Microsoft.SemanticKernel.Skills.Memory.Sqlite;

internal struct DatabaseEntry
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,26 +6,24 @@
<Import Project="$(RepoRoot)/dotnet/nuget/nuget-package.props" />

<PropertyGroup>
<AssemblyName>Microsoft.SemanticKernel.Connectors.Sqlite</AssemblyName>
<RootNamespace>Microsoft.SemanticKernel.Connectors.Sqlite</RootNamespace>
<AssemblyName>Microsoft.SemanticKernel.Skills.Memory.Sqlite</AssemblyName>
<RootNamespace>Microsoft.SemanticKernel.Skills.Memory.Sqlite</RootNamespace>
<TargetFramework>netstandard2.1</TargetFramework>
</PropertyGroup>

<PropertyGroup>
<!-- NuGet Package Settings -->
<PackageId>Microsoft.SemanticKernel.Connectors.Sqlite</PackageId>
<PackageId>Microsoft.SemanticKernel.Skills.Memory.Sqlite</PackageId>
<Title>Semantic Kernel - SQLite Connector</Title>
<Version>0.7</Version>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Microsoft.Data.Sqlite" VersionOverride ="7.0.3" />
<PackageReference Include="Microsoft.Data.Sqlite" />
</ItemGroup>

<ItemGroup>
<ProjectReference Include="..\..\SemanticKernel\SemanticKernel.csproj">
<PrivateAssets>all</PrivateAssets>
</ProjectReference>
<ProjectReference Include="..\..\SemanticKernel\SemanticKernel.csproj" />
</ItemGroup>

<ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
using Microsoft.Data.Sqlite;
using Microsoft.SemanticKernel.Memory.Storage;

namespace Microsoft.SemanticKernel.Connectors.Sqlite;
namespace Microsoft.SemanticKernel.Skills.Memory.Sqlite;

/// <summary>
/// An implementation of <see cref="IDataStore{TValue}"/> backed by a SQLite database.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,12 @@
using System.Threading.Tasks;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Logging.Abstractions;
using Microsoft.SemanticKernel.Connectors.Interfaces;
using Microsoft.SemanticKernel.Connectors.Interfaces.Models;
using Microsoft.SemanticKernel.Orchestration;
using Microsoft.SemanticKernel.SkillDefinition;
using Microsoft.SemanticKernel.Skills.Diagnostics;
using Microsoft.SemanticKernel.Skills.MsGraph.Diagnostics;
using Microsoft.SemanticKernel.Skills.MsGraph.Models;

namespace Microsoft.SemanticKernel.Skills.Productivity;
namespace Microsoft.SemanticKernel.Skills.MsGraph;

/// <summary>
/// Skill for calendar operations.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,11 @@
using System.Threading.Tasks;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Logging.Abstractions;
using Microsoft.SemanticKernel.Connectors.Interfaces;
using Microsoft.SemanticKernel.Orchestration;
using Microsoft.SemanticKernel.SkillDefinition;
using Microsoft.SemanticKernel.Skills.Diagnostics;
using Microsoft.SemanticKernel.Skills.MsGraph.Diagnostics;

namespace Microsoft.SemanticKernel.Skills.Productivity;
namespace Microsoft.SemanticKernel.Skills.MsGraph;

/// <summary>
/// Cloud drive skill (e.g. OneDrive).
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
using System.Threading.Tasks;
using Microsoft.Extensions.Logging;

namespace Microsoft.SemanticKernel.Connectors.MsGraph.Client;
namespace Microsoft.SemanticKernel.Skills.MsGraph.Connectors.Client;

/// <summary>
/// An HTTPClient logging handler for ensuring diagnostic headers for Graph API calls are available.
Expand Down
Loading