From da1fc89cec4e6a32c90156e6bc012bfd4c2efdda Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 1 Nov 2025 05:33:58 +0000 Subject: [PATCH 1/2] Initial plan From d5b9ea16072e70d675eeb71ba344fb3a98d3dcc0 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 1 Nov 2025 05:39:42 +0000 Subject: [PATCH 2/2] Fix vector store disposal issue by using DI-registered instances Co-authored-by: JeffreySu <2281927+JeffreySu@users.noreply.github.com> --- .../KernelConfigExtensions.cs | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/Senparc.AI.Kernel/KernelConfigExtensions/KernelConfigExtensions.cs b/src/Senparc.AI.Kernel/KernelConfigExtensions/KernelConfigExtensions.cs index 760ba86..99932c3 100644 --- a/src/Senparc.AI.Kernel/KernelConfigExtensions/KernelConfigExtensions.cs +++ b/src/Senparc.AI.Kernel/KernelConfigExtensions/KernelConfigExtensions.cs @@ -243,9 +243,9 @@ public static VectorStoreCollection GetVectorCollection collection = null; + var kernel = iWwantToRun.Kernel; //TODO: If the logic becomes overly complex in the future, different combinations can be considered to be separated into different libraries @@ -253,7 +253,8 @@ public static VectorStoreCollection GetVectorCollection(); collection = vectorStore.GetCollection(name, vectorStoreRecordDefinition); break; } @@ -263,12 +264,9 @@ public static VectorStoreCollection GetVectorCollection(name, vectorStoreRecordDefinition); - } + // Retrieve from DI container (registered via ConfigVectorStore) + vectorStore = kernel.Services.GetRequiredService(); + collection = vectorStore.GetCollection(name, vectorStoreRecordDefinition); break; } case VectorDBType.Milvus: @@ -293,12 +291,14 @@ public static VectorStoreCollection GetVectorCollection(); collection = vectorStore.GetCollection(name, vectorStoreRecordDefinition); break; } default: - vectorStore = new InMemoryVectorStore(); + // For unsupported types, try to get from DI or throw an error + vectorStore = kernel.Services.GetRequiredService(); collection = vectorStore.GetCollection(name, vectorStoreRecordDefinition); break; }