Skip to content

New nugets (Abstractions, Connectors.AI.OpenAI); add AAD auth, Azure ChatGPT, text+chat streaming#420

Merged
dluc merged 1 commit intomicrosoft:mainfrom
dluc:dluc112azure.net20
Apr 14, 2023
Merged

New nugets (Abstractions, Connectors.AI.OpenAI); add AAD auth, Azure ChatGPT, text+chat streaming#420
dluc merged 1 commit intomicrosoft:mainfrom
dluc:dluc112azure.net20

Conversation

@dluc
Copy link
Contributor

@dluc dluc commented Apr 12, 2023

Motivation and Context

New features:

  • AAD auth for Azure OpenAI
  • Azure ChatGPT
  • Completion streaming
  • Chat streaming
  • log probs

Description

  • Split kernel core nuget in 3 nugets and add dependency on Azure OpenAI SDK:
    • MS.SK.Abstractions: interfaces and common classes, ideally no business logic
    • MS.SK: SK runtime, depends on SK.Abstractions
    • MS.SK.Connectors.AI.OpenAI: OpenAI/Azure OpenAI code, depends on SK.Abstractions and Azure OpenAI SDK
  • Rewrote TextCompletion, ChatCompletion, EmbeddingGeneration clients to use Azure OpenAI SDK
  • Deleted unused code. The old OpenAI client is still in use only for DALL-E2

Note: custom retry logic doesn't work with Azure OpenAI SDK. The SDK already retries internally, using a different approach.

Nugets:

  • Microsoft.SemanticKernel.0.12.0.nupkg
  • Microsoft.SemanticKernel.Abstractions.0.12.0.nupkg
  • Microsoft.SemanticKernel.Connectors.AI.OpenAI.0.12.0.nupkg
  • Microsoft.SemanticKernel.Connectors.Memory.Qdrant.0.12.0.nupkg
  • Microsoft.SemanticKernel.Connectors.Memory.Sqlite.0.12.0.nupkg
  • Microsoft.SemanticKernel.Skills.MsGraph.0.12.0.nupkg
  • Microsoft.SemanticKernel.Skills.Document.0.12.0.nupkg
  • Microsoft.SemanticKernel.Skills.OpenAPI.0.12.0.nupkg
  • Microsoft.SemanticKernel.Skills.Web.0.12.0.nupkg

Quick overview about the nugets organization:

image

@dluc dluc force-pushed the dluc112azure.net20 branch from 9849927 to 328f44f Compare April 12, 2023 00:18
@dluc dluc requested a review from shawncal April 12, 2023 00:19
@dluc dluc force-pushed the dluc112azure.net20 branch 2 times, most recently from bcbe730 to 35256fb Compare April 12, 2023 00:51
SergeyMenshykh
SergeyMenshykh previously approved these changes Apr 12, 2023
shawncal
shawncal previously approved these changes Apr 12, 2023
@dluc dluc added the PR: in progress Under development and/or addressing feedback label Apr 12, 2023
@dluc dluc dismissed stale reviews from SergeyMenshykh and shawncal via 0e61506 April 14, 2023 03:34
@dluc dluc force-pushed the dluc112azure.net20 branch 7 times, most recently from 478d463 to debf4ce Compare April 14, 2023 07:06
@dluc dluc added PR: ready for review All feedback addressed, ready for reviews and removed PR: in progress Under development and/or addressing feedback labels Apr 14, 2023
@dluc dluc changed the title New nugets: Abstractions and AI.OpenAI New nugets (Abstractions, Connectors.AI.OpenAI); add streaming; add AAD auth; add Azure ChatGPT Apr 14, 2023
@dluc dluc force-pushed the dluc112azure.net20 branch from debf4ce to e8625e2 Compare April 14, 2023 07:26
@dluc dluc changed the title New nugets (Abstractions, Connectors.AI.OpenAI); add streaming; add AAD auth; add Azure ChatGPT New nugets (Abstractions, Connectors.AI.OpenAI); add AAD auth, Azure ChatGPT, text+chat streaming Apr 14, 2023
@dluc
Copy link
Contributor Author

dluc commented Apr 14, 2023

Nugets tested on a new console app.

