Skip to content

CopilotChat: Low-level memory optimizations when uploading bot#1149

Merged
adrianwyatt merged 2 commits intomicrosoft:mainfrom
adrianwyatt:optimize-upload-bot
May 22, 2023
Merged

CopilotChat: Low-level memory optimizations when uploading bot#1149
adrianwyatt merged 2 commits intomicrosoft:mainfrom
adrianwyatt:optimize-upload-bot

Conversation

@adrianwyatt
Copy link
Contributor

Motivation and Context

High level semantic memory implementations, such as Azure Cognitive Search, do not allow for providing embeddings when storing memories. We wrap the memory store in an optional memory store to allow controllers to pass dependency injection validation and potentially optimize for a lower-level memory implementation (e.g. Qdrant). Lower level memory implementations (i.e., IMemoryStore) allow for reusing embeddings, whereas high level memory implementation (i.e., ISemanticTextMemory) assume embeddings get recalculated on every write.

Description

  • Implemented OptionalIMemoryStore to allow for BotController to pass DI validation and decide on using IMemoryStore or ISemanticTextMemory when uploading a bot.

@adrianwyatt adrianwyatt self-assigned this May 22, 2023
hathind-ms
hathind-ms previously approved these changes May 22, 2023
TaoChenOSU
TaoChenOSU previously approved these changes May 22, 2023
glahaye
glahaye previously approved these changes May 22, 2023
@adrianwyatt adrianwyatt changed the title Low-level memory optimizations when uploading bot CopilotChat: Low-level memory optimizations when uploading bot May 22, 2023
@adrianwyatt adrianwyatt dismissed stale reviews from glahaye, TaoChenOSU, and hathind-ms via 6240f5c May 22, 2023 17:25
@adrianwyatt adrianwyatt enabled auto-merge (squash) May 22, 2023 17:26
@adrianwyatt adrianwyatt added the .NET Issue or Pull requests regarding .NET code label May 22, 2023
@adrianwyatt adrianwyatt added the PR: ready to merge PR has been approved by all reviewers, and is ready to merge. label May 22, 2023
@adrianwyatt adrianwyatt merged commit 92ed59c into microsoft:main May 22, 2023
shawncal pushed a commit to shawncal/semantic-kernel that referenced this pull request Jul 6, 2023
…soft#1149)

### Motivation and Context
High level semantic memory implementations, such as Azure Cognitive
Search, do not allow for providing embeddings when storing memories. We
wrap the memory store in an optional memory store to allow controllers
to pass dependency injection validation and potentially optimize for a
lower-level memory implementation (e.g. Qdrant). Lower level memory
implementations (i.e., IMemoryStore) allow for reusing embeddings,
whereas high level memory implementation (i.e., ISemanticTextMemory)
assume embeddings get recalculated on every write.

### Description
- Implemented OptionalIMemoryStore to allow for BotController to pass DI
validation and decide on using IMemoryStore or ISemanticTextMemory when
uploading a bot.
golden-aries pushed a commit to golden-aries/semantic-kernel that referenced this pull request Oct 10, 2023
…soft#1149)

### Motivation and Context
High level semantic memory implementations, such as Azure Cognitive
Search, do not allow for providing embeddings when storing memories. We
wrap the memory store in an optional memory store to allow controllers
to pass dependency injection validation and potentially optimize for a
lower-level memory implementation (e.g. Qdrant). Lower level memory
implementations (i.e., IMemoryStore) allow for reusing embeddings,
whereas high level memory implementation (i.e., ISemanticTextMemory)
assume embeddings get recalculated on every write.

### Description
- Implemented OptionalIMemoryStore to allow for BotController to pass DI
validation and decide on using IMemoryStore or ISemanticTextMemory when
uploading a bot.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

.NET Issue or Pull requests regarding .NET code PR: ready to merge PR has been approved by all reviewers, and is ready to merge.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants