microsoft / kernel-memory

RAG architecture: index and query any data using LLM and natural language, track sources, show citations, asynchronous memory patterns.

Home Page:https://microsoft.github.io/kernel-memory

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[Feature request] Allow to configure default collection used with Qdrant

DavidNorena opened this issue · comments

Context / Scenario

Im trying to use the QdrantDb but without using the default collection name

What happened?

I get this error

warn: Microsoft.KernelMemory.MemoryDb.Qdrant.Client.QdrantClient[0]
Qdrant responded with error: NotFound, {"status":{"error":"Not found: Collection default doesn't exist!"},"time":9.137e-6}
warn: Microsoft.KernelMemory.Search.SearchClient[0]
No memories available

Importance

edge case

Platform, Language, Versions

C# using .net 8 on linux

Relevant log output

warn: Microsoft.KernelMemory.MemoryDb.Qdrant.Client.QdrantClient[0]
      Qdrant responded with error: NotFound, {"status":{"error":"Not found: Collection `default` doesn't exist!"},"time":9.137e-6}
warn: Microsoft.KernelMemory.Search.SearchClient[0]
      No memories available

While is not an error the library should allow me to specify the collection name right ?

@DavidNorena could you share a snippet of code to show how to reproduce the error?

When you init the memory with Qdrant there is no way to change the default collection which I believe is something needs improvement

image

We were not using the default collection in qdrant, so If you dont specify when searching it will throw the warning ...

image

I believe there should be a way to init the default collection on configuration right ?

I agree it would be nice configuring more details about Qdrant, like the default collection, a prefix, field names etc, and we'd welcome PRs in that sense.

With regard to the logs, those are only warnings, and the connector creates the collection automatically when missing.

thanks @marcominerva for implementing this! see #339