@dluc dluc force-pushed the dluc112azure.net20 branch from e8625e2 to 8b58470 Compare April 14, 2023 07:48
@SergeyMenshykh SergeyMenshykh added PR: feedback to address Waiting for PR owner to address comments/questions and removed PR: ready for review All feedback addressed, ready for reviews labels Apr 14, 2023
@dluc dluc force-pushed the dluc112azure.net20 branch from 8b58470 to 80bd979 Compare April 14, 2023 16:39
@dluc dluc force-pushed the dluc112azure.net20 branch 3 times, most recently from 96b17e8 to 31ffc27 Compare April 14, 2023 18:30
@dluc dluc added PR: ready for review All feedback addressed, ready for reviews and removed PR: feedback to address Waiting for PR owner to address comments/questions labels Apr 14, 2023
@dluc dluc force-pushed the dluc112azure.net20 branch from 31ffc27 to 7b0e643 Compare April 14, 2023 18:43
shawncal
shawncal previously approved these changes Apr 14, 2023
@dluc dluc force-pushed the dluc112azure.net20 branch 6 times, most recently from 2a8c97d to 96a8fe6 Compare April 14, 2023 19:30
@dluc dluc force-pushed the dluc112azure.net20 branch from 96a8fe6 to 3b81583 Compare April 14, 2023 19:34
@dluc dluc merged commit 8621c7b into microsoft:main Apr 14, 2023
@dluc dluc deleted the dluc112azure.net20 branch April 14, 2023 19:40
@dluc dluc mentioned this pull request Apr 14, 2023
5 tasks
lemillermicrosoft added a commit that referenced this pull request May 19, 2023
### Motivation and Context
#420 skipped retry tests for OpenAI. It was noted that Azure SDK was an
issue, however, I added a test for Azure OpenAI and it passes as
expected as well. I know there are changes coming in the area. I'd like
to re-enable the tests since they are passing to make sure functionality
remains intact as design changes.

