public sealed class TrainCustomModelRequest.Types.GcsTrainingInput : IMessage<TrainCustomModelRequest.Types.GcsTrainingInput>, IEquatable<TrainCustomModelRequest.Types.GcsTrainingInput>, IDeepCloneable<TrainCustomModelRequest.Types.GcsTrainingInput>, IBufferMessage, IMessage
Reference documentation and code samples for the Discovery Engine v1 API class TrainCustomModelRequest.Types.GcsTrainingInput.
The Cloud Storage corpus data which could be associated in train data.
The data path format is gs://<bucket_to_data>/<jsonl_file_name>.
A newline delimited jsonl/ndjson file.
For search-tuning model, each line should have the _id, title
and text. Example:
{"_id": "doc1", title: "relevant doc", "text": "relevant text"}
The gcs query data which could be associated in train data.
The data path format is gs://<bucket_to_data>/<jsonl_file_name>.
A newline delimited jsonl/ndjson file.
For search-tuning model, each line should have the _id
and text. Example: {"_id": "query1", "text": "example query"}
Cloud Storage training data path whose format should be
gs://<bucket_to_data>/<tsv_file_name>. The file should be in tsv
format. Each line should have the doc_id and query_id and score (number).
For search-tuning model, it should have the query-id corpus-id
score as tsv file header. The score should be a number in [0, inf+).
The larger the number is, the more relevant the pair is. Example:
[[["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\u003eThe latest version of the \u003ccode\u003eTrainCustomModelRequest.Types.GcsTrainingInput\u003c/code\u003e class is 1.6.0, which is part of the Google Cloud Discovery Engine v1 API.\u003c/p\u003e\n"],["\u003cp\u003eThis class represents the input for Cloud Storage training data, utilizing data paths in the format \u003ccode\u003egs://<bucket_to_data>/<file_name>\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eIt implements multiple interfaces, including \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, \u003ccode\u003eIDeepCloneable\u003c/code\u003e, and \u003ccode\u003eIBufferMessage\u003c/code\u003e, for data handling and comparison.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eGcsTrainingInput\u003c/code\u003e can be constructed with default values or by cloning another instance of the same type.\u003c/p\u003e\n"],["\u003cp\u003eKey properties include \u003ccode\u003eCorpusDataPath\u003c/code\u003e, \u003ccode\u003eQueryDataPath\u003c/code\u003e, \u003ccode\u003eTestDataPath\u003c/code\u003e, and \u003ccode\u003eTrainDataPath\u003c/code\u003e, all of which specify Cloud Storage file paths for different types of training data inputs.\u003c/p\u003e\n"]]],[],null,["# Discovery Engine v1 API - Class TrainCustomModelRequest.Types.GcsTrainingInput (1.9.0)\n\nVersion latestkeyboard_arrow_down\n\n- [1.9.0 (latest)](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/latest/Google.Cloud.DiscoveryEngine.V1.TrainCustomModelRequest.Types.GcsTrainingInput)\n- [1.8.0](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/1.8.0/Google.Cloud.DiscoveryEngine.V1.TrainCustomModelRequest.Types.GcsTrainingInput)\n- [1.7.0](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/1.7.0/Google.Cloud.DiscoveryEngine.V1.TrainCustomModelRequest.Types.GcsTrainingInput)\n- [1.6.0](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/1.6.0/Google.Cloud.DiscoveryEngine.V1.TrainCustomModelRequest.Types.GcsTrainingInput)\n- [1.5.0](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/1.5.0/Google.Cloud.DiscoveryEngine.V1.TrainCustomModelRequest.Types.GcsTrainingInput)\n- [1.4.0](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/1.4.0/Google.Cloud.DiscoveryEngine.V1.TrainCustomModelRequest.Types.GcsTrainingInput)\n- [1.3.0](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/1.3.0/Google.Cloud.DiscoveryEngine.V1.TrainCustomModelRequest.Types.GcsTrainingInput)\n- [1.2.0](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/1.2.0/Google.Cloud.DiscoveryEngine.V1.TrainCustomModelRequest.Types.GcsTrainingInput)\n- [1.1.0](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/1.1.0/Google.Cloud.DiscoveryEngine.V1.TrainCustomModelRequest.Types.GcsTrainingInput)\n- [1.0.0-beta06](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/1.0.0-beta06/Google.Cloud.DiscoveryEngine.V1.TrainCustomModelRequest.Types.GcsTrainingInput) \n\n public sealed class TrainCustomModelRequest.Types.GcsTrainingInput : IMessage\u003cTrainCustomModelRequest.Types.GcsTrainingInput\u003e, IEquatable\u003cTrainCustomModelRequest.Types.GcsTrainingInput\u003e, IDeepCloneable\u003cTrainCustomModelRequest.Types.GcsTrainingInput\u003e, IBufferMessage, IMessage\n\nReference documentation and code samples for the Discovery Engine v1 API class TrainCustomModelRequest.Types.GcsTrainingInput.\n\nCloud Storage training data input. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e TrainCustomModelRequest.Types.GcsTrainingInput \n\nImplements\n----------\n\n[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[TrainCustomModelRequest](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/latest/Google.Cloud.DiscoveryEngine.V1.TrainCustomModelRequest)[Types](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/latest/Google.Cloud.DiscoveryEngine.V1.TrainCustomModelRequest.Types)[GcsTrainingInput](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/latest/Google.Cloud.DiscoveryEngine.V1.TrainCustomModelRequest.Types.GcsTrainingInput), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[TrainCustomModelRequest](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/latest/Google.Cloud.DiscoveryEngine.V1.TrainCustomModelRequest)[Types](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/latest/Google.Cloud.DiscoveryEngine.V1.TrainCustomModelRequest.Types)[GcsTrainingInput](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/latest/Google.Cloud.DiscoveryEngine.V1.TrainCustomModelRequest.Types.GcsTrainingInput), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[TrainCustomModelRequest](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/latest/Google.Cloud.DiscoveryEngine.V1.TrainCustomModelRequest)[Types](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/latest/Google.Cloud.DiscoveryEngine.V1.TrainCustomModelRequest.Types)[GcsTrainingInput](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/latest/Google.Cloud.DiscoveryEngine.V1.TrainCustomModelRequest.Types.GcsTrainingInput), [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.V1](/dotnet/docs/reference/Google.Cloud.DiscoveryEngine.V1/latest/Google.Cloud.DiscoveryEngine.V1)\n\nAssembly\n--------\n\nGoogle.Cloud.DiscoveryEngine.V1.dll\n\nConstructors\n------------\n\n### GcsTrainingInput()\n\n public GcsTrainingInput()\n\n### GcsTrainingInput(GcsTrainingInput)\n\n public GcsTrainingInput(TrainCustomModelRequest.Types.GcsTrainingInput other)\n\nProperties\n----------\n\n### CorpusDataPath\n\n public string CorpusDataPath { get; set; }\n\nThe Cloud Storage corpus data which could be associated in train data.\nThe data path format is `gs://\u003cbucket_to_data\u003e/\u003cjsonl_file_name\u003e`.\nA newline delimited jsonl/ndjson file.\n\nFor search-tuning model, each line should have the _id, title\nand text. Example:\n`{\"_id\": \"doc1\", title: \"relevant doc\", \"text\": \"relevant text\"}`\n\n### QueryDataPath\n\n public string QueryDataPath { get; set; }\n\nThe gcs query data which could be associated in train data.\nThe data path format is `gs://\u003cbucket_to_data\u003e/\u003cjsonl_file_name\u003e`.\nA newline delimited jsonl/ndjson file.\n\nFor search-tuning model, each line should have the _id\nand text. Example: {\"_id\": \"query1\", \"text\": \"example query\"}\n\n### TestDataPath\n\n public string TestDataPath { get; set; }\n\nCloud Storage test data. Same format as train_data_path. If not provided,\na random 80/20 train/test split will be performed on train_data_path.\n\n### TrainDataPath\n\n public string TrainDataPath { get; set; }\n\nCloud Storage training data path whose format should be\n`gs://\u003cbucket_to_data\u003e/\u003ctsv_file_name\u003e`. The file should be in tsv\nformat. Each line should have the doc_id and query_id and score (number).\n\nFor search-tuning model, it should have the query-id corpus-id\nscore as tsv file header. The score should be a number in `[0, inf+)`.\nThe larger the number is, the more relevant the pair is. Example:\n\n- `query-id\\tcorpus-id\\tscore`\n- `query1\\tdoc1\\t1`"]]