Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

.Net: Why do AzureTextCompletion and OpenAITextCompletion exist? #3154

Closed
Tracked by #3134
stephentoub opened this issue Oct 11, 2023 · 6 comments
Closed
Tracked by #3134

.Net: Why do AzureTextCompletion and OpenAITextCompletion exist? #3154

stephentoub opened this issue Oct 11, 2023 · 6 comments
Assignees
Labels
kernel Issues or pull requests impacting the core kernel sk team issue A tag to denote issues that where created by the Semantic Kernel team (i.e., not the community)
Milestone

Comments

@stephentoub
Copy link
Member

stephentoub commented Oct 11, 2023

Important

Labeled Urgent because it may require a breaking change if we should remove OpenAITextCompletion.

As far as I can tell, its functionality is 100% available via AzureChatCompletion. Why do we have both?

Same question for OpenAITextCompletion and OpenAIChatCompletion

@matthewbolanos matthewbolanos self-assigned this Oct 11, 2023
@matthewbolanos matthewbolanos changed the title Why do AzureTextCompletion and OpenAITextCompletion exist? .Net: Why do AzureTextCompletion and OpenAITextCompletion exist? Oct 11, 2023
@matthewbolanos matthewbolanos added kernel Issues or pull requests impacting the core kernel kernel.core and removed triage labels Oct 11, 2023
@dmytrostruk
Copy link
Member

@stephentoub These were initial classes to interact with Azure OpenAI/OpenAI models. When Chat API became available, we also added new classes to support chat functionality.

Now, since OpenAI text completion API will be deprecated, we will need to do the same for text completion classes (i.e. mark them with Obsolete flags, give some time for users to replace them with Chat classes, then remove them).

@stephentoub
Copy link
Member Author

Now, since OpenAI text completion API will be deprecated, we will need to do the same for text completion classes

Even if they weren't being deprecated, though, the chat completion classes are pure supersets of the text completion ones: as far as I can tell, they share the exact same implementation for the text completion functionality and then the chat types add more. So there's zero need for the text completion ones, functionally.

Regardless, I'm glad to hear they're going away.

@matthewbolanos
Copy link
Member

Per conversation, consider deprecating the AzureTextCompletion and OpenAITextCompletion connectors in favor of just having everyone use the Chat Completion versions.

@matthewbolanos matthewbolanos added this to the v1.0.0 milestone Oct 12, 2023
@dmytrostruk dmytrostruk moved this to Sprint: Planned in Semantic Kernel Oct 16, 2023
@evchaki evchaki added the sk team issue A tag to denote issues that where created by the Semantic Kernel team (i.e., not the community) label Oct 19, 2023
@dmytrostruk dmytrostruk moved this from Sprint: Planned to Sprint: In Review in Semantic Kernel Nov 6, 2023
@markwallace-microsoft markwallace-microsoft self-assigned this Nov 13, 2023
@markwallace-microsoft markwallace-microsoft added v1.0.1 Required for the Semantic Kernel v1.0.1 release v1 bugbash labels Dec 5, 2023
@dmytrostruk dmytrostruk moved this from Sprint: In Review to Sprint: In Progress in Semantic Kernel Dec 11, 2023
@matthewbolanos
Copy link
Member

At the very least, we should add the experimental tag to these.

@stephentoub
Copy link
Member Author

stephentoub commented Dec 12, 2023

At the very least, we should add the experimental tag to these.

Why not just delete them? Specifically what benefit at all do they add? As far as I can tell, there's literally nothing you can do with them you can't do with the other types.

@dmytrostruk
Copy link
Member

At the very least, we should add the experimental tag to these.

Why not just delete them? Specifically what benefit at all do they add? As far as I can tell, there's literally nothing you can do with them you can't do with the other types.

@stephentoub A couple of weeks ago I tried to remove them and change all integration tests to use chat completion models and it appeared that there is some overload on Azure/OpenAI endpoints when all tests start to use just chat completion endpoint. Since our code changed a lot, I will try to do that again and see if our tests will pass successfully. In the future, we will improve our testing infrastructure and add some load balancing to avoid such issues. The final goal is still to remove text completion services, it's in progress now.

@dmytrostruk dmytrostruk moved this from Sprint: In Progress to Sprint: Planned in Semantic Kernel Dec 15, 2023
@dmytrostruk dmytrostruk removed the v1.0.1 Required for the Semantic Kernel v1.0.1 release label Dec 15, 2023
@github-project-automation github-project-automation bot moved this from Sprint: Planned to Sprint: Done in Semantic Kernel Dec 17, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kernel Issues or pull requests impacting the core kernel sk team issue A tag to denote issues that where created by the Semantic Kernel team (i.e., not the community)
Projects
Archived in project
6 participants