diff --git a/.dotnet/CHANGELOG.md b/.dotnet/CHANGELOG.md index 1ec332c88..60e7098ba 100644 --- a/.dotnet/CHANGELOG.md +++ b/.dotnet/CHANGELOG.md @@ -4,7 +4,13 @@ ### Features Added -- Added `OpenAIAudioModelFactory`, `OpenAIEmbeddingsModelFactory`, and `OpenAIImagesModelFactory` static classes to the `Audio`, `Embeddings`, and `Images` namespaces, respectively. Model factories can be used to instantiate OpenAI models for mocking in non-live test scenarios. +- Added the following model factories (static classes that can be used to instantiate OpenAI models for mocking in non-live test scenarios): + - `OpenAIAudioModelFactory` in the `OpenAI.Audio` namespace + - `OpenAIEmbeddingsModelFactory` in the `OpenAI.Embeddings` namespace + - `OpenAIFilesModelFactory` in the `OpenAI.Files` namespace + - `OpenAIImagesModelFactory` in the `OpenAI.Images` namespace + - `OpenAIModelsModelFactory` in the `OpenAI.Models` namespace + - `OpenAIModerationsModelFactory` in the `OpenAI.Moderations` namespace ### Breaking Changes diff --git a/.dotnet/api/OpenAI.netstandard2.0.cs b/.dotnet/api/OpenAI.netstandard2.0.cs index 2504700eb..9937bf300 100644 --- a/.dotnet/api/OpenAI.netstandard2.0.cs +++ b/.dotnet/api/OpenAI.netstandard2.0.cs @@ -1711,6 +1711,10 @@ public class OpenAIFileInfoCollection : ObjectModel.ReadOnlyCollection items = null); + } public readonly partial struct OpenAIFileStatus : IEquatable { private readonly object _dummy; private readonly int _dummyPrimitive; @@ -1927,6 +1931,10 @@ public class OpenAIModelInfoCollection : ObjectModel.ReadOnlyCollection.GetFormatFromOptions(ModelReaderWriterOptions options); BinaryData IPersistableModel.Write(ModelReaderWriterOptions options); } + public static class OpenAIModelsModelFactory { + public static OpenAIModelInfo OpenAIModelInfo(string id = null, DateTimeOffset createdAt = default, string ownedBy = null); + public static OpenAIModelInfoCollection OpenAIModelInfoCollection(IEnumerable items = null); + } } namespace OpenAI.Moderations { public class ModerationCategories : IJsonModel, IPersistableModel { @@ -1999,6 +2007,12 @@ public class ModerationResult : IJsonModel, IPersistableModel< string IPersistableModel.GetFormatFromOptions(ModelReaderWriterOptions options); BinaryData IPersistableModel.Write(ModelReaderWriterOptions options); } + public static class OpenAIModerationsModelFactory { + public static ModerationCategories ModerationCategories(bool hate = false, bool hateThreatening = false, bool harassment = false, bool harassmentThreatening = false, bool selfHarm = false, bool selfHarmIntent = false, bool selfHarmInstructions = false, bool sexual = false, bool sexualMinors = false, bool violence = false, bool violenceGraphic = false); + public static ModerationCategoryScores ModerationCategoryScores(float hate = 0, float hateThreatening = 0, float harassment = 0, float harassmentThreatening = 0, float selfHarm = 0, float selfHarmIntent = 0, float selfHarmInstructions = 0, float sexual = 0, float sexualMinors = 0, float violence = 0, float violenceGraphic = 0); + public static ModerationCollection ModerationCollection(string id = null, string model = null, IEnumerable items = null); + public static ModerationResult ModerationResult(bool flagged = false, ModerationCategories categories = null, ModerationCategoryScores categoryScores = null); + } } namespace OpenAI.VectorStores { public abstract class FileChunkingStrategy : IJsonModel, IPersistableModel {