From b97e79c5161dc2471cad7658c81d0c434cc05313 Mon Sep 17 00:00:00 2001 From: Abby Harrison Date: Wed, 29 Mar 2023 14:02:26 -0700 Subject: [PATCH 1/7] Exception UnableToSerializeMetadata -> UnableToDeserializeMetadata; have sample use OpenAI services; Fixed Example19 to act according to console write descriptions; added QDRANT secret names to syntax examples repo --- .../SemanticKernel/Memory/MemoryException.cs | 2 +- .../SemanticKernel/Memory/MemoryQueryResult.cs | 4 ++-- .../src/SemanticKernel/Memory/MemoryRecord.cs | 4 ++-- .../kernel-syntax-examples/Example19_Qdrant.cs | 17 ++++++----------- samples/dotnet/kernel-syntax-examples/README.md | 4 +++- 5 files changed, 14 insertions(+), 17 deletions(-) diff --git a/dotnet/src/SemanticKernel/Memory/MemoryException.cs b/dotnet/src/SemanticKernel/Memory/MemoryException.cs index e3197dcd91ba..ea8655693cab 100644 --- a/dotnet/src/SemanticKernel/Memory/MemoryException.cs +++ b/dotnet/src/SemanticKernel/Memory/MemoryException.cs @@ -23,7 +23,7 @@ public enum ErrorCodes /// /// Unable to construct memory from serialized metadata. /// - UnableToSerializeMetadata, + UnableToDeserializeMetadata, } /// diff --git a/dotnet/src/SemanticKernel/Memory/MemoryQueryResult.cs b/dotnet/src/SemanticKernel/Memory/MemoryQueryResult.cs index 097a31065260..7375105bb3f8 100644 --- a/dotnet/src/SemanticKernel/Memory/MemoryQueryResult.cs +++ b/dotnet/src/SemanticKernel/Memory/MemoryQueryResult.cs @@ -50,8 +50,8 @@ public static MemoryQueryResult FromJson( else { throw new MemoryException( - MemoryException.ErrorCodes.UnableToSerializeMetadata, - "Unable to create memory from serialized metadata"); + MemoryException.ErrorCodes.UnableToDeserializeMetadata, + "Unable to create memory query result from serialized metadata"); } } diff --git a/dotnet/src/SemanticKernel/Memory/MemoryRecord.cs b/dotnet/src/SemanticKernel/Memory/MemoryRecord.cs index e168f8995e81..fb25ad45c21c 100644 --- a/dotnet/src/SemanticKernel/Memory/MemoryRecord.cs +++ b/dotnet/src/SemanticKernel/Memory/MemoryRecord.cs @@ -87,8 +87,8 @@ public static MemoryRecord FromJson( } throw new MemoryException( - MemoryException.ErrorCodes.UnableToSerializeMetadata, - "Unable to create memory from serialized metadata"); + MemoryException.ErrorCodes.UnableToDeserializeMetadata, + "Unable to create memory record from serialized metadata"); } public string GetSerializedMetadata() diff --git a/samples/dotnet/kernel-syntax-examples/Example19_Qdrant.cs b/samples/dotnet/kernel-syntax-examples/Example19_Qdrant.cs index 0577b4bfbc35..7d9e1df59007 100644 --- a/samples/dotnet/kernel-syntax-examples/Example19_Qdrant.cs +++ b/samples/dotnet/kernel-syntax-examples/Example19_Qdrant.cs @@ -17,19 +17,13 @@ public static class Example19_Qdrant public static async Task RunAsync() { int qdrantPort = int.Parse(Env.Var("QDRANT_PORT"), CultureInfo.InvariantCulture); - QdrantMemoryStore memoryStore = new QdrantMemoryStore(Env.Var("QDRANT_ENDPOINT"), qdrantPort); + QdrantMemoryStore memoryStore = new QdrantMemoryStore(Env.Var("QDRANT_ENDPOINT"), qdrantPort, ConsoleLogger.Log); IKernel kernel = Kernel.Builder .WithLogger(ConsoleLogger.Log) .Configure(c => { - c.AddAzureOpenAITextCompletion(serviceId: "davinci", - deploymentName: "text-davinci-003", - endpoint: Env.Var("AZURE_ENDPOINT"), - apiKey: Env.Var("AZURE_API_KEY")); - c.AddAzureOpenAIEmbeddingGeneration(serviceId: "ada", - deploymentName: "text-embedding-ada-002", - endpoint: Env.Var("AZURE_ENDPOINT"), - apiKey: Env.Var("AZURE_API_KEY")); + c.AddOpenAITextCompletion("davinci", "text-davinci-003", Env.Var("OPENAI_API_KEY")); + c.AddOpenAIEmbeddingGeneration("ada", "text-embedding-ada-002", Env.Var("OPENAI_API_KEY")); }) .WithMemoryStorage(memoryStore) .Build(); @@ -56,11 +50,12 @@ public static async Task RunAsync() Console.WriteLine("== Retrieving Memories =="); MemoryQueryResult? lookup = await kernel.Memory.GetAsync(MemoryCollectionName, "cat1"); - Console.WriteLine(lookup != null ? lookup.Metadata.Text : "No memories found"); + Console.WriteLine(lookup != null ? lookup.Metadata.Text : "ERROR: memory not found"); Console.WriteLine("== Removing Collection {0} ==", MemoryCollectionName); - Console.WriteLine("== Printing Collections in DB =="); await memoryStore.DeleteCollectionAsync(MemoryCollectionName); + + Console.WriteLine("== Printing Collections in DB =="); await foreach (var collection in collections) { Console.WriteLine(collection); diff --git a/samples/dotnet/kernel-syntax-examples/README.md b/samples/dotnet/kernel-syntax-examples/README.md index 2ff75f420ece..6a942e2239a7 100644 --- a/samples/dotnet/kernel-syntax-examples/README.md +++ b/samples/dotnet/kernel-syntax-examples/README.md @@ -31,4 +31,6 @@ To set your secrets with environment variables, use these names: * AZURE_OPENAI_DEPLOYMENT_LABEL * AZURE_OPENAI_DEPLOYMENT_NAME * AZURE_OPENAI_ENDPOINT -* AZURE_OPENAI_KEY \ No newline at end of file +* AZURE_OPENAI_KEY +* QDRANT_ENDPOINT +* QDRANT_PORT \ No newline at end of file From 5d1855f6793d2c392260e5036bf41f49005f3ee5 Mon Sep 17 00:00:00 2001 From: Abby Harrison Date: Wed, 29 Mar 2023 14:21:16 -0700 Subject: [PATCH 2/7] Removed unused package references --- .../Skills.Memory.Qdrant/Skills.Memory.Qdrant.csproj | 2 -- 1 file changed, 2 deletions(-) diff --git a/dotnet/src/SemanticKernel.Skills/Skills.Memory.Qdrant/Skills.Memory.Qdrant.csproj b/dotnet/src/SemanticKernel.Skills/Skills.Memory.Qdrant/Skills.Memory.Qdrant.csproj index 5f18b51209b4..fbc869c52f97 100644 --- a/dotnet/src/SemanticKernel.Skills/Skills.Memory.Qdrant/Skills.Memory.Qdrant.csproj +++ b/dotnet/src/SemanticKernel.Skills/Skills.Memory.Qdrant/Skills.Memory.Qdrant.csproj @@ -17,8 +17,6 @@ - - From fb0e9c7342dd5f2264637227784a5178e5738b44 Mon Sep 17 00:00:00 2001 From: Abby Harrison Date: Wed, 29 Mar 2023 18:02:50 -0700 Subject: [PATCH 3/7] addressed lack of threshold value in getnearest calls --- .../Diagnostics/VectorDBException.cs | 2 +- .../Http/ApiSchema/SearchVectorsRequest.cs | 6 ++++++ .../Skills.Memory.Qdrant/QdrantMemoryStore.cs | 17 ++++++++++++----- .../QdrantVectorDbClient.cs | 3 +++ .../Skills.Memory.Qdrant/QdrantVectorRecord.cs | 2 +- 5 files changed, 23 insertions(+), 7 deletions(-) diff --git a/dotnet/src/SemanticKernel.Skills/Skills.Memory.Qdrant/Diagnostics/VectorDBException.cs b/dotnet/src/SemanticKernel.Skills/Skills.Memory.Qdrant/Diagnostics/VectorDBException.cs index dec45576959d..4a0fb212e82f 100644 --- a/dotnet/src/SemanticKernel.Skills/Skills.Memory.Qdrant/Diagnostics/VectorDBException.cs +++ b/dotnet/src/SemanticKernel.Skills/Skills.Memory.Qdrant/Diagnostics/VectorDBException.cs @@ -11,7 +11,7 @@ public enum ErrorCodes UnknownError, CollectionDoesNotExist, InvalidCollectionState, - UnableToSerializeRecordPayload, + UnableToDeserializeRecordPayload, CollectionCreationFailed, CollectionRetrievalFailed, VectorRetrievalFailed, diff --git a/dotnet/src/SemanticKernel.Skills/Skills.Memory.Qdrant/Http/ApiSchema/SearchVectorsRequest.cs b/dotnet/src/SemanticKernel.Skills/Skills.Memory.Qdrant/Http/ApiSchema/SearchVectorsRequest.cs index 3442fe4e445b..cc97501cc750 100644 --- a/dotnet/src/SemanticKernel.Skills/Skills.Memory.Qdrant/Http/ApiSchema/SearchVectorsRequest.cs +++ b/dotnet/src/SemanticKernel.Skills/Skills.Memory.Qdrant/Http/ApiSchema/SearchVectorsRequest.cs @@ -68,6 +68,12 @@ public SearchVectorsRequest HavingTags(IEnumerable? tags) return this; } + + public SearchVectorsRequest WithScoreThreshold(double threshold) + { + this.ScoreThreshold = threshold; + return this; + } public SearchVectorsRequest IncludePayLoad() { diff --git a/dotnet/src/SemanticKernel.Skills/Skills.Memory.Qdrant/QdrantMemoryStore.cs b/dotnet/src/SemanticKernel.Skills/Skills.Memory.Qdrant/QdrantMemoryStore.cs index 526cb001d39e..719bf4368ac8 100644 --- a/dotnet/src/SemanticKernel.Skills/Skills.Memory.Qdrant/QdrantMemoryStore.cs +++ b/dotnet/src/SemanticKernel.Skills/Skills.Memory.Qdrant/QdrantMemoryStore.cs @@ -2,6 +2,7 @@ using System; using System.Collections.Generic; +using System.Linq; using System.Threading; using System.Threading.Tasks; using Microsoft.Extensions.Logging; @@ -37,11 +38,17 @@ public QdrantMemoryStore(string host, int port, ILogger? logger = null) { try { - // Qdrant entries are uniquely identified by Base-64 or UUID strings var vectorData = await this._qdrantClient.GetVectorByPayloadIdAsync(collection, key); - return new DataEntry>( - key: key, - value: vectorData?.Value); + if (vectorData != null) + { + return new DataEntry>( + key: key, + value: (IEmbeddingWithMetadata)vectorData?.Value); + } + else + { + return null; + } } catch (Exception ex) { @@ -88,7 +95,7 @@ public async Task RemoveAsync(string collection, string key, CancellationToken c int limit = 1, double minRelevanceScore = 0) { - var results = this._qdrantClient.FindNearestInCollectionAsync(collection, embedding, limit); + var results = this._qdrantClient.FindNearestInCollectionAsync(collection, embedding, limit, minRelevanceScore); await foreach ((IEmbeddingWithMetadata, double) result in results) { yield return result; diff --git a/dotnet/src/SemanticKernel.Skills/Skills.Memory.Qdrant/QdrantVectorDbClient.cs b/dotnet/src/SemanticKernel.Skills/Skills.Memory.Qdrant/QdrantVectorDbClient.cs index a17f6a690096..42eb75996296 100644 --- a/dotnet/src/SemanticKernel.Skills/Skills.Memory.Qdrant/QdrantVectorDbClient.cs +++ b/dotnet/src/SemanticKernel.Skills/Skills.Memory.Qdrant/QdrantVectorDbClient.cs @@ -302,12 +302,14 @@ public async Task UpsertVectorAsync(string collectionName, DataEntry /// /// + /// /// /// /// public async IAsyncEnumerable<(QdrantVectorRecord, double)> FindNearestInCollectionAsync( string collectionName, Embedding target, + double threshold, int top = 1, IEnumerable? requiredTags = null) { @@ -319,6 +321,7 @@ public async Task UpsertVectorAsync(string collectionName, DataEntry FromJson(Embedding embe } else { - throw new VectorDbException(VectorDbException.ErrorCodes.UnableToSerializeRecordPayload, "Failed to deserialize payload"); + throw new VectorDbException(VectorDbException.ErrorCodes.UnableToDeserializeRecordPayload, "Failed to deserialize payload"); } } } From e3e3fc3c555059564b374e3633919ceb52543f4a Mon Sep 17 00:00:00 2001 From: Dan Marshall Date: Wed, 29 Mar 2023 18:09:45 -0700 Subject: [PATCH 4/7] add nuget sources troubleshooting (#223) I was trying to run the Getting Started Notebook from step 3 on the [Setting up Semantic Kernel](https://learn.microsoft.com/en-us/semantic-kernel/get-started) documentation page. In the first cell, I got a nuget error: `error NU1101: Unable to find package ...` Incorporated a fix from https://stackoverflow.com/a/73961223/620501 into the troubleshooting section of the readme. --- samples/notebooks/dotnet/README.md | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/samples/notebooks/dotnet/README.md b/samples/notebooks/dotnet/README.md index 57e8c070e279..5552687b7cf0 100644 --- a/samples/notebooks/dotnet/README.md +++ b/samples/notebooks/dotnet/README.md @@ -85,7 +85,19 @@ Enter the notebooks folder, and run this to launch the browser interface: # Troubleshooting -If you are unable to get the Nuget package, run one of the `force-nuget-download` scripts for your machine. +## Nuget + +If you are unable to get the Nuget package, first list your Nuget sources: +```sh +dotnet nuget list source +``` +If you see `No sources found.`, add the NuGet official package source: +```sh +dotnet nuget add source "https://api.nuget.org/v3/index.json" --name "nuget.org" +``` +Run `dotnet nuget list source` again to verify the source was added. + +## Polyglot Notebooks If somehow the notebooks don't work, run these commands: From dbd0395b7516a9878654b3001c36f75fc87f313d Mon Sep 17 00:00:00 2001 From: Abby Harrison Date: Wed, 29 Mar 2023 19:50:30 -0700 Subject: [PATCH 5/7] address parameters out of order --- .../Skills.Memory.Qdrant/QdrantMemoryStore.cs | 2 +- .../dotnet/kernel-syntax-examples/Program.cs | 72 +++++++++---------- .../dotnet/kernel-syntax-examples/README.md | 6 +- 3 files changed, 40 insertions(+), 40 deletions(-) diff --git a/dotnet/src/SemanticKernel.Skills/Skills.Memory.Qdrant/QdrantMemoryStore.cs b/dotnet/src/SemanticKernel.Skills/Skills.Memory.Qdrant/QdrantMemoryStore.cs index 719bf4368ac8..d989cc2c5dca 100644 --- a/dotnet/src/SemanticKernel.Skills/Skills.Memory.Qdrant/QdrantMemoryStore.cs +++ b/dotnet/src/SemanticKernel.Skills/Skills.Memory.Qdrant/QdrantMemoryStore.cs @@ -95,7 +95,7 @@ public async Task RemoveAsync(string collection, string key, CancellationToken c int limit = 1, double minRelevanceScore = 0) { - var results = this._qdrantClient.FindNearestInCollectionAsync(collection, embedding, limit, minRelevanceScore); + var results = this._qdrantClient.FindNearestInCollectionAsync(collection, embedding, minRelevanceScore, limit); await foreach ((IEmbeddingWithMetadata, double) result in results) { yield return result; diff --git a/samples/dotnet/kernel-syntax-examples/Program.cs b/samples/dotnet/kernel-syntax-examples/Program.cs index 8799c3c1507e..23a1ccc670d6 100644 --- a/samples/dotnet/kernel-syntax-examples/Program.cs +++ b/samples/dotnet/kernel-syntax-examples/Program.cs @@ -9,59 +9,59 @@ public static class Program // ReSharper disable once InconsistentNaming public static async Task Main() { - Example01_NativeFunctions.Run(); - Console.WriteLine("== DONE =="); + //Example01_NativeFunctions.Run(); + //Console.WriteLine("== DONE =="); - await Example02_Pipeline.RunAsync(); - Console.WriteLine("== DONE =="); + //await Example02_Pipeline.RunAsync(); + //Console.WriteLine("== DONE =="); - await Example03_Variables.RunAsync(); - Console.WriteLine("== DONE =="); + //await Example03_Variables.RunAsync(); + //Console.WriteLine("== DONE =="); - await Example04_BingSkillAndConnector.RunAsync(); - Console.WriteLine("== DONE =="); + //await Example04_BingSkillAndConnector.RunAsync(); + //Console.WriteLine("== DONE =="); - await Example05_CombineLLMPromptsAndNativeCode.RunAsync(); - Console.WriteLine("== DONE =="); + //await Example05_CombineLLMPromptsAndNativeCode.RunAsync(); + //Console.WriteLine("== DONE =="); - await Example06_InlineFunctionDefinition.RunAsync(); - Console.WriteLine("== DONE =="); + //await Example06_InlineFunctionDefinition.RunAsync(); + //Console.WriteLine("== DONE =="); - await Example07_TemplateLanguage.RunAsync(); - Console.WriteLine("== DONE =="); + //await Example07_TemplateLanguage.RunAsync(); + //Console.WriteLine("== DONE =="); - await Example08_RetryHandler.RunAsync(); - Console.WriteLine("== DONE =="); + //await Example08_RetryHandler.RunAsync(); + //Console.WriteLine("== DONE =="); - await Example09_FunctionTypes.RunAsync(); - Console.WriteLine("== DONE =="); + //await Example09_FunctionTypes.RunAsync(); + //Console.WriteLine("== DONE =="); - Example10_DescribeAllSkillsAndFunctions.Run(); - Console.WriteLine("== DONE =="); + //Example10_DescribeAllSkillsAndFunctions.Run(); + //Console.WriteLine("== DONE =="); - await Example11_WebSearchQueries.RunAsync(); - Console.WriteLine("== DONE =="); + //await Example11_WebSearchQueries.RunAsync(); + //Console.WriteLine("== DONE =="); - await Example12_Planning.RunAsync(); - Console.WriteLine("== DONE =="); + //await Example12_Planning.RunAsync(); + //Console.WriteLine("== DONE =="); - await Example13_ConversationSummarySkill.RunAsync(); - Console.WriteLine("== DONE =="); + //await Example13_ConversationSummarySkill.RunAsync(); + //Console.WriteLine("== DONE =="); - await Example14_Memory.RunAsync(); - Console.WriteLine("== DONE =="); + //await Example14_Memory.RunAsync(); + //Console.WriteLine("== DONE =="); - await Example15_MemorySkill.RunAsync(); - Console.WriteLine("== DONE =="); + //await Example15_MemorySkill.RunAsync(); + //Console.WriteLine("== DONE =="); - await Example16_CustomLLM.RunAsync(); - Console.WriteLine("== DONE =="); + //await Example16_CustomLLM.RunAsync(); + //Console.WriteLine("== DONE =="); - await Example17_ChatGPT.RunAsync(); - Console.WriteLine("== DONE =="); + //await Example17_ChatGPT.RunAsync(); + //Console.WriteLine("== DONE =="); - await Example18_DallE.RunAsync(); - Console.WriteLine("== DONE =="); + //await Example18_DallE.RunAsync(); + //Console.WriteLine("== DONE =="); await Example19_Qdrant.RunAsync(); Console.WriteLine("== DONE =="); diff --git a/samples/dotnet/kernel-syntax-examples/README.md b/samples/dotnet/kernel-syntax-examples/README.md index 6a942e2239a7..126d899a58fa 100644 --- a/samples/dotnet/kernel-syntax-examples/README.md +++ b/samples/dotnet/kernel-syntax-examples/README.md @@ -31,6 +31,6 @@ To set your secrets with environment variables, use these names: * AZURE_OPENAI_DEPLOYMENT_LABEL * AZURE_OPENAI_DEPLOYMENT_NAME * AZURE_OPENAI_ENDPOINT -* AZURE_OPENAI_KEY -* QDRANT_ENDPOINT -* QDRANT_PORT \ No newline at end of file +* AZURE_OPENAI_KEY +* QDRANT_ENDPOINT +* QDRANT_PORT From 85851acef1b6364bf236641d4eb094e12d2c758f Mon Sep 17 00:00:00 2001 From: Abby Harrison Date: Wed, 29 Mar 2023 20:14:03 -0700 Subject: [PATCH 6/7] add similarity search to Example19 --- .../Example19_Qdrant.cs | 8 +++ .../dotnet/kernel-syntax-examples/Program.cs | 72 +++++++++---------- 2 files changed, 44 insertions(+), 36 deletions(-) diff --git a/samples/dotnet/kernel-syntax-examples/Example19_Qdrant.cs b/samples/dotnet/kernel-syntax-examples/Example19_Qdrant.cs index 7d9e1df59007..ad64dff85874 100644 --- a/samples/dotnet/kernel-syntax-examples/Example19_Qdrant.cs +++ b/samples/dotnet/kernel-syntax-examples/Example19_Qdrant.cs @@ -52,6 +52,14 @@ public static async Task RunAsync() MemoryQueryResult? lookup = await kernel.Memory.GetAsync(MemoryCollectionName, "cat1"); Console.WriteLine(lookup != null ? lookup.Metadata.Text : "ERROR: memory not found"); + Console.WriteLine("== Similarity Searching Memories: My favorite color is orange =="); + var searchResults = kernel.Memory.SearchAsync(MemoryCollectionName, "My favorite color is orange", limit: 3, minRelevanceScore: 0.8); + + await foreach (var item in searchResults) + { + Console.WriteLine(item.Metadata.Text + " : " + item.Relevance); + } + Console.WriteLine("== Removing Collection {0} ==", MemoryCollectionName); await memoryStore.DeleteCollectionAsync(MemoryCollectionName); diff --git a/samples/dotnet/kernel-syntax-examples/Program.cs b/samples/dotnet/kernel-syntax-examples/Program.cs index 23a1ccc670d6..8799c3c1507e 100644 --- a/samples/dotnet/kernel-syntax-examples/Program.cs +++ b/samples/dotnet/kernel-syntax-examples/Program.cs @@ -9,59 +9,59 @@ public static class Program // ReSharper disable once InconsistentNaming public static async Task Main() { - //Example01_NativeFunctions.Run(); - //Console.WriteLine("== DONE =="); + Example01_NativeFunctions.Run(); + Console.WriteLine("== DONE =="); - //await Example02_Pipeline.RunAsync(); - //Console.WriteLine("== DONE =="); + await Example02_Pipeline.RunAsync(); + Console.WriteLine("== DONE =="); - //await Example03_Variables.RunAsync(); - //Console.WriteLine("== DONE =="); + await Example03_Variables.RunAsync(); + Console.WriteLine("== DONE =="); - //await Example04_BingSkillAndConnector.RunAsync(); - //Console.WriteLine("== DONE =="); + await Example04_BingSkillAndConnector.RunAsync(); + Console.WriteLine("== DONE =="); - //await Example05_CombineLLMPromptsAndNativeCode.RunAsync(); - //Console.WriteLine("== DONE =="); + await Example05_CombineLLMPromptsAndNativeCode.RunAsync(); + Console.WriteLine("== DONE =="); - //await Example06_InlineFunctionDefinition.RunAsync(); - //Console.WriteLine("== DONE =="); + await Example06_InlineFunctionDefinition.RunAsync(); + Console.WriteLine("== DONE =="); - //await Example07_TemplateLanguage.RunAsync(); - //Console.WriteLine("== DONE =="); + await Example07_TemplateLanguage.RunAsync(); + Console.WriteLine("== DONE =="); - //await Example08_RetryHandler.RunAsync(); - //Console.WriteLine("== DONE =="); + await Example08_RetryHandler.RunAsync(); + Console.WriteLine("== DONE =="); - //await Example09_FunctionTypes.RunAsync(); - //Console.WriteLine("== DONE =="); + await Example09_FunctionTypes.RunAsync(); + Console.WriteLine("== DONE =="); - //Example10_DescribeAllSkillsAndFunctions.Run(); - //Console.WriteLine("== DONE =="); + Example10_DescribeAllSkillsAndFunctions.Run(); + Console.WriteLine("== DONE =="); - //await Example11_WebSearchQueries.RunAsync(); - //Console.WriteLine("== DONE =="); + await Example11_WebSearchQueries.RunAsync(); + Console.WriteLine("== DONE =="); - //await Example12_Planning.RunAsync(); - //Console.WriteLine("== DONE =="); + await Example12_Planning.RunAsync(); + Console.WriteLine("== DONE =="); - //await Example13_ConversationSummarySkill.RunAsync(); - //Console.WriteLine("== DONE =="); + await Example13_ConversationSummarySkill.RunAsync(); + Console.WriteLine("== DONE =="); - //await Example14_Memory.RunAsync(); - //Console.WriteLine("== DONE =="); + await Example14_Memory.RunAsync(); + Console.WriteLine("== DONE =="); - //await Example15_MemorySkill.RunAsync(); - //Console.WriteLine("== DONE =="); + await Example15_MemorySkill.RunAsync(); + Console.WriteLine("== DONE =="); - //await Example16_CustomLLM.RunAsync(); - //Console.WriteLine("== DONE =="); + await Example16_CustomLLM.RunAsync(); + Console.WriteLine("== DONE =="); - //await Example17_ChatGPT.RunAsync(); - //Console.WriteLine("== DONE =="); + await Example17_ChatGPT.RunAsync(); + Console.WriteLine("== DONE =="); - //await Example18_DallE.RunAsync(); - //Console.WriteLine("== DONE =="); + await Example18_DallE.RunAsync(); + Console.WriteLine("== DONE =="); await Example19_Qdrant.RunAsync(); Console.WriteLine("== DONE =="); From d105996d27c1795979bf77ee99151744ce33d150 Mon Sep 17 00:00:00 2001 From: Abby Harrison Date: Wed, 29 Mar 2023 20:19:46 -0700 Subject: [PATCH 7/7] removed unnecessary cast --- .../Skills.Memory.Qdrant/QdrantMemoryStore.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dotnet/src/SemanticKernel.Skills/Skills.Memory.Qdrant/QdrantMemoryStore.cs b/dotnet/src/SemanticKernel.Skills/Skills.Memory.Qdrant/QdrantMemoryStore.cs index d989cc2c5dca..de6b8e1e0474 100644 --- a/dotnet/src/SemanticKernel.Skills/Skills.Memory.Qdrant/QdrantMemoryStore.cs +++ b/dotnet/src/SemanticKernel.Skills/Skills.Memory.Qdrant/QdrantMemoryStore.cs @@ -43,7 +43,7 @@ public QdrantMemoryStore(string host, int port, ILogger? logger = null) { return new DataEntry>( key: key, - value: (IEmbeddingWithMetadata)vectorData?.Value); + value: vectorData?.Value); } else {