public sealed class CustomTuningModel : IMessage<CustomTuningModel>, IEquatable<CustomTuningModel>, IDeepCloneable<CustomTuningModel>, IBufferMessage, IMessage
Reference documentation and code samples for the Discovery Engine v1beta API class CustomTuningModel.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["\u003cp\u003e\u003ccode\u003eCustomTuningModel\u003c/code\u003e is a class in the Discovery Engine v1beta API, used for representing and managing custom tuned models.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eCustomTuningModel\u003c/code\u003e class implements several interfaces including \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, \u003ccode\u003eIDeepCloneable\u003c/code\u003e, and \u003ccode\u003eIBufferMessage\u003c/code\u003e, enhancing its functionality and usability within the .NET framework.\u003c/p\u003e\n"],["\u003cp\u003eIt offers constructors for creating new instances, either empty or by copying another \u003ccode\u003eCustomTuningModel\u003c/code\u003e instance, and several properties that include \u003ccode\u003eCreateTime\u003c/code\u003e, \u003ccode\u003eCustomTuningModelName\u003c/code\u003e, \u003ccode\u003eDisplayName\u003c/code\u003e, \u003ccode\u003eErrorMessage\u003c/code\u003e, \u003ccode\u003eMetrics\u003c/code\u003e, \u003ccode\u003eModelState\u003c/code\u003e, \u003ccode\u003eModelVersion\u003c/code\u003e, \u003ccode\u003eName\u003c/code\u003e, and \u003ccode\u003eTrainingStartTime\u003c/code\u003e to define it.\u003c/p\u003e\n"],["\u003cp\u003eThe class contains a \u003ccode\u003eModelState\u003c/code\u003e property indicating the current status of the model, such as \u003ccode\u003eTRAINING\u003c/code\u003e or \u003ccode\u003eTRAINING_FAILED\u003c/code\u003e, and an \u003ccode\u003eErrorMessage\u003c/code\u003e property to be used if the model state is \u003ccode\u003eINPUT_VALIDATION_FAILED\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eName\u003c/code\u003e property is required and defines the model's fully qualified resource name following a specific format which is \u003ccode\u003eprojects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/customTuningModels/{custom_tuning_model}\u003c/code\u003e.\u003c/p\u003e\n"]]],[],null,["# Discovery Engine v1beta API - Class CustomTuningModel (1.0.0-beta19)\n\nVersion latestkeyboard_arrow_down\n\n- [1.0.0-beta19 (latest)](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/latest/Google.Cloud.DiscoveryEngine.V1Beta.CustomTuningModel)\n- [1.0.0-beta18](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/1.0.0-beta18/Google.Cloud.DiscoveryEngine.V1Beta.CustomTuningModel) \n\n public sealed class CustomTuningModel : IMessage\u003cCustomTuningModel\u003e, IEquatable\u003cCustomTuningModel\u003e, IDeepCloneable\u003cCustomTuningModel\u003e, IBufferMessage, IMessage\n\nReference documentation and code samples for the Discovery Engine v1beta API class CustomTuningModel.\n\nMetadata that describes a custom tuned model. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e CustomTuningModel \n\nImplements\n----------\n\n[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[CustomTuningModel](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/latest/Google.Cloud.DiscoveryEngine.V1Beta.CustomTuningModel), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[CustomTuningModel](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/latest/Google.Cloud.DiscoveryEngine.V1Beta.CustomTuningModel), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[CustomTuningModel](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/latest/Google.Cloud.DiscoveryEngine.V1Beta.CustomTuningModel), [IBufferMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IBufferMessage.html), [IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage.html) \n\nInherited Members\n-----------------\n\n[object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode) \n[object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype) \n[object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)\n\nNamespace\n---------\n\n[Google.Cloud.DiscoveryEngine.V1Beta](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/latest/Google.Cloud.DiscoveryEngine.V1Beta)\n\nAssembly\n--------\n\nGoogle.Cloud.DiscoveryEngine.V1Beta.dll\n\nConstructors\n------------\n\n### CustomTuningModel()\n\n public CustomTuningModel()\n\n### CustomTuningModel(CustomTuningModel)\n\n public CustomTuningModel(CustomTuningModel other)\n\nProperties\n----------\n\n### CreateTime\n\n [Obsolete]\n public Timestamp CreateTime { get; set; }\n\nDeprecated: Timestamp the Model was created at.\n\n### CustomTuningModelName\n\n public CustomTuningModelName CustomTuningModelName { get; set; }\n\n[CustomTuningModelName](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/latest/Google.Cloud.DiscoveryEngine.V1Beta.CustomTuningModelName)-typed view over the [Name](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1Beta/latest/Google.Cloud.DiscoveryEngine.V1Beta.CustomTuningModel#Google_Cloud_DiscoveryEngine_V1Beta_CustomTuningModel_Name) resource name property.\n\n### DisplayName\n\n public string DisplayName { get; set; }\n\nThe display name of the model.\n\n### ErrorMessage\n\n public string ErrorMessage { get; set; }\n\nCurrently this is only populated if the model state is\n`INPUT_VALIDATION_FAILED`.\n\n### Metrics\n\n public MapField\u003cstring, double\u003e Metrics { get; }\n\nThe metrics of the trained model.\n\n### ModelState\n\n public CustomTuningModel.Types.ModelState ModelState { get; set; }\n\nThe state that the model is in (e.g.`TRAINING` or `TRAINING_FAILED`).\n\n### ModelVersion\n\n public long ModelVersion { get; set; }\n\nThe version of the model.\n\n### Name\n\n public string Name { get; set; }\n\nRequired. The fully qualified resource name of the model.\n\nFormat:\n`projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/customTuningModels/{custom_tuning_model}`.\n\nModel must be an alpha-numerical string with limit of 40 characters.\n\n### TrainingStartTime\n\n public Timestamp TrainingStartTime { get; set; }\n\nTimestamp the model training was initiated."]]