@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.
@@ -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
  *
@@ -1807,6 +2119,7 @@ export declare class GoogleGenAI {
1807
2119
  readonly caches: Caches;
1808
2120
  readonly files: Files;
1809
2121
  readonly operations: Operations;
2122
+ readonly tunings: Tunings;
1810
2123
  constructor(options: GoogleGenAIOptions);
1811
2124
  }
1812
2125
 
@@ -1821,7 +2134,7 @@ export declare interface GoogleGenAIOptions {
1821
2134
  *
1822
2135
  * @remarks
1823
2136
  * When true, the {@link https://cloud.google.com/vertex-ai/docs/reference/rest | Vertex AI API} will used.
1824
- * When false, the {@link https://cloud.google.com/vertex-ai/docs/reference/rest | Gemini API} will be used.
2137
+ * When false, the {@link https://ai.google.dev/api | Gemini API} will be used.
1825
2138
  *
1826
2139
  * If unset, default SDK behavior is to use the Gemini API service.
1827
2140
  */
@@ -1829,12 +2142,14 @@ export declare interface GoogleGenAIOptions {
1829
2142
  /**
1830
2143
  * Optional. The Google Cloud project ID for Vertex AI clients.
1831
2144
  *
2145
+ * Find your project ID: https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects
2146
+ *
1832
2147
  * @remarks
1833
2148
  * Only supported on Node runtimes, ignored on browser runtimes.
1834
2149
  */
1835
2150
  project?: string;
1836
2151
  /**
1837
- * Optional. The Google Cloud project region for Vertex AI clients.
2152
+ * Optional. The Google Cloud project {@link https://cloud.google.com/vertex-ai/generative-ai/docs/learn/locations | location} for Vertex AI clients.
1838
2153
  *
1839
2154
  * @remarks
1840
2155
  * Only supported on Node runtimes, ignored on browser runtimes.
@@ -1871,6 +2186,16 @@ export declare interface GoogleGenAIOptions {
1871
2186
  httpOptions?: HttpOptions;
1872
2187
  }
1873
2188
 
2189
+ /** 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). */
2190
+ export declare interface GoogleRpcStatus {
2191
+ /** The status code, which should be an enum value of google.rpc.Code. */
2192
+ code?: number;
2193
+ /** A list of messages that carry the error details. There is a common set of message types for APIs to use. */
2194
+ details?: Record<string, unknown>[];
2195
+ /** 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. */
2196
+ message?: string;
2197
+ }
2198
+
1874
2199
  /** Tool to support Google Search in Model. Powered by Google. */
1875
2200
  export declare interface GoogleSearch {
1876
2201
  }
@@ -2045,6 +2370,10 @@ declare interface HttpRequest {
2045
2370
  * Optional set of customizable configuration for HTTP requests.
2046
2371
  */
2047
2372
  httpOptions?: HttpOptions;
2373
+ /**
2374
+ * Optional abort signal which can be used to cancel the request.
2375
+ */
2376
+ abortSignal?: AbortSignal;
2048
2377
  }
2049
2378
 
2050
2379
  /** A wrapper class for the http response. */
@@ -2083,6 +2412,22 @@ export declare enum ImagePromptLanguage {
2083
2412
  hi = "hi"
2084
2413
  }
2085
2414
 
2415
+ /** Output only. The detailed state of the job. */
2416
+ export declare enum JobState {
2417
+ JOB_STATE_UNSPECIFIED = "JOB_STATE_UNSPECIFIED",
2418
+ JOB_STATE_QUEUED = "JOB_STATE_QUEUED",
2419
+ JOB_STATE_PENDING = "JOB_STATE_PENDING",
2420
+ JOB_STATE_RUNNING = "JOB_STATE_RUNNING",
2421
+ JOB_STATE_SUCCEEDED = "JOB_STATE_SUCCEEDED",
2422
+ JOB_STATE_FAILED = "JOB_STATE_FAILED",
2423
+ JOB_STATE_CANCELLING = "JOB_STATE_CANCELLING",
2424
+ JOB_STATE_CANCELLED = "JOB_STATE_CANCELLED",
2425
+ JOB_STATE_PAUSED = "JOB_STATE_PAUSED",
2426
+ JOB_STATE_EXPIRED = "JOB_STATE_EXPIRED",
2427
+ JOB_STATE_UPDATING = "JOB_STATE_UPDATING",
2428
+ JOB_STATE_PARTIALLY_SUCCEEDED = "JOB_STATE_PARTIALLY_SUCCEEDED"
2429
+ }
2430
+
2086
2431
  /** Required. Programming language of the `code`. */
2087
2432
  export declare enum Language {
2088
2433
  LANGUAGE_UNSPECIFIED = "LANGUAGE_UNSPECIFIED",
@@ -2093,6 +2438,13 @@ export declare enum Language {
2093
2438
  export declare interface ListCachedContentsConfig {
2094
2439
  /** Used to override HTTP request options. */
2095
2440
  httpOptions?: HttpOptions;
2441
+ /** Abort signal which can be used to cancel the request.
2442
+
2443
+ NOTE: AbortSignal is a client-only operation. Using it to cancel an
2444
+ operation will not cancel the request in the service. You will still
2445
+ be charged usage for any applicable operations.
2446
+ */
2447
+ abortSignal?: AbortSignal;
2096
2448
  pageSize?: number;
2097
2449
  pageToken?: string;
2098
2450
  }
@@ -2115,6 +2467,13 @@ export declare class ListCachedContentsResponse {
2115
2467
  export declare interface ListFilesConfig {
2116
2468
  /** Used to override HTTP request options. */
2117
2469
  httpOptions?: HttpOptions;
2470
+ /** Abort signal which can be used to cancel the request.
2471
+
2472
+ NOTE: AbortSignal is a client-only operation. Using it to cancel an
2473
+ operation will not cancel the request in the service. You will still
2474
+ be charged usage for any applicable operations.
2475
+ */
2476
+ abortSignal?: AbortSignal;
2118
2477
  pageSize?: number;
2119
2478
  pageToken?: string;
2120
2479
  }
@@ -2133,6 +2492,35 @@ export declare class ListFilesResponse {
2133
2492
  files?: File_2[];
2134
2493
  }
2135
2494
 
2495
+ /** Configuration for the list tuning jobs method. */
2496
+ export declare interface ListTuningJobsConfig {
2497
+ /** Used to override HTTP request options. */
2498
+ httpOptions?: HttpOptions;
2499
+ /** Abort signal which can be used to cancel the request.
2500
+
2501
+ NOTE: AbortSignal is a client-only operation. Using it to cancel an
2502
+ operation will not cancel the request in the service. You will still
2503
+ be charged usage for any applicable operations.
2504
+ */
2505
+ abortSignal?: AbortSignal;
2506
+ pageSize?: number;
2507
+ pageToken?: string;
2508
+ filter?: string;
2509
+ }
2510
+
2511
+ /** Parameters for the list tuning jobs method. */
2512
+ export declare interface ListTuningJobsParameters {
2513
+ config?: ListTuningJobsConfig;
2514
+ }
2515
+
2516
+ /** Response for the list tuning jobs method. */
2517
+ export declare class ListTuningJobsResponse {
2518
+ /** A token to retrieve the next page of results. Pass to ListTuningJobsRequest.page_token to obtain that page. */
2519
+ nextPageToken?: string;
2520
+ /** List of TuningJobs in the requested page. */
2521
+ tuningJobs?: TuningJob[];
2522
+ }
2523
+
2136
2524
  /**
2137
2525
  Live class encapsulates the configuration for live interaction with the
2138
2526
  Generative Language API. It embeds ApiClient for general API settings.
@@ -2259,6 +2647,22 @@ export declare interface LiveClientMessage {
2259
2647
  export declare interface LiveClientRealtimeInput {
2260
2648
  /** Inlined bytes data for media input. */
2261
2649
  mediaChunks?: Blob_2[];
2650
+ /** The realtime audio input stream. */
2651
+ audio?: Blob_2;
2652
+ /**
2653
+ Indicates that the audio stream has ended, e.g. because the microphone was
2654
+ turned off.
2655
+
2656
+ This should only be sent when automatic activity detection is enabled
2657
+ (which is the default).
2658
+
2659
+ The client can reopen the stream by sending an audio message.
2660
+ */
2661
+ audioStreamEnd?: boolean;
2662
+ /** The realtime video input stream. */
2663
+ video?: Blob_2;
2664
+ /** The realtime text input stream. */
2665
+ text?: string;
2262
2666
  /** Marks the start of user activity. */
2263
2667
  activityStart?: ActivityStart;
2264
2668
  /** Marks the end of user activity. */
@@ -2414,7 +2818,23 @@ export declare interface LiveSendClientContentParameters {
2414
2818
  /** Parameters for sending realtime input to the live API. */
2415
2819
  export declare interface LiveSendRealtimeInputParameters {
2416
2820
  /** Realtime input to send to the session. */
2417
- media: Blob_2;
2821
+ media?: BlobImageUnion;
2822
+ /** The realtime audio input stream. */
2823
+ audio?: Blob_2;
2824
+ /**
2825
+ Indicates that the audio stream has ended, e.g. because the microphone was
2826
+ turned off.
2827
+
2828
+ This should only be sent when automatic activity detection is enabled
2829
+ (which is the default).
2830
+
2831
+ The client can reopen the stream by sending an audio message.
2832
+ */
2833
+ audioStreamEnd?: boolean;
2834
+ /** The realtime video input stream. */
2835
+ video?: BlobImageUnion;
2836
+ /** The realtime text input stream. */
2837
+ text?: string;
2418
2838
  /** Marks the start of user activity. */
2419
2839
  activityStart?: ActivityStart;
2420
2840
  /** Marks the end of user activity. */
@@ -2815,6 +3235,36 @@ export declare class Models extends BaseModule {
2815
3235
  * ```
2816
3236
  */
2817
3237
  get(params: types.GetModelParameters): Promise<types.Model>;
3238
+ /**
3239
+ * Updates a tuned model by its name.
3240
+ *
3241
+ * @param params - The parameters for updating the model.
3242
+ * @return The response from the API.
3243
+ *
3244
+ * @example
3245
+ * ```ts
3246
+ * const response = await ai.models.update({
3247
+ * model: 'tuned-model-name',
3248
+ * config: {
3249
+ * displayName: 'New display name',
3250
+ * description: 'New description',
3251
+ * },
3252
+ * });
3253
+ * ```
3254
+ */
3255
+ update(params: types.UpdateModelParameters): Promise<types.Model>;
3256
+ /**
3257
+ * Deletes a tuned model by its name.
3258
+ *
3259
+ * @param params - The parameters for deleting the model.
3260
+ * @return The response from the API.
3261
+ *
3262
+ * @example
3263
+ * ```ts
3264
+ * const response = await ai.models.delete({model: 'tuned-model-name'});
3265
+ * ```
3266
+ */
3267
+ delete(params: types.DeleteModelParameters): Promise<types.DeleteModelResponse>;
2818
3268
  /**
2819
3269
  * Counts the number of tokens in the given contents. Multimodal input is
2820
3270
  * supported for Gemini models.
@@ -2883,6 +3333,18 @@ export declare interface ModelSelectionConfig {
2883
3333
  featureSelectionPreference?: FeatureSelectionPreference;
2884
3334
  }
2885
3335
 
3336
+ /** A long-running operation. */
3337
+ export declare interface Operation {
3338
+ /** 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}`. */
3339
+ name?: string;
3340
+ /** 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. */
3341
+ metadata?: Record<string, unknown>;
3342
+ /** 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. */
3343
+ done?: boolean;
3344
+ /** The error result of the operation in case of failure or cancellation. */
3345
+ error?: Record<string, unknown>;
3346
+ }
3347
+
2886
3348
  /** Parameters for the get method of the operations module. */
2887
3349
  export declare interface OperationGetParameters {
2888
3350
  /** The operation to be retrieved. */
@@ -3074,6 +3536,16 @@ export declare interface Part {
3074
3536
 
3075
3537
  export declare type PartListUnion = PartUnion[] | PartUnion;
3076
3538
 
3539
+ /** Tuning spec for Partner models. */
3540
+ export declare interface PartnerModelTuningSpec {
3541
+ /** Hyperparameters for tuning. The accepted hyper_parameters and their valid range of values will differ depending on the base model. */
3542
+ hyperParameters?: Record<string, unknown>;
3543
+ /** Required. Cloud Storage path to file containing training dataset for tuning. The dataset must be formatted as a JSONL file. */
3544
+ trainingDatasetUri?: string;
3545
+ /** Optional. Cloud Storage path to file containing validation dataset for tuning. The dataset must be formatted as a JSONL file. */
3546
+ validationDatasetUri?: string;
3547
+ }
3548
+
3077
3549
  export declare type PartUnion = Part | string;
3078
3550
 
3079
3551
  /** Enum that controls the generation of people. */
@@ -3259,45 +3731,42 @@ export declare interface SafetySetting {
3259
3731
  threshold?: HarmBlockThreshold;
3260
3732
  }
3261
3733
 
3262
- /** Schema that defines the format of input and output data.
3263
-
3264
- Represents a select subset of an OpenAPI 3.0 schema object.
3265
- */
3734
+ /** 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. */
3266
3735
  export declare interface Schema {
3267
- /** Optional. Example of the object. Will only populated when the object is the root. */
3268
- example?: unknown;
3269
- /** Optional. Pattern of the Type.STRING to restrict a string to a regular expression. */
3270
- pattern?: string;
3271
- /** Optional. Default value of the data. */
3272
- default?: unknown;
3273
- /** Optional. Maximum length of the Type.STRING */
3274
- maxLength?: string;
3275
- /** Optional. SCHEMA FIELDS FOR TYPE STRING Minimum length of the Type.STRING */
3276
- minLength?: string;
3277
- /** Optional. Minimum number of the properties for Type.OBJECT. */
3278
- minProperties?: string;
3279
- /** Optional. Maximum number of the properties for Type.OBJECT. */
3280
- maxProperties?: string;
3281
3736
  /** Optional. The value should be validated against any (one or more) of the subschemas in the list. */
3282
3737
  anyOf?: Schema[];
3738
+ /** Optional. Default value of the data. */
3739
+ default?: unknown;
3283
3740
  /** Optional. The description of the data. */
3284
3741
  description?: string;
3285
3742
  /** 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"]} */
3286
3743
  enum?: string[];
3744
+ /** Optional. Example of the object. Will only populated when the object is the root. */
3745
+ example?: unknown;
3287
3746
  /** Optional. The format of the data. Supported formats: for NUMBER type: "float", "double" for INTEGER type: "int32", "int64" for STRING type: "email", "byte", etc */
3288
3747
  format?: string;
3289
3748
  /** Optional. SCHEMA FIELDS FOR TYPE ARRAY Schema of the elements of Type.ARRAY. */
3290
3749
  items?: Schema;
3291
3750
  /** Optional. Maximum number of the elements for Type.ARRAY. */
3292
3751
  maxItems?: string;
3752
+ /** Optional. Maximum length of the Type.STRING */
3753
+ maxLength?: string;
3754
+ /** Optional. Maximum number of the properties for Type.OBJECT. */
3755
+ maxProperties?: string;
3293
3756
  /** Optional. Maximum value of the Type.INTEGER and Type.NUMBER */
3294
3757
  maximum?: number;
3295
3758
  /** Optional. Minimum number of the elements for Type.ARRAY. */
3296
3759
  minItems?: string;
3760
+ /** Optional. SCHEMA FIELDS FOR TYPE STRING Minimum length of the Type.STRING */
3761
+ minLength?: string;
3762
+ /** Optional. Minimum number of the properties for Type.OBJECT. */
3763
+ minProperties?: string;
3297
3764
  /** Optional. SCHEMA FIELDS FOR TYPE INTEGER and NUMBER Minimum value of the Type.INTEGER and Type.NUMBER */
3298
3765
  minimum?: number;
3299
3766
  /** Optional. Indicates if the value may be null. */
3300
3767
  nullable?: boolean;
3768
+ /** Optional. Pattern of the Type.STRING to restrict a string to a regular expression. */
3769
+ pattern?: string;
3301
3770
  /** Optional. SCHEMA FIELDS FOR TYPE OBJECT Properties of Type.OBJECT. */
3302
3771
  properties?: Record<string, Schema>;
3303
3772
  /** Optional. The order of the properties. Not a standard field in open api spec. Only used to support the order of the properties. */
@@ -3363,7 +3832,6 @@ export declare class Session {
3363
3832
  private readonly apiClient;
3364
3833
  constructor(conn: WebSocket_2, apiClient: ApiClient);
3365
3834
  private tLiveClientContent;
3366
- private tLiveClientRealtimeInput;
3367
3835
  private tLiveClienttToolResponse;
3368
3836
  /**
3369
3837
  Send a message over the established connection.
@@ -3493,6 +3961,28 @@ export declare interface SessionResumptionConfig {
3493
3961
  transparent?: boolean;
3494
3962
  }
3495
3963
 
3964
+ /**
3965
+ * Overrides the base URLs for the Gemini API and Vertex AI API.
3966
+ *
3967
+ * @remarks This function should be called before initializing the SDK. If the
3968
+ * base URLs are set after initializing the SDK, the base URLs will not be
3969
+ * updated. Base URLs provided in the HttpOptions will also take precedence over
3970
+ * URLs set here.
3971
+ *
3972
+ * @example
3973
+ * ```ts
3974
+ * import {GoogleGenAI, setDefaultBaseUrls} from '@google/genai';
3975
+ * // Override the base URL for the Gemini API.
3976
+ * setDefaultBaseUrls({geminiUrl:'https://gemini.google.com'});
3977
+ *
3978
+ * // Override the base URL for the Vertex AI API.
3979
+ * setDefaultBaseUrls({vertexUrl: 'https://vertexai.googleapis.com'});
3980
+ *
3981
+ * const ai = new GoogleGenAI({apiKey: 'GEMINI_API_KEY'});
3982
+ * ```
3983
+ */
3984
+ export declare function setDefaultBaseUrls(baseUrlParams: BaseUrlParameters): void;
3985
+
3496
3986
  /** Context window will be truncated by keeping only suffix of it.
3497
3987
 
3498
3988
  Context window will always be cut at start of USER role turn. System
@@ -3585,6 +4075,84 @@ export declare enum SubjectReferenceType {
3585
4075
  SUBJECT_TYPE_PRODUCT = "SUBJECT_TYPE_PRODUCT"
3586
4076
  }
3587
4077
 
4078
+ /** Hyperparameters for SFT. */
4079
+ export declare interface SupervisedHyperParameters {
4080
+ /** Optional. Adapter size for tuning. */
4081
+ adapterSize?: AdapterSize;
4082
+ /** Optional. Number of complete passes the model makes over the entire training dataset during training. */
4083
+ epochCount?: string;
4084
+ /** Optional. Multiplier for adjusting the default learning rate. */
4085
+ learningRateMultiplier?: number;
4086
+ }
4087
+
4088
+ /** Dataset distribution for Supervised Tuning. */
4089
+ export declare interface SupervisedTuningDatasetDistribution {
4090
+ /** Output only. Sum of a given population of values that are billable. */
4091
+ billableSum?: string;
4092
+ /** Output only. Defines the histogram bucket. */
4093
+ buckets?: SupervisedTuningDatasetDistributionDatasetBucket[];
4094
+ /** Output only. The maximum of the population values. */
4095
+ max?: number;
4096
+ /** Output only. The arithmetic mean of the values in the population. */
4097
+ mean?: number;
4098
+ /** Output only. The median of the values in the population. */
4099
+ median?: number;
4100
+ /** Output only. The minimum of the population values. */
4101
+ min?: number;
4102
+ /** Output only. The 5th percentile of the values in the population. */
4103
+ p5?: number;
4104
+ /** Output only. The 95th percentile of the values in the population. */
4105
+ p95?: number;
4106
+ /** Output only. Sum of a given population of values. */
4107
+ sum?: string;
4108
+ }
4109
+
4110
+ /** Dataset bucket used to create a histogram for the distribution given a population of values. */
4111
+ export declare interface SupervisedTuningDatasetDistributionDatasetBucket {
4112
+ /** Output only. Number of values in the bucket. */
4113
+ count?: number;
4114
+ /** Output only. Left bound of the bucket. */
4115
+ left?: number;
4116
+ /** Output only. Right bound of the bucket. */
4117
+ right?: number;
4118
+ }
4119
+
4120
+ /** Tuning data statistics for Supervised Tuning. */
4121
+ export declare interface SupervisedTuningDataStats {
4122
+ /** Output only. Number of billable characters in the tuning dataset. */
4123
+ totalBillableCharacterCount?: string;
4124
+ /** Output only. Number of billable tokens in the tuning dataset. */
4125
+ totalBillableTokenCount?: string;
4126
+ /** The number of examples in the dataset that have been truncated by any amount. */
4127
+ totalTruncatedExampleCount?: string;
4128
+ /** Output only. Number of tuning characters in the tuning dataset. */
4129
+ totalTuningCharacterCount?: string;
4130
+ /** A partial sample of the indices (starting from 1) of the truncated examples. */
4131
+ truncatedExampleIndices?: string[];
4132
+ /** Output only. Number of examples in the tuning dataset. */
4133
+ tuningDatasetExampleCount?: string;
4134
+ /** Output only. Number of tuning steps for this Tuning Job. */
4135
+ tuningStepCount?: string;
4136
+ /** Output only. Sample user messages in the training dataset uri. */
4137
+ userDatasetExamples?: Content[];
4138
+ /** Output only. Dataset distributions for the user input tokens. */
4139
+ userInputTokenDistribution?: SupervisedTuningDatasetDistribution;
4140
+ /** Output only. Dataset distributions for the messages per example. */
4141
+ userMessagePerExampleDistribution?: SupervisedTuningDatasetDistribution;
4142
+ /** Output only. Dataset distributions for the user output tokens. */
4143
+ userOutputTokenDistribution?: SupervisedTuningDatasetDistribution;
4144
+ }
4145
+
4146
+ /** Tuning Spec for Supervised Tuning for first party models. */
4147
+ export declare interface SupervisedTuningSpec {
4148
+ /** Optional. Hyperparameters for SFT. */
4149
+ hyperParameters?: SupervisedHyperParameters;
4150
+ /** Required. Cloud Storage path to file containing training dataset for tuning. The dataset must be formatted as a JSONL file. */
4151
+ trainingDatasetUri?: string;
4152
+ /** Optional. Cloud Storage path to file containing validation dataset for tuning. The dataset must be formatted as a JSONL file. */
4153
+ validationDatasetUri?: string;
4154
+ }
4155
+
3588
4156
  export declare interface TestTableFile {
3589
4157
  comment?: string;
3590
4158
  testMethod?: string;
@@ -3633,8 +4201,6 @@ export declare interface TokensInfo {
3633
4201
 
3634
4202
  /** Tool details of a tool that the model may use to generate a response. */
3635
4203
  export declare interface Tool {
3636
- /** List of function declarations that the tool supports. */
3637
- functionDeclarations?: FunctionDeclaration[];
3638
4204
  /** 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. */
3639
4205
  retrieval?: Retrieval;
3640
4206
  /** Optional. Google Search tool type. Specialized retrieval tool
@@ -3644,6 +4210,8 @@ export declare interface Tool {
3644
4210
  googleSearchRetrieval?: GoogleSearchRetrieval;
3645
4211
  /** 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. */
3646
4212
  codeExecution?: ToolCodeExecution;
4213
+ /** 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. */
4214
+ functionDeclarations?: FunctionDeclaration[];
3647
4215
  }
3648
4216
 
3649
4217
  /** 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. */
@@ -3678,6 +4246,13 @@ export declare interface Transcription {
3678
4246
  finished?: boolean;
3679
4247
  }
3680
4248
 
4249
+ export declare interface TunedModel {
4250
+ /** Output only. The resource name of the TunedModel. Format: `projects/{project}/locations/{location}/models/{model}`. */
4251
+ model?: string;
4252
+ /** Output only. A resource name of an Endpoint. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`. */
4253
+ endpoint?: string;
4254
+ }
4255
+
3681
4256
  /** A tuned machine learning model. */
3682
4257
  export declare interface TunedModelInfo {
3683
4258
  /** ID of the base model that you want to tune. */
@@ -3688,6 +4263,115 @@ export declare interface TunedModelInfo {
3688
4263
  updateTime?: string;
3689
4264
  }
3690
4265
 
4266
+ /** Supervised fine-tuning training dataset. */
4267
+ export declare interface TuningDataset {
4268
+ /** GCS URI of the file containing training dataset in JSONL format. */
4269
+ gcsUri?: string;
4270
+ /** Inline examples with simple input/output text. */
4271
+ examples?: TuningExample[];
4272
+ }
4273
+
4274
+ /** The tuning data statistic values for TuningJob. */
4275
+ export declare interface TuningDataStats {
4276
+ /** Output only. Statistics for distillation. */
4277
+ distillationDataStats?: DistillationDataStats;
4278
+ /** The SFT Tuning data stats. */
4279
+ supervisedTuningDataStats?: SupervisedTuningDataStats;
4280
+ }
4281
+
4282
+ export declare interface TuningExample {
4283
+ /** Text model input. */
4284
+ textInput?: string;
4285
+ /** The expected model output. */
4286
+ output?: string;
4287
+ }
4288
+
4289
+ /** A tuning job. */
4290
+ export declare interface TuningJob {
4291
+ /** Output only. Identifier. Resource name of a TuningJob. Format: `projects/{project}/locations/{location}/tuningJobs/{tuning_job}` */
4292
+ name?: string;
4293
+ /** Output only. The detailed state of the job. */
4294
+ state?: JobState;
4295
+ /** Output only. Time when the TuningJob was created. */
4296
+ createTime?: string;
4297
+ /** Output only. Time when the TuningJob for the first time entered the `JOB_STATE_RUNNING` state. */
4298
+ startTime?: string;
4299
+ /** Output only. Time when the TuningJob entered any of the following JobStates: `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED`, `JOB_STATE_CANCELLED`, `JOB_STATE_EXPIRED`. */
4300
+ endTime?: string;
4301
+ /** Output only. Time when the TuningJob was most recently updated. */
4302
+ updateTime?: string;
4303
+ /** Output only. Only populated when job's state is `JOB_STATE_FAILED` or `JOB_STATE_CANCELLED`. */
4304
+ error?: GoogleRpcStatus;
4305
+ /** Optional. The description of the TuningJob. */
4306
+ description?: string;
4307
+ /** The base model that is being tuned, e.g., "gemini-1.0-pro-002". . */
4308
+ baseModel?: string;
4309
+ /** Output only. The tuned model resources associated with this TuningJob. */
4310
+ tunedModel?: TunedModel;
4311
+ /** Tuning Spec for Supervised Fine Tuning. */
4312
+ supervisedTuningSpec?: SupervisedTuningSpec;
4313
+ /** Output only. The tuning data statistics associated with this TuningJob. */
4314
+ tuningDataStats?: TuningDataStats;
4315
+ /** 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. */
4316
+ encryptionSpec?: EncryptionSpec;
4317
+ /** Tuning Spec for open sourced and third party Partner models. */
4318
+ partnerModelTuningSpec?: PartnerModelTuningSpec;
4319
+ /** Tuning Spec for Distillation. */
4320
+ distillationSpec?: DistillationSpec;
4321
+ /** Output only. The Experiment associated with this TuningJob. */
4322
+ experiment?: string;
4323
+ /** 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. */
4324
+ labels?: Record<string, string>;
4325
+ /** Output only. The resource name of the PipelineJob associated with the TuningJob. Format: `projects/{project}/locations/{location}/pipelineJobs/{pipeline_job}`. */
4326
+ pipelineJob?: string;
4327
+ /** Optional. The display name of the TunedModel. The name can be up to 128 characters long and can consist of any UTF-8 characters. */
4328
+ tunedModelDisplayName?: string;
4329
+ }
4330
+
4331
+ declare class Tunings extends BaseModule {
4332
+ private readonly apiClient;
4333
+ constructor(apiClient: ApiClient);
4334
+ /**
4335
+ * Gets a TuningJob.
4336
+ *
4337
+ * @param name - The resource name of the tuning job.
4338
+ * @return - A TuningJob object.
4339
+ *
4340
+ * @experimental - The SDK's tuning implementation is experimental, and may
4341
+ * change in future versions.
4342
+ */
4343
+ get: (params: types.GetTuningJobParameters) => Promise<types.TuningJob>;
4344
+ /**
4345
+ * Lists tuning jobs.
4346
+ *
4347
+ * @param config - The configuration for the list request.
4348
+ * @return - A list of tuning jobs.
4349
+ *
4350
+ * @experimental - The SDK's tuning implementation is experimental, and may
4351
+ * change in future versions.
4352
+ */
4353
+ list: (params?: types.ListTuningJobsParameters) => Promise<Pager<types.TuningJob>>;
4354
+ /**
4355
+ * Creates a supervised fine-tuning job.
4356
+ *
4357
+ * @param params - The parameters for the tuning job.
4358
+ * @return - A TuningJob operation.
4359
+ *
4360
+ * @experimental - The SDK's tuning implementation is experimental, and may
4361
+ * change in future versions.
4362
+ */
4363
+ tune: (params: types.CreateTuningJobParameters) => Promise<types.TuningJob>;
4364
+ private getInternal;
4365
+ private listInternal;
4366
+ private tuneInternal;
4367
+ private tuneMldevInternal;
4368
+ }
4369
+
4370
+ export declare interface TuningValidationDataset {
4371
+ /** GCS URI of the file containing validation dataset in JSONL format. */
4372
+ gcsUri?: string;
4373
+ }
4374
+
3691
4375
  /** Options about which input is included in the user's turn. */
3692
4376
  export declare enum TurnCoverage {
3693
4377
  TURN_COVERAGE_UNSPECIFIED = "TURN_COVERAGE_UNSPECIFIED",
@@ -3719,11 +4403,11 @@ declare namespace types {
3719
4403
  createModelContent,
3720
4404
  Outcome,
3721
4405
  Language,
3722
- Type,
3723
4406
  HarmCategory,
3724
4407
  HarmBlockMethod,
3725
4408
  HarmBlockThreshold,
3726
4409
  Mode,
4410
+ Type,
3727
4411
  FinishReason,
3728
4412
  HarmProbability,
3729
4413
  HarmSeverity,
@@ -3731,6 +4415,8 @@ declare namespace types {
3731
4415
  TrafficType,
3732
4416
  Modality,
3733
4417
  MediaResolution,
4418
+ JobState,
4419
+ AdapterSize,
3734
4420
  FeatureSelectionPreference,
3735
4421
  DynamicRetrievalConfigMode,
3736
4422
  FunctionCallingConfigMode,
@@ -3757,10 +4443,8 @@ declare namespace types {
3757
4443
  Part,
3758
4444
  Content,
3759
4445
  HttpOptions,
3760
- Schema,
3761
4446
  ModelSelectionConfig,
3762
4447
  SafetySetting,
3763
- FunctionDeclaration,
3764
4448
  GoogleSearch,
3765
4449
  DynamicRetrievalConfig,
3766
4450
  GoogleSearchRetrieval,
@@ -3775,6 +4459,8 @@ declare namespace types {
3775
4459
  VertexRagStore,
3776
4460
  Retrieval,
3777
4461
  ToolCodeExecution,
4462
+ Schema,
4463
+ FunctionDeclaration,
3778
4464
  Tool,
3779
4465
  FunctionCallingConfig,
3780
4466
  ToolConfig,
@@ -3824,6 +4510,11 @@ declare namespace types {
3824
4510
  Endpoint,
3825
4511
  TunedModelInfo,
3826
4512
  Model,
4513
+ UpdateModelConfig,
4514
+ UpdateModelParameters,
4515
+ DeleteModelConfig,
4516
+ DeleteModelParameters,
4517
+ DeleteModelResponse,
3827
4518
  GenerationConfig,
3828
4519
  CountTokensConfig,
3829
4520
  CountTokensParameters,
@@ -3838,6 +4529,34 @@ declare namespace types {
3838
4529
  GeneratedVideo,
3839
4530
  GenerateVideosResponse,
3840
4531
  GenerateVideosOperation,
4532
+ GetTuningJobConfig,
4533
+ GetTuningJobParameters,
4534
+ TunedModel,
4535
+ GoogleRpcStatus,
4536
+ SupervisedHyperParameters,
4537
+ SupervisedTuningSpec,
4538
+ DatasetDistributionDistributionBucket,
4539
+ DatasetDistribution,
4540
+ DatasetStats,
4541
+ DistillationDataStats,
4542
+ SupervisedTuningDatasetDistributionDatasetBucket,
4543
+ SupervisedTuningDatasetDistribution,
4544
+ SupervisedTuningDataStats,
4545
+ TuningDataStats,
4546
+ EncryptionSpec,
4547
+ PartnerModelTuningSpec,
4548
+ DistillationHyperParameters,
4549
+ DistillationSpec,
4550
+ TuningJob,
4551
+ ListTuningJobsConfig,
4552
+ ListTuningJobsParameters,
4553
+ ListTuningJobsResponse,
4554
+ TuningExample,
4555
+ TuningDataset,
4556
+ TuningValidationDataset,
4557
+ CreateTuningJobConfig,
4558
+ CreateTuningJobParameters,
4559
+ Operation,
3841
4560
  CreateCachedContentConfig,
3842
4561
  CreateCachedContentParameters,
3843
4562
  CachedContentUsageMetadata,
@@ -3921,6 +4640,7 @@ declare namespace types {
3921
4640
  LiveSendRealtimeInputParameters,
3922
4641
  LiveSendToolResponseParameters,
3923
4642
  OperationGetParameters,
4643
+ BlobImageUnion,
3924
4644
  PartUnion,
3925
4645
  PartListUnion,
3926
4646
  ContentUnion,
@@ -3935,6 +4655,13 @@ declare namespace types {
3935
4655
  export declare interface UpdateCachedContentConfig {
3936
4656
  /** Used to override HTTP request options. */
3937
4657
  httpOptions?: HttpOptions;
4658
+ /** Abort signal which can be used to cancel the request.
4659
+
4660
+ NOTE: AbortSignal is a client-only operation. Using it to cancel an
4661
+ operation will not cancel the request in the service. You will still
4662
+ be charged usage for any applicable operations.
4663
+ */
4664
+ abortSignal?: AbortSignal;
3938
4665
  /** 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". */
3939
4666
  ttl?: string;
3940
4667
  /** Timestamp of when this resource is considered expired. Uses RFC 3339 format, Example: 2014-10-02T15:01:23Z. */
@@ -3950,6 +4677,27 @@ export declare interface UpdateCachedContentParameters {
3950
4677
  config?: UpdateCachedContentConfig;
3951
4678
  }
3952
4679
 
4680
+ /** Configuration for updating a tuned model. */
4681
+ export declare interface UpdateModelConfig {
4682
+ /** Used to override HTTP request options. */
4683
+ httpOptions?: HttpOptions;
4684
+ /** Abort signal which can be used to cancel the request.
4685
+
4686
+ NOTE: AbortSignal is a client-only operation. Using it to cancel an
4687
+ operation will not cancel the request in the service. You will still
4688
+ be charged usage for any applicable operations.
4689
+ */
4690
+ abortSignal?: AbortSignal;
4691
+ displayName?: string;
4692
+ description?: string;
4693
+ }
4694
+
4695
+ /** Configuration for updating a tuned model. */
4696
+ export declare interface UpdateModelParameters {
4697
+ model: string;
4698
+ config?: UpdateModelConfig;
4699
+ }
4700
+
3953
4701
  declare interface Uploader {
3954
4702
  /**
3955
4703
  * Uploads a file to the given upload url.
@@ -3977,6 +4725,13 @@ declare interface Uploader {
3977
4725
  export declare interface UploadFileConfig {
3978
4726
  /** Used to override HTTP request options. */
3979
4727
  httpOptions?: HttpOptions;
4728
+ /** Abort signal which can be used to cancel the request.
4729
+
4730
+ NOTE: AbortSignal is a client-only operation. Using it to cancel an
4731
+ operation will not cancel the request in the service. You will still
4732
+ be charged usage for any applicable operations.
4733
+ */
4734
+ abortSignal?: AbortSignal;
3980
4735
  /** The name of the file in the destination (e.g., 'files/sample-image'. If not provided one will be generated. */
3981
4736
  name?: string;
3982
4737
  /** mime_type: The MIME type of the file. If not provided, it will be inferred from the file extension. */
@@ -4002,6 +4757,13 @@ export declare interface UploadFileParameters {
4002
4757
  export declare interface UpscaleImageConfig {
4003
4758
  /** Used to override HTTP request options. */
4004
4759
  httpOptions?: HttpOptions;
4760
+ /** Abort signal which can be used to cancel the request.
4761
+
4762
+ NOTE: AbortSignal is a client-only operation. Using it to cancel an
4763
+ operation will not cancel the request in the service. You will still
4764
+ be charged usage for any applicable operations.
4765
+ */
4766
+ abortSignal?: AbortSignal;
4005
4767
  /** Whether to include a reason for filtered-out images in the
4006
4768
  response. */
4007
4769
  includeRaiReason?: boolean;