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

Add support for SQL Server Vector Search #722

Merged
merged 21 commits into from
Sep 20, 2024
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
563f6ca
Add support for Vector Search
marcominerva Jul 17, 2024
ac6e6ff
Merge branch 'main' into sqlserver-vectorsearch
marcominerva Jul 23, 2024
4190706
Merge branch 'main' into sqlserver-vectorsearch
marcominerva Jul 29, 2024
8c0fd3b
Merge commit
marcominerva Jul 30, 2024
7f030c5
Update code
marcominerva Jul 30, 2024
0d81477
Refactor SQL Server Memory moving all SQL manipulations in external d…
marcominerva Jul 31, 2024
8652676
Move common logic to base class
marcominerva Aug 1, 2024
8dcdc8b
Delete unnecessary check in Delete Index query
marcominerva Aug 2, 2024
4614b02
Add new details on UseVectorSearch property.
marcominerva Aug 2, 2024
d2705f1
Merge branch 'main' into sqlserver-vectorsearch
dluc Aug 19, 2024
8ccb729
Merge branch 'main' into sqlserver-vectorsearch
marcominerva Sep 2, 2024
fddcf90
Merge branch 'main' into sqlserver-vectorsearch
marcominerva Sep 9, 2024
2f7f9fd
Merge branch 'main' into sqlserver-vectorsearch
dluc Sep 10, 2024
7339688
Merge branch 'main' into sqlserver-vectorsearch
dluc Sep 10, 2024
d287dff
Update extensions/SQLServer/SQLServer/DependencyInjection.cs
dluc Sep 10, 2024
bd25d17
Merge branch 'main' into sqlserver-vectorsearch
marcominerva Sep 11, 2024
910e814
Merge branch 'sqlserver-vectorsearch' of https:/marcomine…
marcominerva Sep 11, 2024
8f224a3
Rename config prop
dluc Sep 20, 2024
42b7940
Fix code style
dluc Sep 20, 2024
3806104
Refactor to use interface
dluc Sep 20, 2024
d8b4b1e
Merge branch 'main' into sqlserver-vectorsearch
dluc Sep 20, 2024
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
24 changes: 13 additions & 11 deletions extensions/SQLServer/SQLServer/DependencyInjection.cs
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,10 @@ namespace Microsoft.KernelMemory;
public static partial class KernelMemoryBuilderExtensions
{
/// <summary>
/// Kernel Memory Builder extension method to add SqlServer memory connector.
/// Kernel Memory Builder extension method to add SQL Server memory connector.
/// </summary>
/// <param name="builder">KM builder instance</param>
/// <param name="config">SqlServer configuration</param>
/// <param name="config">SQL Server configuration</param>
public static IKernelMemoryBuilder WithSqlServerMemoryDb(
this IKernelMemoryBuilder builder,
SqlServerConfig config)
Expand All @@ -27,15 +27,16 @@ public static IKernelMemoryBuilder WithSqlServerMemoryDb(
}

/// <summary>
/// Kernel Memory Builder extension method to add SqlServer memory connector.
/// Kernel Memory Builder extension method to add SQL Server memory connector.
/// </summary>
/// <param name="builder">KM builder instance</param>
/// <param name="connString">SqlServer connection string</param>
/// <param name="connString">SQL Server connection string</param>
/// <param name="useVectorSearch">A value that determines if we want to use Vector Search</param>
public static IKernelMemoryBuilder WithSqlServerMemoryDb(
this IKernelMemoryBuilder builder,
string connString)
string connString, bool useVectorSearch = false)
{
builder.Services.AddSqlServerAsMemoryDb(connString);
builder.Services.AddSqlServerAsMemoryDb(connString, useVectorSearch);
return builder;
}
}
Expand All @@ -46,10 +47,10 @@ public static IKernelMemoryBuilder WithSqlServerMemoryDb(
public static partial class DependencyInjection
{
/// <summary>
/// Inject SqlServer as the default implementation of IMemoryDb
/// Inject SQL Server as the default implementation of IMemoryDb
/// </summary>
/// <param name="services">Service collection</param>
/// <param name="config">Postgres configuration</param>
/// <param name="config">SQL Service configuration</param>
dluc marked this conversation as resolved.
Show resolved Hide resolved
public static IServiceCollection AddSqlServerAsMemoryDb(
this IServiceCollection services,
SqlServerConfig config)
Expand All @@ -60,15 +61,16 @@ public static IServiceCollection AddSqlServerAsMemoryDb(
}

/// <summary>
/// Inject SqlServer as the default implementation of IMemoryDb
/// Inject SQL Server as the default implementation of IMemoryDb
/// </summary>
/// <param name="services">Service collection</param>
/// <param name="connString">SQL Server connection string</param>
/// <param name="useVectorSearch">A value that determines if we want to use Vector Search</param>
public static IServiceCollection AddSqlServerAsMemoryDb(
this IServiceCollection services,
string connString)
string connString, bool useVectorSearch = false)
{
var config = new SqlServerConfig { ConnectionString = connString };
var config = new SqlServerConfig { ConnectionString = connString, UseVectorSearch = useVectorSearch };
return services.AddSqlServerAsMemoryDb(config);
}
}
5 changes: 5 additions & 0 deletions extensions/SQLServer/SQLServer/SqlServerConfig.cs
Original file line number Diff line number Diff line change
Expand Up @@ -61,4 +61,9 @@ public class SqlServerConfig
/// The SQL Server tags table name.
/// </summary>
public string TagsTableName { get; set; } = DefaultTagsTableName;

/// <summary>
/// It tells if we should use the vector search or not.
marcominerva marked this conversation as resolved.
Show resolved Hide resolved
/// </summary>
public bool UseVectorSearch { get; set; } = false;
}
Loading
Loading