Skip to content

Semantic Memory Integration into Copilot Chat#152

Merged
crickman merged 192 commits intomainfrom
feature-semantic-memory
Sep 21, 2023
Merged

Semantic Memory Integration into Copilot Chat#152
crickman merged 192 commits intomainfrom
feature-semantic-memory

Conversation

@crickman
Copy link
Copy Markdown
Contributor

@crickman crickman commented Aug 11, 2023

BREAKING CHANGE

Motivation and Context

Integration of chat-copilot with https://github.com/microsoft/semantic-memory. With this change, chat-copilot no longer utilizes the https://github.com/microsoft/semantic-kernel connector

Description

  • New "pipeline" service
  • Memory retrieval updated
  • DocumentImportController removed
  • DocumentMemorySkill removed
  • SematicChatMeorySkill removed
  • Core OCR moved to memory-service
  • Orphaned options removed
  • Support for Postgres and Chroma storage removed (for now)
  • Workflows and deployment scripts updated

Examples:

Screenshot 2023-09-18 090927
image
image
image
image
image

Contribution Checklist

TaoChenOSU and others added 10 commits August 3, 2023 13:41
### Motivation and Context

<!-- Thank you for your contribution to the copilot-chat repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [ ] The code builds clean without any errors or warnings
- [ ] The PR follows the [Contribution
Guidelines](https://github.com/microsoft/copilot-chat/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/copilot-chat/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [ ] All unit tests pass, and I have added new tests where possible
- [ ] I didn't break anyone 😄
### Motivation and Context

<!-- Thank you for your contribution to the copilot-chat repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

1. Rename project from SemanticMemoryPipelineService to
CopilotChatMemoryPipeline.
2. SemanticMemory.Service to CopilotChat.MemoryPipeline.
3. Remove nuget.config.

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [ ] The code builds clean without any errors or warnings
- [ ] The PR follows the [Contribution
Guidelines](https://github.com/microsoft/copilot-chat/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/copilot-chat/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [ ] All unit tests pass, and I have added new tests where possible
- [ ] I didn't break anyone 😄
@github-actions github-actions Bot added webapp Pull requests that update Typescript code webapi Pull requests that update .net code PR: ready for review github actions Pull requests that update GitHub Actions code labels Aug 11, 2023
@crickman crickman added enhancement New feature or request and removed PR: ready for review github actions Pull requests that update GitHub Actions code labels Aug 11, 2023
@crickman crickman temporarily deployed to feature-semantic-memory August 11, 2023 05:58 — with GitHub Actions Inactive
@github-actions github-actions Bot added PR: ready for review github actions Pull requests that update GitHub Actions code labels Aug 11, 2023
@crickman crickman added preview Not even close to completed and removed PR: ready for review github actions Pull requests that update GitHub Actions code labels Aug 11, 2023
@crickman crickman temporarily deployed to feature-semantic-memory August 11, 2023 06:00 — with GitHub Actions Inactive
@kbeaugrand
Copy link
Copy Markdown
Contributor

Hi,

One question regarding this PR. By moving to semantic-memory, you remove the possibility to add new connectors directly to chat-copilot right?

We would only be able to use already implemented connectors in semantic-memory, if we want to leverage on other database, third-party connectors might be difficult to add in that case...

@crickman
Copy link
Copy Markdown
Contributor Author

crickman commented Sep 19, 2023

Hi,

One question regarding this PR. By moving to semantic-memory, you remove the possibility to add new connectors directly to chat-copilot right?

We would only be able to use already implemented connectors in semantic-memory, if we want to leverage on other database, third-party connectors might be difficult to add in that case...

This is correct. In fact, due to a lack in parity we are temporarilly regressing support for Postgres and Chroma connectors. I expect the memory-service to quickly match parity with what is currently supported in sk. As the memory-service evolves to support more complex scenarios, then the value proposition may be quite a bit higher than the connector model.

But, yes, utimately chat-copilot will no longer make use of the ISemanticTextMemory interface.

@crickman crickman mentioned this pull request Sep 19, 2023
4 tasks
crickman and others added 12 commits September 19, 2023 10:56
### Motivation and Context

Break-out memory migration work for ease of review

### Description

One-time migration of all chat memory (working and long-term).
Removes all memory sources from storage


![image](https://github.com/microsoft/chat-copilot/assets/66376200/b24aa63e-4fb7-49f3-b243-22843624aa5e)

Needs to be able to create two (x2) indexes.

To reset migration, just remove `chatmemory` and `global-documents`

Pushed targeted fixes in
#365

### Contribution Checklist

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [Contribution
Guidelines](https://github.com/microsoft/chat-copilot/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/chat-copilot/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄
alliscode
alliscode previously approved these changes Sep 20, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

deployment Issues related to deploying Chat-Copilot documentation Improvements or additions to documentation enhancement New feature or request github actions Pull requests that update GitHub Actions code PR: breaking change Pull requests that introduce breaking changes preview Not even close to completed webapi Pull requests that update .net code webapp Pull requests that update Typescript code

Projects

No open projects

Development

Successfully merging this pull request may close these issues.

Chat Copilot: Add support for Semantic Memory Handle TODOs for upload/download bot

7 participants