Skip to content

Bring Azure OpenAI code in sync with Azure repo#14

Closed
ralph-msft wants to merge 197 commits intobterlson:mainfrom
joseharriaga:ralphe/tweak_to_simplify_dev_and_merges
Closed

Bring Azure OpenAI code in sync with Azure repo#14
ralph-msft wants to merge 197 commits intobterlson:mainfrom
joseharriaga:ralphe/tweak_to_simplify_dev_and_merges

Conversation

@ralph-msft
Copy link
Copy Markdown

  • Refactors the code to bring the directory structure in sync with what we have in the Azure repo
  • Updates the Azure OpenAI code with all changes from the Azure repo
  • Brings over the Azure OpenAI test suite to allow for full testing in this repo (including support for recording/playback of requests)
  • Fixes a regression introduced with the latest FineTuningClient pagination changes

joseharriaga and others added 30 commits February 6, 2024 14:59
…it Update-ClietModel.ps1 script to System.ClientModel 1.1.0-alpha.20240227.1
- Fix issue in AssistantClient where `SubmitToolOutputsAsync` was not returning a `ThreadRun` as it should.
- Add missing async sample for function calling
- Clean up function calling samples to make them more genuine
The objective is to eventually stop depending on these scripts and remove them entirely. With this in mind, I refactored the scripts to split them into smaller parts so that it's easier to remove them incrementally.
* Exposed missing protocol methods publicly
* Removed protocol methods that use multipart/form-data for now (`TranscribeAudio`, `TranslateAudio`, `UploadFile`, `GenerateImageEdit`, and `GenerateImageVariation`)
* Removed `[EditorBrowsable(EditorBrowsableState.Never)]` attribute from existing protocol methods that do not have a convenience method counterpart
* Renamed `RequestOptions` parameter from "context" to "options" in existing protocol methods
* Added missing `async` keyword to existing protocol methods when applicable (also `await` and `.ConfigureAwait(false)`)
* Added doc comments to protocol methods
* Created the `FineTuningClient` to organize the library in a way that aligns more closely to OpenAI's REST API and documentation
* Made a small fix to the fine-tuning TypeSpec (the `limit` query parameter should be defined as an `int32`)
Implement support for image edits and variations as convenience methods that do multipart/form-data.
Making sure that the README is up-to-date with the latest samples.
Due to our codegen workarounds, we cannot have a method with the following signature in the custom public `OpenAIClient` class:

```csharp
public FineTuningClient GetFineTuningClient()
```

This is because we need codegen to generate a different method that happens to have this same signature in the generated internal `OpenAIClient` class. Because making the generated `OpenAIClient` class internal is part of post-codegen processing, codegen has no way to know that these two are not the same class, so it skips generating the method thinking it has been customized instead. 

For now, we rename the `FineTuningClient` to `FineTuningManagementClient` to avoid this conflict. We will be able to fix it once we have codegen customizations available.
joseharriaga and others added 29 commits August 9, 2024 16:41
* Fix typo in AssistantTests
* Fix model name in telemetry tests
* Export API listing to include model factory APIs
…k with "true" (#205)

* PS deserialization fixup

* removing unintentionally included and incomplete extra test file
* restore clean run-checks and make it run with CI

* GitHub action: prepend dot slash for pwsh
* Export API with model factory changes

* Amend CHANGELOG
#201)

- Removed client constructors that do not explicitly take an API key parameter or an endpoint via an `OpenAIClientOptions` parameter, making it clearer how to appropriately instantiate a client.
- Removed the endpoint parameter from all client constructors, making it clearer that an alternative endpoint must be specified via the `OpenAIClientOptions` parameter.
- Removed `OpenAIClient`'s `Endpoint` `protected` property. 
- Made `OpenAIClient`'s constructor that takes a `ClientPipeline` parameter `protected internal` instead of just `protected`.
…202)

Renamed the `User` property in applicable Options classes to `EndUserId`, making its purpose clearer.
This is a placeholder. The test code will be replaced with a version that does not have an Azure.Core.TestFramework dependency soon.
…#214)

* minimal public api with full spec update

* refusal rename, remove init

* refusal tests

* add missing refusal parameter to factory

* response format update

* updates

* greatly expanded tool test

* minor changelog updates

* PR feedback

* content part updates to address refusal and future-proof

* minor changelog update

* superficial refactor

* minor: api updated (protected only)

* pr feedback including null content fix
Renamed `AudioClient`'s `GenerateSpeechFromText` methods to simply `GenerateSpeech`.
…rties (#208)

Use `AssertNotFrozen()` in the setters of `OpenAIClientOptions` properties to help users understand that setting these properties after the client has been instantiated has no effect on it.
* add roger's fix and a test for options bug

* changelog
…ion pattern (#197)

Move service methods for paginated endpoints to use SCM based pagination pattern
…222)

* reflect 2.0.0-beta.10

* fix changelog

* touchup changelog
Co-authored-by: ShivangiReja <shivangi.reja@microsoft.com>
@ralph-msft ralph-msft closed this Aug 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants