From 3e52f9b0d1a9963e2390083fa71c2966d28234f7 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 1 Nov 2025 05:32:30 +0000 Subject: [PATCH 1/2] Initial plan From ccc71b2979c929cc6961d0009edd7fc0196d7d8a Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 1 Nov 2025 05:38:34 +0000 Subject: [PATCH 2/2] Wrap disposable vector stores in using statements to ensure proper disposal Co-authored-by: JeffreySu <2281927+JeffreySu@users.noreply.github.com> --- .../KernelConfigExtensions.cs | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/src/Senparc.AI.Kernel/KernelConfigExtensions/KernelConfigExtensions.cs b/src/Senparc.AI.Kernel/KernelConfigExtensions/KernelConfigExtensions.cs index 760ba86..082ea95 100644 --- a/src/Senparc.AI.Kernel/KernelConfigExtensions/KernelConfigExtensions.cs +++ b/src/Senparc.AI.Kernel/KernelConfigExtensions/KernelConfigExtensions.cs @@ -244,7 +244,6 @@ public static VectorStoreCollection GetVectorCollection collection = null; //TODO: If the logic becomes overly complex in the future, different combinations can be considered to be separated into different libraries @@ -253,8 +252,10 @@ public static VectorStoreCollection GetVectorCollection(name, vectorStoreRecordDefinition); + using (var inMemoryVectorStore = new InMemoryVectorStore()) + { + collection = inMemoryVectorStore.GetCollection(name, vectorStoreRecordDefinition); + } break; } case VectorDBType.HardDisk: @@ -293,13 +294,17 @@ public static VectorStoreCollection GetVectorCollection(name, vectorStoreRecordDefinition); + using (var qdrantVectorStore = new QdrantVectorStore(new QdrantClient(vectorDb.ConnectionString), ownsClient: true)) + { + collection = qdrantVectorStore.GetCollection(name, vectorStoreRecordDefinition); + } break; } default: - vectorStore = new InMemoryVectorStore(); - collection = vectorStore.GetCollection(name, vectorStoreRecordDefinition); + using (var inMemoryVectorStore = new InMemoryVectorStore()) + { + collection = inMemoryVectorStore.GetCollection(name, vectorStoreRecordDefinition); + } break; }