@google/genai 0.9.0 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/genai.d.ts CHANGED
@@ -23,6 +23,17 @@ export declare enum ActivityHandling {
23
23
  export declare interface ActivityStart {
24
24
  }
25
25
 
26
+ /** Optional. Adapter size for tuning. */
27
+ export declare enum AdapterSize {
28
+ ADAPTER_SIZE_UNSPECIFIED = "ADAPTER_SIZE_UNSPECIFIED",
29
+ ADAPTER_SIZE_ONE = "ADAPTER_SIZE_ONE",
30
+ ADAPTER_SIZE_TWO = "ADAPTER_SIZE_TWO",
31
+ ADAPTER_SIZE_FOUR = "ADAPTER_SIZE_FOUR",
32
+ ADAPTER_SIZE_EIGHT = "ADAPTER_SIZE_EIGHT",
33
+ ADAPTER_SIZE_SIXTEEN = "ADAPTER_SIZE_SIXTEEN",
34
+ ADAPTER_SIZE_THIRTY_TWO = "ADAPTER_SIZE_THIRTY_TWO"
35
+ }
36
+
26
37
  /**
27
38
  * The ApiClient class is used to send requests to the Gemini API or Vertex AI
28
39
  * endpoints.
@@ -164,6 +175,14 @@ export declare interface AutomaticActivityDetection {
164
175
  declare class BaseModule {
165
176
  }
166
177
 
178
+ /**
179
+ * Parameters for setting the base URLs for the Gemini API and Vertex AI API.
180
+ */
181
+ export declare interface BaseUrlParameters {
182
+ geminiUrl?: string;
183
+ vertexUrl?: string;
184
+ }
185
+
167
186
  /** Content blob. */
168
187
  declare interface Blob_2 {
169
188
  /** Required. Raw bytes. */
@@ -173,6 +192,8 @@ declare interface Blob_2 {
173
192
  }
174
193
  export { Blob_2 as Blob }
175
194
 
195
+ export declare type BlobImageUnion = Blob_2;
196
+
176
197
  /** Output only. Blocked reason. */
177
198
  export declare enum BlockedReason {
178
199
  BLOCKED_REASON_UNSPECIFIED = "BLOCKED_REASON_UNSPECIFIED",
@@ -248,7 +269,7 @@ export declare class Caches extends BaseModule {
248
269
  * ```ts
249
270
  * const contents = ...; // Initialize the content to cache.
250
271
  * const response = await ai.caches.create({
251
- * model: 'gemini-1.5-flash',
272
+ * model: 'gemini-2.0-flash-001',
252
273
  * config: {
253
274
  * 'contents': contents,
254
275
  * 'displayName': 'test cache',
@@ -267,7 +288,7 @@ export declare class Caches extends BaseModule {
267
288
  *
268
289
  * @example
269
290
  * ```ts
270
- * await ai.caches.get({name: 'gemini-1.5-flash'});
291
+ * await ai.caches.get({name: '...'}); // The server-generated resource name.
271
292
  * ```
272
293
  */
273
294
  get(params: types.GetCachedContentParameters): Promise<types.CachedContent>;
@@ -279,7 +300,7 @@ export declare class Caches extends BaseModule {
279
300
  *
280
301
  * @example
281
302
  * ```ts
282
- * await ai.caches.delete({name: 'gemini-1.5-flash'});
303
+ * await ai.caches.delete({name: '...'}); // The server-generated resource name.
283
304
  * ```
284
305
  */
285
306
  delete(params: types.DeleteCachedContentParameters): Promise<types.DeleteCachedContentResponse>;
@@ -292,7 +313,7 @@ export declare class Caches extends BaseModule {
292
313
  * @example
293
314
  * ```ts
294
315
  * const response = await ai.caches.update({
295
- * name: 'gemini-1.5-flash',
316
+ * name: '...', // The server-generated resource name.
296
317
  * config: {'ttl': '7600s'}
297
318
  * });
298
319
  * ```
@@ -487,6 +508,13 @@ export declare interface CodeExecutionResult {
487
508
  export declare interface ComputeTokensConfig {
488
509
  /** Used to override HTTP request options. */
489
510
  httpOptions?: HttpOptions;
511
+ /** Abort signal which can be used to cancel the request.
512
+
513
+ NOTE: AbortSignal is a client-only operation. Using it to cancel an
514
+ operation will not cancel the request in the service. You will still
515
+ be charged usage for any applicable operations.
516
+ */
517
+ abortSignal?: AbortSignal;
490
518
  }
491
519
 
492
520
  /** Parameters for computing tokens. */
@@ -595,6 +623,13 @@ export declare enum ControlReferenceType {
595
623
  export declare interface CountTokensConfig {
596
624
  /** Used to override HTTP request options. */
597
625
  httpOptions?: HttpOptions;
626
+ /** Abort signal which can be used to cancel the request.
627
+
628
+ NOTE: AbortSignal is a client-only operation. Using it to cancel an
629
+ operation will not cancel the request in the service. You will still
630
+ be charged usage for any applicable operations.
631
+ */
632
+ abortSignal?: AbortSignal;
598
633
  /** Instructions for the model to steer it toward better performance.
599
634
  */
600
635
  systemInstruction?: ContentUnion;
@@ -631,6 +666,13 @@ export declare class CountTokensResponse {
631
666
  export declare interface CreateCachedContentConfig {
632
667
  /** Used to override HTTP request options. */
633
668
  httpOptions?: HttpOptions;
669
+ /** Abort signal which can be used to cancel the request.
670
+
671
+ NOTE: AbortSignal is a client-only operation. Using it to cancel an
672
+ operation will not cancel the request in the service. You will still
673
+ be charged usage for any applicable operations.
674
+ */
675
+ abortSignal?: AbortSignal;
634
676
  /** The TTL for this resource. The expiration time is computed: now + TTL. It is a duration string, with up to nine fractional digits, terminated by 's'. Example: "3.5s". */
635
677
  ttl?: string;
636
678
  /** Timestamp of when this resource is considered expired. Uses RFC 3339 format, Example: 2014-10-02T15:01:23Z. */
@@ -654,7 +696,7 @@ export declare interface CreateCachedContentConfig {
654
696
 
655
697
  /** Parameters for caches.create method. */
656
698
  export declare interface CreateCachedContentParameters {
657
- /** ID of the model to use. Example: gemini-1.5-flash */
699
+ /** ID of the model to use. Example: gemini-2.0-flash */
658
700
  model: string;
659
701
  /** Configuration that contains optional parameters.
660
702
  */
@@ -669,7 +711,7 @@ export declare interface CreateCachedContentParameters {
669
711
  export declare interface CreateChatParameters {
670
712
  /** The name of the model to use for the chat session.
671
713
 
672
- For example: 'gemini-2.0-flash', 'gemini-1.5-pro', etc. See gemini API
714
+ For example: 'gemini-2.0-flash', 'gemini-2.0-flash-lite', etc. See Gemini API
673
715
  docs to find the available models.
674
716
  */
675
717
  model: string;
@@ -692,6 +734,13 @@ export declare interface CreateChatParameters {
692
734
  export declare interface CreateFileConfig {
693
735
  /** Used to override HTTP request options. */
694
736
  httpOptions?: HttpOptions;
737
+ /** Abort signal which can be used to cancel the request.
738
+
739
+ NOTE: AbortSignal is a client-only operation. Using it to cancel an
740
+ operation will not cancel the request in the service. You will still
741
+ be charged usage for any applicable operations.
742
+ */
743
+ abortSignal?: AbortSignal;
695
744
  }
696
745
 
697
746
  /** Generates the parameters for the private _create method. */
@@ -753,15 +802,111 @@ export declare function createPartFromText(text: string): Part;
753
802
  */
754
803
  export declare function createPartFromUri(uri: string, mimeType: string): Part;
755
804
 
805
+ /** Supervised fine-tuning job creation request - optional fields. */
806
+ export declare interface CreateTuningJobConfig {
807
+ /** Used to override HTTP request options. */
808
+ httpOptions?: HttpOptions;
809
+ /** Abort signal which can be used to cancel the request.
810
+
811
+ NOTE: AbortSignal is a client-only operation. Using it to cancel an
812
+ operation will not cancel the request in the service. You will still
813
+ be charged usage for any applicable operations.
814
+ */
815
+ abortSignal?: AbortSignal;
816
+ /** Cloud Storage path to file containing training dataset for tuning. The dataset must be formatted as a JSONL file. */
817
+ validationDataset?: TuningValidationDataset;
818
+ /** The display name of the tuned Model. The name can be up to 128 characters long and can consist of any UTF-8 characters. */
819
+ tunedModelDisplayName?: string;
820
+ /** The description of the TuningJob */
821
+ description?: string;
822
+ /** Number of complete passes the model makes over the entire training dataset during training. */
823
+ epochCount?: number;
824
+ /** Multiplier for adjusting the default learning rate. */
825
+ learningRateMultiplier?: number;
826
+ /** Adapter size for tuning. */
827
+ adapterSize?: AdapterSize;
828
+ /** The batch size hyperparameter for tuning. If not set, a default of 4 or 16 will be used based on the number of training examples. */
829
+ batchSize?: number;
830
+ /** The learning rate hyperparameter for tuning. If not set, a default of 0.001 or 0.0002 will be calculated based on the number of training examples. */
831
+ learningRate?: number;
832
+ }
833
+
834
+ /** Supervised fine-tuning job creation parameters - optional fields. */
835
+ export declare interface CreateTuningJobParameters {
836
+ /** The base model that is being tuned, e.g., "gemini-1.0-pro-002". */
837
+ baseModel: string;
838
+ /** Cloud Storage path to file containing training dataset for tuning. The dataset must be formatted as a JSONL file. */
839
+ trainingDataset: TuningDataset;
840
+ /** Configuration for the tuning job. */
841
+ config?: CreateTuningJobConfig;
842
+ }
843
+
756
844
  /**
757
845
  * Creates a `Content` object with a user role from a `PartListUnion` object or `string`.
758
846
  */
759
847
  export declare function createUserContent(partOrString: PartListUnion | string): Content;
760
848
 
849
+ /** Distribution computed over a tuning dataset. */
850
+ export declare interface DatasetDistribution {
851
+ /** Output only. Defines the histogram bucket. */
852
+ buckets?: DatasetDistributionDistributionBucket[];
853
+ /** Output only. The maximum of the population values. */
854
+ max?: number;
855
+ /** Output only. The arithmetic mean of the values in the population. */
856
+ mean?: number;
857
+ /** Output only. The median of the values in the population. */
858
+ median?: number;
859
+ /** Output only. The minimum of the population values. */
860
+ min?: number;
861
+ /** Output only. The 5th percentile of the values in the population. */
862
+ p5?: number;
863
+ /** Output only. The 95th percentile of the values in the population. */
864
+ p95?: number;
865
+ /** Output only. Sum of a given population of values. */
866
+ sum?: number;
867
+ }
868
+
869
+ /** Dataset bucket used to create a histogram for the distribution given a population of values. */
870
+ export declare interface DatasetDistributionDistributionBucket {
871
+ /** Output only. Number of values in the bucket. */
872
+ count?: string;
873
+ /** Output only. Left bound of the bucket. */
874
+ left?: number;
875
+ /** Output only. Right bound of the bucket. */
876
+ right?: number;
877
+ }
878
+
879
+ /** Statistics computed over a tuning dataset. */
880
+ export declare interface DatasetStats {
881
+ /** Output only. Number of billable characters in the tuning dataset. */
882
+ totalBillableCharacterCount?: string;
883
+ /** Output only. Number of tuning characters in the tuning dataset. */
884
+ totalTuningCharacterCount?: string;
885
+ /** Output only. Number of examples in the tuning dataset. */
886
+ tuningDatasetExampleCount?: string;
887
+ /** Output only. Number of tuning steps for this Tuning Job. */
888
+ tuningStepCount?: string;
889
+ /** Output only. Sample user messages in the training dataset uri. */
890
+ userDatasetExamples?: Content[];
891
+ /** Output only. Dataset distributions for the user input tokens. */
892
+ userInputTokenDistribution?: DatasetDistribution;
893
+ /** Output only. Dataset distributions for the messages per example. */
894
+ userMessagePerExampleDistribution?: DatasetDistribution;
895
+ /** Output only. Dataset distributions for the user output tokens. */
896
+ userOutputTokenDistribution?: DatasetDistribution;
897
+ }
898
+
761
899
  /** Optional parameters for caches.delete method. */
762
900
  export declare interface DeleteCachedContentConfig {
763
901
  /** Used to override HTTP request options. */
764
902
  httpOptions?: HttpOptions;
903
+ /** Abort signal which can be used to cancel the request.
904
+
905
+ NOTE: AbortSignal is a client-only operation. Using it to cancel an
906
+ operation will not cancel the request in the service. You will still
907
+ be charged usage for any applicable operations.
908
+ */
909
+ abortSignal?: AbortSignal;
765
910
  }
766
911
 
767
912
  /** Parameters for caches.delete method. */
@@ -782,6 +927,13 @@ export declare class DeleteCachedContentResponse {
782
927
  export declare interface DeleteFileConfig {
783
928
  /** Used to override HTTP request options. */
784
929
  httpOptions?: HttpOptions;
930
+ /** Abort signal which can be used to cancel the request.
931
+
932
+ NOTE: AbortSignal is a client-only operation. Using it to cancel an
933
+ operation will not cancel the request in the service. You will still
934
+ be charged usage for any applicable operations.
935
+ */
936
+ abortSignal?: AbortSignal;
785
937
  }
786
938
 
787
939
  /** Generates the parameters for the get method. */
@@ -796,10 +948,74 @@ export declare interface DeleteFileParameters {
796
948
  export declare class DeleteFileResponse {
797
949
  }
798
950
 
951
+ /** Configuration for deleting a tuned model. */
952
+ export declare interface DeleteModelConfig {
953
+ /** Used to override HTTP request options. */
954
+ httpOptions?: HttpOptions;
955
+ /** Abort signal which can be used to cancel the request.
956
+
957
+ NOTE: AbortSignal is a client-only operation. Using it to cancel an
958
+ operation will not cancel the request in the service. You will still
959
+ be charged usage for any applicable operations.
960
+ */
961
+ abortSignal?: AbortSignal;
962
+ }
963
+
964
+ /** Parameters for deleting a tuned model. */
965
+ export declare interface DeleteModelParameters {
966
+ model: string;
967
+ /** Optional parameters for the request. */
968
+ config?: DeleteModelConfig;
969
+ }
970
+
971
+ export declare class DeleteModelResponse {
972
+ }
973
+
974
+ /** Statistics computed for datasets used for distillation. */
975
+ export declare interface DistillationDataStats {
976
+ /** Output only. Statistics computed for the training dataset. */
977
+ trainingDatasetStats?: DatasetStats;
978
+ }
979
+
980
+ /** Hyperparameters for Distillation. */
981
+ export declare interface DistillationHyperParameters {
982
+ /** Optional. Adapter size for distillation. */
983
+ adapterSize?: AdapterSize;
984
+ /** Optional. Number of complete passes the model makes over the entire training dataset during training. */
985
+ epochCount?: string;
986
+ /** Optional. Multiplier for adjusting the default learning rate. */
987
+ learningRateMultiplier?: number;
988
+ }
989
+
990
+ /** Tuning Spec for Distillation. */
991
+ export declare interface DistillationSpec {
992
+ /** The base teacher model that is being distilled, e.g., "gemini-1.0-pro-002". */
993
+ baseTeacherModel?: string;
994
+ /** Optional. Hyperparameters for Distillation. */
995
+ hyperParameters?: DistillationHyperParameters;
996
+ /** Required. A path in a Cloud Storage bucket, which will be treated as the root output directory of the distillation pipeline. It is used by the system to generate the paths of output artifacts. */
997
+ pipelineRootDirectory?: string;
998
+ /** The student model that is being tuned, e.g., "google/gemma-2b-1.1-it". */
999
+ studentModel?: string;
1000
+ /** Required. Cloud Storage path to file containing training dataset for tuning. The dataset must be formatted as a JSONL file. */
1001
+ trainingDatasetUri?: string;
1002
+ /** The resource name of the Tuned teacher model. Format: `projects/{project}/locations/{location}/models/{model}`. */
1003
+ tunedTeacherModelSource?: string;
1004
+ /** Optional. Cloud Storage path to file containing validation dataset for tuning. The dataset must be formatted as a JSONL file. */
1005
+ validationDatasetUri?: string;
1006
+ }
1007
+
799
1008
  /** Used to override the default configuration. */
800
1009
  export declare interface DownloadFileConfig {
801
1010
  /** Used to override HTTP request options. */
802
1011
  httpOptions?: HttpOptions;
1012
+ /** Abort signal which can be used to cancel the request.
1013
+
1014
+ NOTE: AbortSignal is a client-only operation. Using it to cancel an
1015
+ operation will not cancel the request in the service. You will still
1016
+ be charged usage for any applicable operations.
1017
+ */
1018
+ abortSignal?: AbortSignal;
803
1019
  }
804
1020
 
805
1021
  /** Describes the options to customize dynamic retrieval. */
@@ -819,6 +1035,13 @@ export declare enum DynamicRetrievalConfigMode {
819
1035
  export declare interface EmbedContentConfig {
820
1036
  /** Used to override HTTP request options. */
821
1037
  httpOptions?: HttpOptions;
1038
+ /** Abort signal which can be used to cancel the request.
1039
+
1040
+ NOTE: AbortSignal is a client-only operation. Using it to cancel an
1041
+ operation will not cancel the request in the service. You will still
1042
+ be charged usage for any applicable operations.
1043
+ */
1044
+ abortSignal?: AbortSignal;
822
1045
  /** Type of task for which the embedding will be used.
823
1046
  */
824
1047
  taskType?: string;
@@ -874,6 +1097,12 @@ export declare class EmbedContentResponse {
874
1097
  metadata?: EmbedContentMetadata;
875
1098
  }
876
1099
 
1100
+ /** Represents a customer-managed encryption key spec that can be applied to a top-level resource. */
1101
+ export declare interface EncryptionSpec {
1102
+ /** Required. The Cloud KMS resource identifier of the customer managed encryption key used to protect a resource. Has the form: `projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key`. The key needs to be in the same region as where the compute resource is created. */
1103
+ kmsKeyName?: string;
1104
+ }
1105
+
877
1106
  /** An endpoint where you deploy models. */
878
1107
  export declare interface Endpoint {
879
1108
  /** Resource name of the endpoint. */
@@ -908,6 +1137,13 @@ export declare enum FeatureSelectionPreference {
908
1137
  export declare interface FetchPredictOperationConfig {
909
1138
  /** Used to override HTTP request options. */
910
1139
  httpOptions?: HttpOptions;
1140
+ /** Abort signal which can be used to cancel the request.
1141
+
1142
+ NOTE: AbortSignal is a client-only operation. Using it to cancel an
1143
+ operation will not cancel the request in the service. You will still
1144
+ be charged usage for any applicable operations.
1145
+ */
1146
+ abortSignal?: AbortSignal;
911
1147
  }
912
1148
 
913
1149
  /** Parameters for the fetchPredictOperation method. */
@@ -1111,6 +1347,7 @@ export declare enum FinishReason {
1111
1347
  MAX_TOKENS = "MAX_TOKENS",
1112
1348
  SAFETY = "SAFETY",
1113
1349
  RECITATION = "RECITATION",
1350
+ LANGUAGE = "LANGUAGE",
1114
1351
  OTHER = "OTHER",
1115
1352
  BLOCKLIST = "BLOCKLIST",
1116
1353
  PROHIBITED_CONTENT = "PROHIBITED_CONTENT",
@@ -1146,21 +1383,16 @@ export declare enum FunctionCallingConfigMode {
1146
1383
  NONE = "NONE"
1147
1384
  }
1148
1385
 
1149
- /** Defines a function that the model can generate JSON inputs for.
1150
-
1151
- The inputs are based on `OpenAPI 3.0 specifications
1152
- <https://spec.openapis.org/oas/v3.0.3>`_.
1153
- */
1386
+ /** Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. */
1154
1387
  export declare interface FunctionDeclaration {
1155
- /** Describes the output from the function in the OpenAPI JSON Schema
1156
- Object format. */
1157
- response?: Schema;
1158
1388
  /** Optional. Description and purpose of the function. Model uses it to decide how and whether to call the function. */
1159
1389
  description?: string;
1160
1390
  /** Required. The name of the function to call. Must start with a letter or an underscore. Must be a-z, A-Z, 0-9, or contain underscores, dots and dashes, with a maximum length of 64. */
1161
1391
  name?: string;
1162
1392
  /** Optional. Describes the parameters to this function in JSON Schema Object format. Reflects the Open API 3.03 Parameter Object. string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter. For function with no parameters, this can be left unset. Parameter names must start with a letter or an underscore and must only contain chars a-z, A-Z, 0-9, or underscores with a maximum length of 64. Example with 1 required and 1 optional parameter: type: OBJECT properties: param1: type: STRING param2: type: INTEGER required: - param1 */
1163
1393
  parameters?: Schema;
1394
+ /** Optional. Describes the output from this function in JSON Schema format. Reflects the Open API 3.03 Response Object. The Schema defines the type used for the response value of the function. */
1395
+ response?: Schema;
1164
1396
  }
1165
1397
 
1166
1398
  /** A function response. */
@@ -1182,6 +1414,13 @@ export declare class FunctionResponse {
1182
1414
  export declare interface GenerateContentConfig {
1183
1415
  /** Used to override HTTP request options. */
1184
1416
  httpOptions?: HttpOptions;
1417
+ /** Abort signal which can be used to cancel the request.
1418
+
1419
+ NOTE: AbortSignal is a client-only operation. Using it to cancel an
1420
+ operation will not cancel the request in the service. You will still
1421
+ be charged usage for any applicable operations.
1422
+ */
1423
+ abortSignal?: AbortSignal;
1185
1424
  /** Instructions for the model to steer it toward better performance.
1186
1425
  For example, "Answer as concisely as possible" or "Don't use technical
1187
1426
  terms in your response".
@@ -1339,6 +1578,17 @@ export declare class GenerateContentResponse {
1339
1578
  * ```
1340
1579
  */
1341
1580
  get text(): string | undefined;
1581
+ /**
1582
+ * Returns the concatenation of all inline data parts from the first candidate
1583
+ * in the response.
1584
+ *
1585
+ * @remarks
1586
+ * If there are multiple candidates in the response, the inline data from the
1587
+ * first one will be returned. If there are non-inline data parts in the
1588
+ * response, the concatenation of all inline data parts will be returned, and
1589
+ * a warning will be logged.
1590
+ */
1591
+ get data(): string | undefined;
1342
1592
  /**
1343
1593
  * Returns the function calls from the first candidate in the response.
1344
1594
  *
@@ -1499,6 +1749,13 @@ export declare interface GeneratedVideo {
1499
1749
  export declare interface GenerateImagesConfig {
1500
1750
  /** Used to override HTTP request options. */
1501
1751
  httpOptions?: HttpOptions;
1752
+ /** Abort signal which can be used to cancel the request.
1753
+
1754
+ NOTE: AbortSignal is a client-only operation. Using it to cancel an
1755
+ operation will not cancel the request in the service. You will still
1756
+ be charged usage for any applicable operations.
1757
+ */
1758
+ abortSignal?: AbortSignal;
1502
1759
  /** Cloud Storage URI used to store the generated images.
1503
1760
  */
1504
1761
  outputGcsUri?: string;
@@ -1580,6 +1837,13 @@ export declare class GenerateImagesResponse {
1580
1837
  export declare interface GenerateVideosConfig {
1581
1838
  /** Used to override HTTP request options. */
1582
1839
  httpOptions?: HttpOptions;
1840
+ /** Abort signal which can be used to cancel the request.
1841
+
1842
+ NOTE: AbortSignal is a client-only operation. Using it to cancel an
1843
+ operation will not cancel the request in the service. You will still
1844
+ be charged usage for any applicable operations.
1845
+ */
1846
+ abortSignal?: AbortSignal;
1583
1847
  /** Number of output videos. */
1584
1848
  numberOfVideos?: number;
1585
1849
  /** The gcs bucket where to save the generated videos. */
@@ -1702,6 +1966,13 @@ export declare interface GenerationConfigRoutingConfigManualRoutingMode {
1702
1966
  export declare interface GetCachedContentConfig {
1703
1967
  /** Used to override HTTP request options. */
1704
1968
  httpOptions?: HttpOptions;
1969
+ /** Abort signal which can be used to cancel the request.
1970
+
1971
+ NOTE: AbortSignal is a client-only operation. Using it to cancel an
1972
+ operation will not cancel the request in the service. You will still
1973
+ be charged usage for any applicable operations.
1974
+ */
1975
+ abortSignal?: AbortSignal;
1705
1976
  }
1706
1977
 
1707
1978
  /** Parameters for caches.get method. */
@@ -1718,6 +1989,13 @@ export declare interface GetCachedContentParameters {
1718
1989
  export declare interface GetFileConfig {
1719
1990
  /** Used to override HTTP request options. */
1720
1991
  httpOptions?: HttpOptions;
1992
+ /** Abort signal which can be used to cancel the request.
1993
+
1994
+ NOTE: AbortSignal is a client-only operation. Using it to cancel an
1995
+ operation will not cancel the request in the service. You will still
1996
+ be charged usage for any applicable operations.
1997
+ */
1998
+ abortSignal?: AbortSignal;
1721
1999
  }
1722
2000
 
1723
2001
  /** Generates the parameters for the get method. */
@@ -1732,6 +2010,13 @@ export declare interface GetFileParameters {
1732
2010
  export declare interface GetModelConfig {
1733
2011
  /** Used to override HTTP request options. */
1734
2012
  httpOptions?: HttpOptions;
2013
+ /** Abort signal which can be used to cancel the request.
2014
+
2015
+ NOTE: AbortSignal is a client-only operation. Using it to cancel an
2016
+ operation will not cancel the request in the service. You will still
2017
+ be charged usage for any applicable operations.
2018
+ */
2019
+ abortSignal?: AbortSignal;
1735
2020
  }
1736
2021
 
1737
2022
  export declare interface GetModelParameters {
@@ -1743,6 +2028,13 @@ export declare interface GetModelParameters {
1743
2028
  export declare interface GetOperationConfig {
1744
2029
  /** Used to override HTTP request options. */
1745
2030
  httpOptions?: HttpOptions;
2031
+ /** Abort signal which can be used to cancel the request.
2032
+
2033
+ NOTE: AbortSignal is a client-only operation. Using it to cancel an
2034
+ operation will not cancel the request in the service. You will still
2035
+ be charged usage for any applicable operations.
2036
+ */
2037
+ abortSignal?: AbortSignal;
1746
2038
  }
1747
2039
 
1748
2040
  /** Parameters for the GET method. */
@@ -1753,6 +2045,26 @@ export declare interface GetOperationParameters {
1753
2045
  config?: GetOperationConfig;
1754
2046
  }
1755
2047
 
2048
+ /** Optional parameters for tunings.get method. */
2049
+ export declare interface GetTuningJobConfig {
2050
+ /** Used to override HTTP request options. */
2051
+ httpOptions?: HttpOptions;
2052
+ /** Abort signal which can be used to cancel the request.
2053
+
2054
+ NOTE: AbortSignal is a client-only operation. Using it to cancel an
2055
+ operation will not cancel the request in the service. You will still
2056
+ be charged usage for any applicable operations.
2057
+ */
2058
+ abortSignal?: AbortSignal;
2059
+ }
2060
+
2061
+ /** Parameters for the get method. */
2062
+ export declare interface GetTuningJobParameters {
2063
+ name: string;
2064
+ /** Optional parameters for the request. */
2065
+ config?: GetTuningJobConfig;
2066
+ }
2067
+
1756
2068
  /**
1757
2069
  * The Google GenAI SDK.
1758
2070
  *
@@ -1795,6 +2107,7 @@ export declare class GoogleGenAI {
1795
2107
  readonly caches: Caches;
1796
2108
  readonly files: Files;
1797
2109
  readonly operations: Operations;
2110
+ readonly tunings: Tunings;
1798
2111
  constructor(options: GoogleGenAIOptions);
1799
2112
  }
1800
2113
 
@@ -1809,7 +2122,7 @@ export declare interface GoogleGenAIOptions {
1809
2122
  *
1810
2123
  * @remarks
1811
2124
  * When true, the {@link https://cloud.google.com/vertex-ai/docs/reference/rest | Vertex AI API} will used.
1812
- * When false, the {@link https://cloud.google.com/vertex-ai/docs/reference/rest | Gemini API} will be used.
2125
+ * When false, the {@link https://ai.google.dev/api | Gemini API} will be used.
1813
2126
  *
1814
2127
  * If unset, default SDK behavior is to use the Gemini API service.
1815
2128
  */
@@ -1817,12 +2130,14 @@ export declare interface GoogleGenAIOptions {
1817
2130
  /**
1818
2131
  * Optional. The Google Cloud project ID for Vertex AI clients.
1819
2132
  *
2133
+ * Find your project ID: https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects
2134
+ *
1820
2135
  * @remarks
1821
2136
  * Only supported on Node runtimes, ignored on browser runtimes.
1822
2137
  */
1823
2138
  project?: string;
1824
2139
  /**
1825
- * Optional. The Google Cloud project region for Vertex AI clients.
2140
+ * Optional. The Google Cloud project {@link https://cloud.google.com/vertex-ai/generative-ai/docs/learn/locations | location} for Vertex AI clients.
1826
2141
  *
1827
2142
  * @remarks
1828
2143
  * Only supported on Node runtimes, ignored on browser runtimes.
@@ -1859,6 +2174,16 @@ export declare interface GoogleGenAIOptions {
1859
2174
  httpOptions?: HttpOptions;
1860
2175
  }
1861
2176
 
2177
+ /** The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). */
2178
+ export declare interface GoogleRpcStatus {
2179
+ /** The status code, which should be an enum value of google.rpc.Code. */
2180
+ code?: number;
2181
+ /** A list of messages that carry the error details. There is a common set of message types for APIs to use. */
2182
+ details?: Record<string, unknown>[];
2183
+ /** A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. */
2184
+ message?: string;
2185
+ }
2186
+
1862
2187
  /** Tool to support Google Search in Model. Powered by Google. */
1863
2188
  export declare interface GoogleSearch {
1864
2189
  }
@@ -2033,6 +2358,10 @@ declare interface HttpRequest {
2033
2358
  * Optional set of customizable configuration for HTTP requests.
2034
2359
  */
2035
2360
  httpOptions?: HttpOptions;
2361
+ /**
2362
+ * Optional abort signal which can be used to cancel the request.
2363
+ */
2364
+ abortSignal?: AbortSignal;
2036
2365
  }
2037
2366
 
2038
2367
  /** A wrapper class for the http response. */
@@ -2071,6 +2400,22 @@ export declare enum ImagePromptLanguage {
2071
2400
  hi = "hi"
2072
2401
  }
2073
2402
 
2403
+ /** Output only. The detailed state of the job. */
2404
+ export declare enum JobState {
2405
+ JOB_STATE_UNSPECIFIED = "JOB_STATE_UNSPECIFIED",
2406
+ JOB_STATE_QUEUED = "JOB_STATE_QUEUED",
2407
+ JOB_STATE_PENDING = "JOB_STATE_PENDING",
2408
+ JOB_STATE_RUNNING = "JOB_STATE_RUNNING",
2409
+ JOB_STATE_SUCCEEDED = "JOB_STATE_SUCCEEDED",
2410
+ JOB_STATE_FAILED = "JOB_STATE_FAILED",
2411
+ JOB_STATE_CANCELLING = "JOB_STATE_CANCELLING",
2412
+ JOB_STATE_CANCELLED = "JOB_STATE_CANCELLED",
2413
+ JOB_STATE_PAUSED = "JOB_STATE_PAUSED",
2414
+ JOB_STATE_EXPIRED = "JOB_STATE_EXPIRED",
2415
+ JOB_STATE_UPDATING = "JOB_STATE_UPDATING",
2416
+ JOB_STATE_PARTIALLY_SUCCEEDED = "JOB_STATE_PARTIALLY_SUCCEEDED"
2417
+ }
2418
+
2074
2419
  /** Required. Programming language of the `code`. */
2075
2420
  export declare enum Language {
2076
2421
  LANGUAGE_UNSPECIFIED = "LANGUAGE_UNSPECIFIED",
@@ -2081,6 +2426,13 @@ export declare enum Language {
2081
2426
  export declare interface ListCachedContentsConfig {
2082
2427
  /** Used to override HTTP request options. */
2083
2428
  httpOptions?: HttpOptions;
2429
+ /** Abort signal which can be used to cancel the request.
2430
+
2431
+ NOTE: AbortSignal is a client-only operation. Using it to cancel an
2432
+ operation will not cancel the request in the service. You will still
2433
+ be charged usage for any applicable operations.
2434
+ */
2435
+ abortSignal?: AbortSignal;
2084
2436
  pageSize?: number;
2085
2437
  pageToken?: string;
2086
2438
  }
@@ -2103,6 +2455,13 @@ export declare class ListCachedContentsResponse {
2103
2455
  export declare interface ListFilesConfig {
2104
2456
  /** Used to override HTTP request options. */
2105
2457
  httpOptions?: HttpOptions;
2458
+ /** Abort signal which can be used to cancel the request.
2459
+
2460
+ NOTE: AbortSignal is a client-only operation. Using it to cancel an
2461
+ operation will not cancel the request in the service. You will still
2462
+ be charged usage for any applicable operations.
2463
+ */
2464
+ abortSignal?: AbortSignal;
2106
2465
  pageSize?: number;
2107
2466
  pageToken?: string;
2108
2467
  }
@@ -2121,6 +2480,35 @@ export declare class ListFilesResponse {
2121
2480
  files?: File_2[];
2122
2481
  }
2123
2482
 
2483
+ /** Configuration for the list tuning jobs method. */
2484
+ export declare interface ListTuningJobsConfig {
2485
+ /** Used to override HTTP request options. */
2486
+ httpOptions?: HttpOptions;
2487
+ /** Abort signal which can be used to cancel the request.
2488
+
2489
+ NOTE: AbortSignal is a client-only operation. Using it to cancel an
2490
+ operation will not cancel the request in the service. You will still
2491
+ be charged usage for any applicable operations.
2492
+ */
2493
+ abortSignal?: AbortSignal;
2494
+ pageSize?: number;
2495
+ pageToken?: string;
2496
+ filter?: string;
2497
+ }
2498
+
2499
+ /** Parameters for the list tuning jobs method. */
2500
+ export declare interface ListTuningJobsParameters {
2501
+ config?: ListTuningJobsConfig;
2502
+ }
2503
+
2504
+ /** Response for the list tuning jobs method. */
2505
+ export declare class ListTuningJobsResponse {
2506
+ /** A token to retrieve the next page of results. Pass to ListTuningJobsRequest.page_token to obtain that page. */
2507
+ nextPageToken?: string;
2508
+ /** List of TuningJobs in the requested page. */
2509
+ tuningJobs?: TuningJob[];
2510
+ }
2511
+
2124
2512
  /**
2125
2513
  Live class encapsulates the configuration for live interaction with the
2126
2514
  Generative Language API. It embeds ApiClient for general API settings.
@@ -2247,6 +2635,22 @@ export declare interface LiveClientMessage {
2247
2635
  export declare interface LiveClientRealtimeInput {
2248
2636
  /** Inlined bytes data for media input. */
2249
2637
  mediaChunks?: Blob_2[];
2638
+ /** The realtime audio input stream. */
2639
+ audio?: Blob_2;
2640
+ /**
2641
+ Indicates that the audio stream has ended, e.g. because the microphone was
2642
+ turned off.
2643
+
2644
+ This should only be sent when automatic activity detection is enabled
2645
+ (which is the default).
2646
+
2647
+ The client can reopen the stream by sending an audio message.
2648
+ */
2649
+ audioStreamEnd?: boolean;
2650
+ /** The realtime video input stream. */
2651
+ video?: Blob_2;
2652
+ /** The realtime text input stream. */
2653
+ text?: string;
2250
2654
  /** Marks the start of user activity. */
2251
2655
  activityStart?: ActivityStart;
2252
2656
  /** Marks the end of user activity. */
@@ -2402,7 +2806,23 @@ export declare interface LiveSendClientContentParameters {
2402
2806
  /** Parameters for sending realtime input to the live API. */
2403
2807
  export declare interface LiveSendRealtimeInputParameters {
2404
2808
  /** Realtime input to send to the session. */
2405
- media: Blob_2;
2809
+ media?: BlobImageUnion;
2810
+ /** The realtime audio input stream. */
2811
+ audio?: Blob_2;
2812
+ /**
2813
+ Indicates that the audio stream has ended, e.g. because the microphone was
2814
+ turned off.
2815
+
2816
+ This should only be sent when automatic activity detection is enabled
2817
+ (which is the default).
2818
+
2819
+ The client can reopen the stream by sending an audio message.
2820
+ */
2821
+ audioStreamEnd?: boolean;
2822
+ /** The realtime video input stream. */
2823
+ video?: BlobImageUnion;
2824
+ /** The realtime text input stream. */
2825
+ text?: string;
2406
2826
  /** Marks the start of user activity. */
2407
2827
  activityStart?: ActivityStart;
2408
2828
  /** Marks the end of user activity. */
@@ -2803,6 +3223,36 @@ export declare class Models extends BaseModule {
2803
3223
  * ```
2804
3224
  */
2805
3225
  get(params: types.GetModelParameters): Promise<types.Model>;
3226
+ /**
3227
+ * Updates a tuned model by its name.
3228
+ *
3229
+ * @param params - The parameters for updating the model.
3230
+ * @return The response from the API.
3231
+ *
3232
+ * @example
3233
+ * ```ts
3234
+ * const response = await ai.models.update({
3235
+ * model: 'tuned-model-name',
3236
+ * config: {
3237
+ * displayName: 'New display name',
3238
+ * description: 'New description',
3239
+ * },
3240
+ * });
3241
+ * ```
3242
+ */
3243
+ update(params: types.UpdateModelParameters): Promise<types.Model>;
3244
+ /**
3245
+ * Deletes a tuned model by its name.
3246
+ *
3247
+ * @param params - The parameters for deleting the model.
3248
+ * @return The response from the API.
3249
+ *
3250
+ * @example
3251
+ * ```ts
3252
+ * const response = await ai.models.delete({model: 'tuned-model-name'});
3253
+ * ```
3254
+ */
3255
+ delete(params: types.DeleteModelParameters): Promise<types.DeleteModelResponse>;
2806
3256
  /**
2807
3257
  * Counts the number of tokens in the given contents. Multimodal input is
2808
3258
  * supported for Gemini models.
@@ -2871,6 +3321,18 @@ export declare interface ModelSelectionConfig {
2871
3321
  featureSelectionPreference?: FeatureSelectionPreference;
2872
3322
  }
2873
3323
 
3324
+ /** A long-running operation. */
3325
+ export declare interface Operation {
3326
+ /** The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. */
3327
+ name?: string;
3328
+ /** Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. */
3329
+ metadata?: Record<string, unknown>;
3330
+ /** If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. */
3331
+ done?: boolean;
3332
+ /** The error result of the operation in case of failure or cancellation. */
3333
+ error?: Record<string, unknown>;
3334
+ }
3335
+
2874
3336
  /** Parameters for the get method of the operations module. */
2875
3337
  export declare interface OperationGetParameters {
2876
3338
  /** The operation to be retrieved. */
@@ -3062,6 +3524,16 @@ export declare interface Part {
3062
3524
 
3063
3525
  export declare type PartListUnion = PartUnion[] | PartUnion;
3064
3526
 
3527
+ /** Tuning spec for Partner models. */
3528
+ export declare interface PartnerModelTuningSpec {
3529
+ /** Hyperparameters for tuning. The accepted hyper_parameters and their valid range of values will differ depending on the base model. */
3530
+ hyperParameters?: Record<string, unknown>;
3531
+ /** Required. Cloud Storage path to file containing training dataset for tuning. The dataset must be formatted as a JSONL file. */
3532
+ trainingDatasetUri?: string;
3533
+ /** Optional. Cloud Storage path to file containing validation dataset for tuning. The dataset must be formatted as a JSONL file. */
3534
+ validationDatasetUri?: string;
3535
+ }
3536
+
3065
3537
  export declare type PartUnion = Part | string;
3066
3538
 
3067
3539
  /** Enum that controls the generation of people. */
@@ -3247,45 +3719,42 @@ export declare interface SafetySetting {
3247
3719
  threshold?: HarmBlockThreshold;
3248
3720
  }
3249
3721
 
3250
- /** Schema that defines the format of input and output data.
3251
-
3252
- Represents a select subset of an OpenAPI 3.0 schema object.
3253
- */
3722
+ /** Schema is used to define the format of input/output data. Represents a select subset of an [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema-object). More fields may be added in the future as needed. */
3254
3723
  export declare interface Schema {
3255
- /** Optional. Example of the object. Will only populated when the object is the root. */
3256
- example?: unknown;
3257
- /** Optional. Pattern of the Type.STRING to restrict a string to a regular expression. */
3258
- pattern?: string;
3259
- /** Optional. Default value of the data. */
3260
- default?: unknown;
3261
- /** Optional. Maximum length of the Type.STRING */
3262
- maxLength?: string;
3263
- /** Optional. SCHEMA FIELDS FOR TYPE STRING Minimum length of the Type.STRING */
3264
- minLength?: string;
3265
- /** Optional. Minimum number of the properties for Type.OBJECT. */
3266
- minProperties?: string;
3267
- /** Optional. Maximum number of the properties for Type.OBJECT. */
3268
- maxProperties?: string;
3269
3724
  /** Optional. The value should be validated against any (one or more) of the subschemas in the list. */
3270
3725
  anyOf?: Schema[];
3726
+ /** Optional. Default value of the data. */
3727
+ default?: unknown;
3271
3728
  /** Optional. The description of the data. */
3272
3729
  description?: string;
3273
3730
  /** Optional. Possible values of the element of primitive type with enum format. Examples: 1. We can define direction as : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. We can define apartment number as : {type:INTEGER, format:enum, enum:["101", "201", "301"]} */
3274
3731
  enum?: string[];
3732
+ /** Optional. Example of the object. Will only populated when the object is the root. */
3733
+ example?: unknown;
3275
3734
  /** Optional. The format of the data. Supported formats: for NUMBER type: "float", "double" for INTEGER type: "int32", "int64" for STRING type: "email", "byte", etc */
3276
3735
  format?: string;
3277
3736
  /** Optional. SCHEMA FIELDS FOR TYPE ARRAY Schema of the elements of Type.ARRAY. */
3278
3737
  items?: Schema;
3279
3738
  /** Optional. Maximum number of the elements for Type.ARRAY. */
3280
3739
  maxItems?: string;
3740
+ /** Optional. Maximum length of the Type.STRING */
3741
+ maxLength?: string;
3742
+ /** Optional. Maximum number of the properties for Type.OBJECT. */
3743
+ maxProperties?: string;
3281
3744
  /** Optional. Maximum value of the Type.INTEGER and Type.NUMBER */
3282
3745
  maximum?: number;
3283
3746
  /** Optional. Minimum number of the elements for Type.ARRAY. */
3284
3747
  minItems?: string;
3748
+ /** Optional. SCHEMA FIELDS FOR TYPE STRING Minimum length of the Type.STRING */
3749
+ minLength?: string;
3750
+ /** Optional. Minimum number of the properties for Type.OBJECT. */
3751
+ minProperties?: string;
3285
3752
  /** Optional. SCHEMA FIELDS FOR TYPE INTEGER and NUMBER Minimum value of the Type.INTEGER and Type.NUMBER */
3286
3753
  minimum?: number;
3287
3754
  /** Optional. Indicates if the value may be null. */
3288
3755
  nullable?: boolean;
3756
+ /** Optional. Pattern of the Type.STRING to restrict a string to a regular expression. */
3757
+ pattern?: string;
3289
3758
  /** Optional. SCHEMA FIELDS FOR TYPE OBJECT Properties of Type.OBJECT. */
3290
3759
  properties?: Record<string, Schema>;
3291
3760
  /** Optional. The order of the properties. Not a standard field in open api spec. Only used to support the order of the properties. */
@@ -3351,7 +3820,6 @@ export declare class Session {
3351
3820
  private readonly apiClient;
3352
3821
  constructor(conn: WebSocket_2, apiClient: ApiClient);
3353
3822
  private tLiveClientContent;
3354
- private tLiveClientRealtimeInput;
3355
3823
  private tLiveClienttToolResponse;
3356
3824
  /**
3357
3825
  Send a message over the established connection.
@@ -3481,6 +3949,28 @@ export declare interface SessionResumptionConfig {
3481
3949
  transparent?: boolean;
3482
3950
  }
3483
3951
 
3952
+ /**
3953
+ * Overrides the base URLs for the Gemini API and Vertex AI API.
3954
+ *
3955
+ * @remarks This function should be called before initializing the SDK. If the
3956
+ * base URLs are set after initializing the SDK, the base URLs will not be
3957
+ * updated. Base URLs provided in the HttpOptions will also take precedence over
3958
+ * URLs set here.
3959
+ *
3960
+ * @example
3961
+ * ```ts
3962
+ * import {GoogleGenAI, setDefaultBaseUrls} from '@google/genai';
3963
+ * // Override the base URL for the Gemini API.
3964
+ * setDefaultBaseUrls({geminiUrl:'https://gemini.google.com'});
3965
+ *
3966
+ * // Override the base URL for the Vertex AI API.
3967
+ * setDefaultBaseUrls({vertexUrl: 'https://vertexai.googleapis.com'});
3968
+ *
3969
+ * const ai = new GoogleGenAI({apiKey: 'GEMINI_API_KEY'});
3970
+ * ```
3971
+ */
3972
+ export declare function setDefaultBaseUrls(baseUrlParams: BaseUrlParameters): void;
3973
+
3484
3974
  /** Context window will be truncated by keeping only suffix of it.
3485
3975
 
3486
3976
  Context window will always be cut at start of USER role turn. System
@@ -3573,6 +4063,84 @@ export declare enum SubjectReferenceType {
3573
4063
  SUBJECT_TYPE_PRODUCT = "SUBJECT_TYPE_PRODUCT"
3574
4064
  }
3575
4065
 
4066
+ /** Hyperparameters for SFT. */
4067
+ export declare interface SupervisedHyperParameters {
4068
+ /** Optional. Adapter size for tuning. */
4069
+ adapterSize?: AdapterSize;
4070
+ /** Optional. Number of complete passes the model makes over the entire training dataset during training. */
4071
+ epochCount?: string;
4072
+ /** Optional. Multiplier for adjusting the default learning rate. */
4073
+ learningRateMultiplier?: number;
4074
+ }
4075
+
4076
+ /** Dataset distribution for Supervised Tuning. */
4077
+ export declare interface SupervisedTuningDatasetDistribution {
4078
+ /** Output only. Sum of a given population of values that are billable. */
4079
+ billableSum?: string;
4080
+ /** Output only. Defines the histogram bucket. */
4081
+ buckets?: SupervisedTuningDatasetDistributionDatasetBucket[];
4082
+ /** Output only. The maximum of the population values. */
4083
+ max?: number;
4084
+ /** Output only. The arithmetic mean of the values in the population. */
4085
+ mean?: number;
4086
+ /** Output only. The median of the values in the population. */
4087
+ median?: number;
4088
+ /** Output only. The minimum of the population values. */
4089
+ min?: number;
4090
+ /** Output only. The 5th percentile of the values in the population. */
4091
+ p5?: number;
4092
+ /** Output only. The 95th percentile of the values in the population. */
4093
+ p95?: number;
4094
+ /** Output only. Sum of a given population of values. */
4095
+ sum?: string;
4096
+ }
4097
+
4098
+ /** Dataset bucket used to create a histogram for the distribution given a population of values. */
4099
+ export declare interface SupervisedTuningDatasetDistributionDatasetBucket {
4100
+ /** Output only. Number of values in the bucket. */
4101
+ count?: number;
4102
+ /** Output only. Left bound of the bucket. */
4103
+ left?: number;
4104
+ /** Output only. Right bound of the bucket. */
4105
+ right?: number;
4106
+ }
4107
+
4108
+ /** Tuning data statistics for Supervised Tuning. */
4109
+ export declare interface SupervisedTuningDataStats {
4110
+ /** Output only. Number of billable characters in the tuning dataset. */
4111
+ totalBillableCharacterCount?: string;
4112
+ /** Output only. Number of billable tokens in the tuning dataset. */
4113
+ totalBillableTokenCount?: string;
4114
+ /** The number of examples in the dataset that have been truncated by any amount. */
4115
+ totalTruncatedExampleCount?: string;
4116
+ /** Output only. Number of tuning characters in the tuning dataset. */
4117
+ totalTuningCharacterCount?: string;
4118
+ /** A partial sample of the indices (starting from 1) of the truncated examples. */
4119
+ truncatedExampleIndices?: string[];
4120
+ /** Output only. Number of examples in the tuning dataset. */
4121
+ tuningDatasetExampleCount?: string;
4122
+ /** Output only. Number of tuning steps for this Tuning Job. */
4123
+ tuningStepCount?: string;
4124
+ /** Output only. Sample user messages in the training dataset uri. */
4125
+ userDatasetExamples?: Content[];
4126
+ /** Output only. Dataset distributions for the user input tokens. */
4127
+ userInputTokenDistribution?: SupervisedTuningDatasetDistribution;
4128
+ /** Output only. Dataset distributions for the messages per example. */
4129
+ userMessagePerExampleDistribution?: SupervisedTuningDatasetDistribution;
4130
+ /** Output only. Dataset distributions for the user output tokens. */
4131
+ userOutputTokenDistribution?: SupervisedTuningDatasetDistribution;
4132
+ }
4133
+
4134
+ /** Tuning Spec for Supervised Tuning for first party models. */
4135
+ export declare interface SupervisedTuningSpec {
4136
+ /** Optional. Hyperparameters for SFT. */
4137
+ hyperParameters?: SupervisedHyperParameters;
4138
+ /** Required. Cloud Storage path to file containing training dataset for tuning. The dataset must be formatted as a JSONL file. */
4139
+ trainingDatasetUri?: string;
4140
+ /** Optional. Cloud Storage path to file containing validation dataset for tuning. The dataset must be formatted as a JSONL file. */
4141
+ validationDatasetUri?: string;
4142
+ }
4143
+
3576
4144
  export declare interface TestTableFile {
3577
4145
  comment?: string;
3578
4146
  testMethod?: string;
@@ -3621,8 +4189,6 @@ export declare interface TokensInfo {
3621
4189
 
3622
4190
  /** Tool details of a tool that the model may use to generate a response. */
3623
4191
  export declare interface Tool {
3624
- /** List of function declarations that the tool supports. */
3625
- functionDeclarations?: FunctionDeclaration[];
3626
4192
  /** Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation. */
3627
4193
  retrieval?: Retrieval;
3628
4194
  /** Optional. Google Search tool type. Specialized retrieval tool
@@ -3632,6 +4198,8 @@ export declare interface Tool {
3632
4198
  googleSearchRetrieval?: GoogleSearchRetrieval;
3633
4199
  /** Optional. CodeExecution tool type. Enables the model to execute code as part of generation. This field is only used by the Gemini Developer API services. */
3634
4200
  codeExecution?: ToolCodeExecution;
4201
+ /** Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 128 function declarations can be provided. */
4202
+ functionDeclarations?: FunctionDeclaration[];
3635
4203
  }
3636
4204
 
3637
4205
  /** Tool that executes code generated by the model, and automatically returns the result to the model. See also [ExecutableCode]and [CodeExecutionResult] which are input and output to this tool. */
@@ -3666,6 +4234,13 @@ export declare interface Transcription {
3666
4234
  finished?: boolean;
3667
4235
  }
3668
4236
 
4237
+ export declare interface TunedModel {
4238
+ /** Output only. The resource name of the TunedModel. Format: `projects/{project}/locations/{location}/models/{model}`. */
4239
+ model?: string;
4240
+ /** Output only. A resource name of an Endpoint. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`. */
4241
+ endpoint?: string;
4242
+ }
4243
+
3669
4244
  /** A tuned machine learning model. */
3670
4245
  export declare interface TunedModelInfo {
3671
4246
  /** ID of the base model that you want to tune. */
@@ -3676,6 +4251,115 @@ export declare interface TunedModelInfo {
3676
4251
  updateTime?: string;
3677
4252
  }
3678
4253
 
4254
+ /** Supervised fine-tuning training dataset. */
4255
+ export declare interface TuningDataset {
4256
+ /** GCS URI of the file containing training dataset in JSONL format. */
4257
+ gcsUri?: string;
4258
+ /** Inline examples with simple input/output text. */
4259
+ examples?: TuningExample[];
4260
+ }
4261
+
4262
+ /** The tuning data statistic values for TuningJob. */
4263
+ export declare interface TuningDataStats {
4264
+ /** Output only. Statistics for distillation. */
4265
+ distillationDataStats?: DistillationDataStats;
4266
+ /** The SFT Tuning data stats. */
4267
+ supervisedTuningDataStats?: SupervisedTuningDataStats;
4268
+ }
4269
+
4270
+ export declare interface TuningExample {
4271
+ /** Text model input. */
4272
+ textInput?: string;
4273
+ /** The expected model output. */
4274
+ output?: string;
4275
+ }
4276
+
4277
+ /** A tuning job. */
4278
+ export declare interface TuningJob {
4279
+ /** Output only. Identifier. Resource name of a TuningJob. Format: `projects/{project}/locations/{location}/tuningJobs/{tuning_job}` */
4280
+ name?: string;
4281
+ /** Output only. The detailed state of the job. */
4282
+ state?: JobState;
4283
+ /** Output only. Time when the TuningJob was created. */
4284
+ createTime?: string;
4285
+ /** Output only. Time when the TuningJob for the first time entered the `JOB_STATE_RUNNING` state. */
4286
+ startTime?: string;
4287
+ /** Output only. Time when the TuningJob entered any of the following JobStates: `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED`, `JOB_STATE_CANCELLED`, `JOB_STATE_EXPIRED`. */
4288
+ endTime?: string;
4289
+ /** Output only. Time when the TuningJob was most recently updated. */
4290
+ updateTime?: string;
4291
+ /** Output only. Only populated when job's state is `JOB_STATE_FAILED` or `JOB_STATE_CANCELLED`. */
4292
+ error?: GoogleRpcStatus;
4293
+ /** Optional. The description of the TuningJob. */
4294
+ description?: string;
4295
+ /** The base model that is being tuned, e.g., "gemini-1.0-pro-002". . */
4296
+ baseModel?: string;
4297
+ /** Output only. The tuned model resources associated with this TuningJob. */
4298
+ tunedModel?: TunedModel;
4299
+ /** Tuning Spec for Supervised Fine Tuning. */
4300
+ supervisedTuningSpec?: SupervisedTuningSpec;
4301
+ /** Output only. The tuning data statistics associated with this TuningJob. */
4302
+ tuningDataStats?: TuningDataStats;
4303
+ /** Customer-managed encryption key options for a TuningJob. If this is set, then all resources created by the TuningJob will be encrypted with the provided encryption key. */
4304
+ encryptionSpec?: EncryptionSpec;
4305
+ /** Tuning Spec for open sourced and third party Partner models. */
4306
+ partnerModelTuningSpec?: PartnerModelTuningSpec;
4307
+ /** Tuning Spec for Distillation. */
4308
+ distillationSpec?: DistillationSpec;
4309
+ /** Output only. The Experiment associated with this TuningJob. */
4310
+ experiment?: string;
4311
+ /** Optional. The labels with user-defined metadata to organize TuningJob and generated resources such as Model and Endpoint. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. */
4312
+ labels?: Record<string, string>;
4313
+ /** Output only. The resource name of the PipelineJob associated with the TuningJob. Format: `projects/{project}/locations/{location}/pipelineJobs/{pipeline_job}`. */
4314
+ pipelineJob?: string;
4315
+ /** Optional. The display name of the TunedModel. The name can be up to 128 characters long and can consist of any UTF-8 characters. */
4316
+ tunedModelDisplayName?: string;
4317
+ }
4318
+
4319
+ declare class Tunings extends BaseModule {
4320
+ private readonly apiClient;
4321
+ constructor(apiClient: ApiClient);
4322
+ /**
4323
+ * Gets a TuningJob.
4324
+ *
4325
+ * @param name - The resource name of the tuning job.
4326
+ * @return - A TuningJob object.
4327
+ *
4328
+ * @experimental - The SDK's tuning implementation is experimental, and may
4329
+ * change in future versions.
4330
+ */
4331
+ get: (params: types.GetTuningJobParameters) => Promise<types.TuningJob>;
4332
+ /**
4333
+ * Lists tuning jobs.
4334
+ *
4335
+ * @param config - The configuration for the list request.
4336
+ * @return - A list of tuning jobs.
4337
+ *
4338
+ * @experimental - The SDK's tuning implementation is experimental, and may
4339
+ * change in future versions.
4340
+ */
4341
+ list: (params?: types.ListTuningJobsParameters) => Promise<Pager<types.TuningJob>>;
4342
+ /**
4343
+ * Creates a supervised fine-tuning job.
4344
+ *
4345
+ * @param params - The parameters for the tuning job.
4346
+ * @return - A TuningJob operation.
4347
+ *
4348
+ * @experimental - The SDK's tuning implementation is experimental, and may
4349
+ * change in future versions.
4350
+ */
4351
+ tune: (params: types.CreateTuningJobParameters) => Promise<types.TuningJob>;
4352
+ private getInternal;
4353
+ private listInternal;
4354
+ private tuneInternal;
4355
+ private tuneMldevInternal;
4356
+ }
4357
+
4358
+ export declare interface TuningValidationDataset {
4359
+ /** GCS URI of the file containing validation dataset in JSONL format. */
4360
+ gcsUri?: string;
4361
+ }
4362
+
3679
4363
  /** Options about which input is included in the user's turn. */
3680
4364
  export declare enum TurnCoverage {
3681
4365
  TURN_COVERAGE_UNSPECIFIED = "TURN_COVERAGE_UNSPECIFIED",
@@ -3707,11 +4391,11 @@ declare namespace types {
3707
4391
  createModelContent,
3708
4392
  Outcome,
3709
4393
  Language,
3710
- Type,
3711
4394
  HarmCategory,
3712
4395
  HarmBlockMethod,
3713
4396
  HarmBlockThreshold,
3714
4397
  Mode,
4398
+ Type,
3715
4399
  FinishReason,
3716
4400
  HarmProbability,
3717
4401
  HarmSeverity,
@@ -3719,6 +4403,8 @@ declare namespace types {
3719
4403
  TrafficType,
3720
4404
  Modality,
3721
4405
  MediaResolution,
4406
+ JobState,
4407
+ AdapterSize,
3722
4408
  FeatureSelectionPreference,
3723
4409
  DynamicRetrievalConfigMode,
3724
4410
  FunctionCallingConfigMode,
@@ -3745,10 +4431,8 @@ declare namespace types {
3745
4431
  Part,
3746
4432
  Content,
3747
4433
  HttpOptions,
3748
- Schema,
3749
4434
  ModelSelectionConfig,
3750
4435
  SafetySetting,
3751
- FunctionDeclaration,
3752
4436
  GoogleSearch,
3753
4437
  DynamicRetrievalConfig,
3754
4438
  GoogleSearchRetrieval,
@@ -3763,6 +4447,8 @@ declare namespace types {
3763
4447
  VertexRagStore,
3764
4448
  Retrieval,
3765
4449
  ToolCodeExecution,
4450
+ Schema,
4451
+ FunctionDeclaration,
3766
4452
  Tool,
3767
4453
  FunctionCallingConfig,
3768
4454
  ToolConfig,
@@ -3812,6 +4498,11 @@ declare namespace types {
3812
4498
  Endpoint,
3813
4499
  TunedModelInfo,
3814
4500
  Model,
4501
+ UpdateModelConfig,
4502
+ UpdateModelParameters,
4503
+ DeleteModelConfig,
4504
+ DeleteModelParameters,
4505
+ DeleteModelResponse,
3815
4506
  GenerationConfig,
3816
4507
  CountTokensConfig,
3817
4508
  CountTokensParameters,
@@ -3826,6 +4517,34 @@ declare namespace types {
3826
4517
  GeneratedVideo,
3827
4518
  GenerateVideosResponse,
3828
4519
  GenerateVideosOperation,
4520
+ GetTuningJobConfig,
4521
+ GetTuningJobParameters,
4522
+ TunedModel,
4523
+ GoogleRpcStatus,
4524
+ SupervisedHyperParameters,
4525
+ SupervisedTuningSpec,
4526
+ DatasetDistributionDistributionBucket,
4527
+ DatasetDistribution,
4528
+ DatasetStats,
4529
+ DistillationDataStats,
4530
+ SupervisedTuningDatasetDistributionDatasetBucket,
4531
+ SupervisedTuningDatasetDistribution,
4532
+ SupervisedTuningDataStats,
4533
+ TuningDataStats,
4534
+ EncryptionSpec,
4535
+ PartnerModelTuningSpec,
4536
+ DistillationHyperParameters,
4537
+ DistillationSpec,
4538
+ TuningJob,
4539
+ ListTuningJobsConfig,
4540
+ ListTuningJobsParameters,
4541
+ ListTuningJobsResponse,
4542
+ TuningExample,
4543
+ TuningDataset,
4544
+ TuningValidationDataset,
4545
+ CreateTuningJobConfig,
4546
+ CreateTuningJobParameters,
4547
+ Operation,
3829
4548
  CreateCachedContentConfig,
3830
4549
  CreateCachedContentParameters,
3831
4550
  CachedContentUsageMetadata,
@@ -3909,6 +4628,7 @@ declare namespace types {
3909
4628
  LiveSendRealtimeInputParameters,
3910
4629
  LiveSendToolResponseParameters,
3911
4630
  OperationGetParameters,
4631
+ BlobImageUnion,
3912
4632
  PartUnion,
3913
4633
  PartListUnion,
3914
4634
  ContentUnion,
@@ -3923,6 +4643,13 @@ declare namespace types {
3923
4643
  export declare interface UpdateCachedContentConfig {
3924
4644
  /** Used to override HTTP request options. */
3925
4645
  httpOptions?: HttpOptions;
4646
+ /** Abort signal which can be used to cancel the request.
4647
+
4648
+ NOTE: AbortSignal is a client-only operation. Using it to cancel an
4649
+ operation will not cancel the request in the service. You will still
4650
+ be charged usage for any applicable operations.
4651
+ */
4652
+ abortSignal?: AbortSignal;
3926
4653
  /** The TTL for this resource. The expiration time is computed: now + TTL. It is a duration string, with up to nine fractional digits, terminated by 's'. Example: "3.5s". */
3927
4654
  ttl?: string;
3928
4655
  /** Timestamp of when this resource is considered expired. Uses RFC 3339 format, Example: 2014-10-02T15:01:23Z. */
@@ -3938,6 +4665,27 @@ export declare interface UpdateCachedContentParameters {
3938
4665
  config?: UpdateCachedContentConfig;
3939
4666
  }
3940
4667
 
4668
+ /** Configuration for updating a tuned model. */
4669
+ export declare interface UpdateModelConfig {
4670
+ /** Used to override HTTP request options. */
4671
+ httpOptions?: HttpOptions;
4672
+ /** Abort signal which can be used to cancel the request.
4673
+
4674
+ NOTE: AbortSignal is a client-only operation. Using it to cancel an
4675
+ operation will not cancel the request in the service. You will still
4676
+ be charged usage for any applicable operations.
4677
+ */
4678
+ abortSignal?: AbortSignal;
4679
+ displayName?: string;
4680
+ description?: string;
4681
+ }
4682
+
4683
+ /** Configuration for updating a tuned model. */
4684
+ export declare interface UpdateModelParameters {
4685
+ model: string;
4686
+ config?: UpdateModelConfig;
4687
+ }
4688
+
3941
4689
  declare interface Uploader {
3942
4690
  /**
3943
4691
  * Uploads a file to the given upload url.
@@ -3965,6 +4713,13 @@ declare interface Uploader {
3965
4713
  export declare interface UploadFileConfig {
3966
4714
  /** Used to override HTTP request options. */
3967
4715
  httpOptions?: HttpOptions;
4716
+ /** Abort signal which can be used to cancel the request.
4717
+
4718
+ NOTE: AbortSignal is a client-only operation. Using it to cancel an
4719
+ operation will not cancel the request in the service. You will still
4720
+ be charged usage for any applicable operations.
4721
+ */
4722
+ abortSignal?: AbortSignal;
3968
4723
  /** The name of the file in the destination (e.g., 'files/sample-image'. If not provided one will be generated. */
3969
4724
  name?: string;
3970
4725
  /** mime_type: The MIME type of the file. If not provided, it will be inferred from the file extension. */
@@ -3990,6 +4745,13 @@ export declare interface UploadFileParameters {
3990
4745
  export declare interface UpscaleImageConfig {
3991
4746
  /** Used to override HTTP request options. */
3992
4747
  httpOptions?: HttpOptions;
4748
+ /** Abort signal which can be used to cancel the request.
4749
+
4750
+ NOTE: AbortSignal is a client-only operation. Using it to cancel an
4751
+ operation will not cancel the request in the service. You will still
4752
+ be charged usage for any applicable operations.
4753
+ */
4754
+ abortSignal?: AbortSignal;
3993
4755
  /** Whether to include a reason for filtered-out images in the
3994
4756
  response. */
3995
4757
  includeRaiReason?: boolean;