I've been using SemanticKernel and really appreciate the work that has gone into this project.
I've noticed that the ISemanticTextMemory.SearchAsync method currently only supports searching within a single collection at a time. This means that when you want to search across multiple collections, you have to call SearchAsync multiple times. This leads to unnecessary calls to OpenAI's APIs, as the embedding vector for the query is recreated for each call.
Would it be possible to modify ISemanticTextMemory.SearchAsync to take "IEnumerable\<string> collections" as a parameter, instead of "string collection"? This way, users can search across multiple collections in a single call, which should increase efficiency and reduce the number of calls to OpenAI's APIs.
Hi,
I've been using SemanticKernel and really appreciate the work that has gone into this project.
I've noticed that the ISemanticTextMemory.SearchAsync method currently only supports searching within a single collection at a time. This means that when you want to search across multiple collections, you have to call SearchAsync multiple times. This leads to unnecessary calls to OpenAI's APIs, as the embedding vector for the query is recreated for each call.
Would it be possible to modify ISemanticTextMemory.SearchAsync to take "IEnumerable\<string> collections" as a parameter, instead of "string collection"? This way, users can search across multiple collections in a single call, which should increase efficiency and reduce the number of calls to OpenAI's APIs.
Thank you for considering this suggestion.