mirror of
https://github.com/microsoft/semantic-kernel.git
synced 2026-10-12 02:19:06 +00:00
### Motivation and Context Closes #1271 and addresses several TODOs in ChromaMemoryStore ### Description - added field `additional_metadata` to `MemoryRecord` and all downstream methods/classes (see `SemanticTextMemoryBase`, `SemanticTextMemory`, `MemoryQueryResult`, and `ChromaMemoryStore`) - addressed ChromaMemoryStore TODO 'what is key used for?' For chromadb, key and id are effectively the same value, but the two fields are differentiated for memory stores like Qdrant which require that key be a uuid. I updated the logic so that this is more apparent. Note that this results in no change in end-user functionality. - Updated ChromaMemoryStore TODO 'get_async say embedding is optional but Record constructor requires it.` MemoryRecord constructor no longer requires an embedding. Logic is updated and a test added to show that embedding retrieval is functionally optional.