### Description
Enable the previous test and clone for Azure OpenAI.
dehoward pushed a commit to lemillermicrosoft/semantic-kernel that referenced this pull request Jun 1, 2023
…ChatGPT, text+chat streaming (microsoft#420)

### Motivation and Context

New features:
* AAD auth for Azure OpenAI
* Azure ChatGPT
* Completion streaming
* Chat streaming
* log probs

### Description

* Split kernel core nuget in 3 nugets and add dependency on Azure OpenAI
SDK:
* MS.SK.Abstractions: interfaces and common classes, ideally no business
logic
  * MS.SK: SK runtime, depends on SK.Abstractions
* MS.SK.Connectors.AI.OpenAI: OpenAI/Azure OpenAI code, depends on
SK.Abstractions and Azure OpenAI SDK
* Rewrote TextCompletion, ChatCompletion, EmbeddingGeneration clients to
use Azure OpenAI SDK
* Deleted unused code. The old OpenAI client is still in use only for
DALL-E2

Note: custom retry logic doesn't work with Azure OpenAI SDK. The SDK
already retries internally, using a different approach.

Nugets:
* Microsoft.SemanticKernel.0.12.0.nupkg
* **Microsoft.SemanticKernel.Abstractions.0.12.0.nupkg**
* **Microsoft.SemanticKernel.Connectors.AI.OpenAI.0.12.0.nupkg**
* Microsoft.SemanticKernel.Connectors.Memory.Qdrant.0.12.0.nupkg
* Microsoft.SemanticKernel.Connectors.Memory.Sqlite.0.12.0.nupkg
* Microsoft.SemanticKernel.Skills.MsGraph.0.12.0.nupkg
* Microsoft.SemanticKernel.Skills.Document.0.12.0.nupkg
* Microsoft.SemanticKernel.Skills.OpenAPI.0.12.0.nupkg
* Microsoft.SemanticKernel.Skills.Web.0.12.0.nupkg
shawncal pushed a commit to shawncal/semantic-kernel that referenced this pull request Jul 6, 2023
### Motivation and Context
microsoft#420 skipped retry tests for OpenAI. It was noted that Azure SDK was an
issue, however, I added a test for Azure OpenAI and it passes as
expected as well. I know there are changes coming in the area. I'd like
to re-enable the tests since they are passing to make sure functionality
remains intact as design changes.

### Description
Enable the previous test and clone for Azure OpenAI.
golden-aries pushed a commit to golden-aries/semantic-kernel that referenced this pull request Oct 10, 2023
…ChatGPT, text+chat streaming (microsoft#420)

### Motivation and Context

New features:
* AAD auth for Azure OpenAI
* Azure ChatGPT
* Completion streaming
* Chat streaming
* log probs

### Description

* Split kernel core nuget in 3 nugets and add dependency on Azure OpenAI
SDK:
* MS.SK.Abstractions: interfaces and common classes, ideally no business
logic
  * MS.SK: SK runtime, depends on SK.Abstractions
* MS.SK.Connectors.AI.OpenAI: OpenAI/Azure OpenAI code, depends on
SK.Abstractions and Azure OpenAI SDK
* Rewrote TextCompletion, ChatCompletion, EmbeddingGeneration clients to
use Azure OpenAI SDK
* Deleted unused code. The old OpenAI client is still in use only for
DALL-E2

Note: custom retry logic doesn't work with Azure OpenAI SDK. The SDK
already retries internally, using a different approach.

Nugets:
* Microsoft.SemanticKernel.0.12.0.nupkg
* **Microsoft.SemanticKernel.Abstractions.0.12.0.nupkg**
* **Microsoft.SemanticKernel.Connectors.AI.OpenAI.0.12.0.nupkg**
* Microsoft.SemanticKernel.Connectors.Memory.Qdrant.0.12.0.nupkg
* Microsoft.SemanticKernel.Connectors.Memory.Sqlite.0.12.0.nupkg
* Microsoft.SemanticKernel.Skills.MsGraph.0.12.0.nupkg
* Microsoft.SemanticKernel.Skills.Document.0.12.0.nupkg
* Microsoft.SemanticKernel.Skills.OpenAPI.0.12.0.nupkg
* Microsoft.SemanticKernel.Skills.Web.0.12.0.nupkg
golden-aries pushed a commit to golden-aries/semantic-kernel that referenced this pull request Oct 24, 2023
### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->
Address code scanning alert by sanitizing the `memoryType` parameter in
`ChatMemoryController` before logging.

### Contribution Checklist

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

- [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 😄
johnoliver pushed a commit to johnoliver/semantic-kernel that referenced this pull request Jun 5, 2024
…ChatGPT, text+chat streaming (microsoft#420)

### Motivation and Context

New features:
* AAD auth for Azure OpenAI
* Azure ChatGPT
* Completion streaming
* Chat streaming
* log probs

### Description

* Split kernel core nuget in 3 nugets and add dependency on Azure OpenAI
SDK:
* MS.SK.Abstractions: interfaces and common classes, ideally no business
logic
  * MS.SK: SK runtime, depends on SK.Abstractions
* MS.SK.Connectors.AI.OpenAI: OpenAI/Azure OpenAI code, depends on
SK.Abstractions and Azure OpenAI SDK
* Rewrote TextCompletion, ChatCompletion, EmbeddingGeneration clients to
use Azure OpenAI SDK
* Deleted unused code. The old OpenAI client is still in use only for
DALL-E2

Note: custom retry logic doesn't work with Azure OpenAI SDK. The SDK
already retries internally, using a different approach.

Nugets:
* Microsoft.SemanticKernel.0.12.0.nupkg
* **Microsoft.SemanticKernel.Abstractions.0.12.0.nupkg**
* **Microsoft.SemanticKernel.Connectors.AI.OpenAI.0.12.0.nupkg**
* Microsoft.SemanticKernel.Connectors.Memory.Qdrant.0.12.0.nupkg
* Microsoft.SemanticKernel.Connectors.Memory.Sqlite.0.12.0.nupkg
* Microsoft.SemanticKernel.Skills.MsGraph.0.12.0.nupkg
* Microsoft.SemanticKernel.Skills.Document.0.12.0.nupkg
* Microsoft.SemanticKernel.Skills.OpenAPI.0.12.0.nupkg
* Microsoft.SemanticKernel.Skills.Web.0.12.0.nupkg
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

PR: ready for review All feedback addressed, ready for reviews

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants