Google Gemini Developer API plugin.

Methods

Methods

  • Parameters

    • name: string
    • Optionalconfig: {
          apiKey?: string;
          outputDimensionality?: number;
          taskType?:
              | "RETRIEVAL_DOCUMENT"
              | "RETRIEVAL_QUERY"
              | "SEMANTIC_SIMILARITY"
              | "CLASSIFICATION"
              | "CLUSTERING";
          title?: string;
          version?: string;
      }
      • OptionalapiKey?: string

        Override the API key provided at plugin initialization.

      • OptionaloutputDimensionality?: number

        The outputDimensionality parameter allows you to specify the dimensionality of the embedding output. By default, the model generates embeddings with 768 dimensions. Models such as text-embedding-004, text-embedding-005, and text-multilingual-embedding-002 allow the output dimensionality to be adjusted between 1 and 768. By selecting a smaller output dimensionality, users can save memory and storage space, leading to more efficient computations.

      • OptionaltaskType?:
            | "RETRIEVAL_DOCUMENT"
            | "RETRIEVAL_QUERY"
            | "SEMANTIC_SIMILARITY"
            | "CLASSIFICATION"
            | "CLUSTERING"

        The task_type parameter is defined as the intended downstream application to help the model produce better quality embeddings.

      • Optionaltitle?: string
      • Optionalversion?: string

    Returns EmbedderReference<
        z.ZodObject<
            {
                apiKey: z.ZodOptional<z.ZodString>;
                outputDimensionality: z.ZodOptional<z.ZodNumber>;
                taskType: z.ZodOptional<
                    z.ZodEnum<
                        [
                            "RETRIEVAL_DOCUMENT",
                            "RETRIEVAL_QUERY",
                            "SEMANTIC_SIMILARITY",
                            "CLASSIFICATION",
                            "CLUSTERING",
                        ],
                    >,
                >;
                title: z.ZodOptional<z.ZodString>;
                version: z.ZodOptional<z.ZodString>;
            },
            "strip",
            z.ZodTypeAny,
            {
                apiKey?: string;
                outputDimensionality?: number;
                taskType?: | "RETRIEVAL_DOCUMENT"
                | "RETRIEVAL_QUERY"
                | "SEMANTIC_SIMILARITY"
                | "CLASSIFICATION"
                | "CLUSTERING";
                title?: string;
                version?: string;
            },
            {
                apiKey?: string;
                outputDimensionality?: number;
                taskType?: | "RETRIEVAL_DOCUMENT"
                | "RETRIEVAL_QUERY"
                | "SEMANTIC_SIMILARITY"
                | "CLASSIFICATION"
                | "CLUSTERING";
                title?: string;
                version?: string;
            },
        >,
    >

  • Parameters

    • name: GeminiVersionString
    • Optionalconfig: z.objectOutputType<
          z.objectUtil.extendShape<
              {
                  maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                  stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                  temperature: z.ZodOptional<z.ZodNumber>;
                  topK: z.ZodOptional<z.ZodNumber>;
                  topP: z.ZodOptional<z.ZodNumber>;
                  version: z.ZodOptional<z.ZodString>;
              },
              {
                  apiKey: z.ZodOptional<z.ZodString>;
                  codeExecution: z.ZodOptional<
                      z.ZodUnion<
                          [z.ZodBoolean, z.ZodObject<{}, "strict", z.ZodTypeAny, {}, {}>],
                      >,
                  >;
                  contextCache: z.ZodOptional<z.ZodBoolean>;
                  functionCallingConfig: z.ZodOptional<
                      z.ZodObject<
                          {
                              allowedFunctionNames: z.ZodOptional<
                                  z.ZodArray<z.ZodString, "many">,
                              >;
                              mode: z.ZodOptional<
                                  z.ZodEnum<["MODE_UNSPECIFIED", "AUTO", "ANY", "NONE"]>,
                              >;
                          },
                          "strip",
                          z.ZodTypeAny,
                          {
                              allowedFunctionNames?: string[];
                              mode?: "ANY"
                              | "MODE_UNSPECIFIED"
                              | "AUTO"
                              | "NONE";
                          },
                          {
                              allowedFunctionNames?: string[];
                              mode?: "ANY"
                              | "MODE_UNSPECIFIED"
                              | "AUTO"
                              | "NONE";
                          },
                      >,
                  >;
                  responseModalities: z.ZodOptional<
                      z.ZodArray<z.ZodEnum<["TEXT", "IMAGE", "AUDIO"]>, "many">,
                  >;
                  safetySettings: z.ZodOptional<
                      z.ZodArray<
                          z.ZodObject<
                              {
                                  category: z.ZodEnum<
                                      [
                                          "HARM_CATEGORY_UNSPECIFIED",
                                          "HARM_CATEGORY_HATE_SPEECH",
                                          "HARM_CATEGORY_SEXUALLY_EXPLICIT",
                                          "HARM_CATEGORY_HARASSMENT",
                                          "HARM_CATEGORY_DANGEROUS_CONTENT",
                                          "HARM_CATEGORY_CIVIC_INTEGRITY",
                                      ],
                                  >;
                                  threshold: z.ZodEnum<
                                      [
                                          "BLOCK_LOW_AND_ABOVE",
                                          "BLOCK_MEDIUM_AND_ABOVE",
                                          "BLOCK_ONLY_HIGH",
                                          "BLOCK_NONE",
                                      ],
                                  >;
                              },
                              "strip",
                              z.ZodTypeAny,
                              {
                                  category: | "HARM_CATEGORY_UNSPECIFIED"
                                  | "HARM_CATEGORY_HATE_SPEECH"
                                  | "HARM_CATEGORY_SEXUALLY_EXPLICIT"
                                  | "HARM_CATEGORY_HARASSMENT"
                                  | "HARM_CATEGORY_DANGEROUS_CONTENT"
                                  | "HARM_CATEGORY_CIVIC_INTEGRITY";
                                  threshold: | "BLOCK_LOW_AND_ABOVE"
                                  | "BLOCK_MEDIUM_AND_ABOVE"
                                  | "BLOCK_ONLY_HIGH"
                                  | "BLOCK_NONE";
                              },
                              {
                                  category: | "HARM_CATEGORY_UNSPECIFIED"
                                  | "HARM_CATEGORY_HATE_SPEECH"
                                  | "HARM_CATEGORY_SEXUALLY_EXPLICIT"
                                  | "HARM_CATEGORY_HARASSMENT"
                                  | "HARM_CATEGORY_DANGEROUS_CONTENT"
                                  | "HARM_CATEGORY_CIVIC_INTEGRITY";
                                  threshold: | "BLOCK_LOW_AND_ABOVE"
                                  | "BLOCK_MEDIUM_AND_ABOVE"
                                  | "BLOCK_ONLY_HIGH"
                                  | "BLOCK_NONE";
                              },
                          >,
                          "many",
                      >,
                  >;
              },
          >,
          z.ZodTypeAny,
          "passthrough",
      >

    Returns ModelReference<
        z.ZodObject<
            z.objectUtil.extendShape<
                {
                    maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                    stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    topK: z.ZodOptional<z.ZodNumber>;
                    topP: z.ZodOptional<z.ZodNumber>;
                    version: z.ZodOptional<z.ZodString>;
                },
                {
                    apiKey: z.ZodOptional<z.ZodString>;
                    codeExecution: z.ZodOptional<
                        z.ZodUnion<
                            [z.ZodBoolean, z.ZodObject<{}, "strict", z.ZodTypeAny, {}, {}>],
                        >,
                    >;
                    contextCache: z.ZodOptional<z.ZodBoolean>;
                    functionCallingConfig: z.ZodOptional<
                        z.ZodObject<
                            {
                                allowedFunctionNames: z.ZodOptional<
                                    z.ZodArray<z.ZodString, "many">,
                                >;
                                mode: z.ZodOptional<
                                    z.ZodEnum<["MODE_UNSPECIFIED", "AUTO", "ANY", "NONE"]>,
                                >;
                            },
                            "strip",
                            z.ZodTypeAny,
                            {
                                allowedFunctionNames?: string[];
                                mode?: "ANY"
                                | "MODE_UNSPECIFIED"
                                | "AUTO"
                                | "NONE";
                            },
                            {
                                allowedFunctionNames?: string[];
                                mode?: "ANY"
                                | "MODE_UNSPECIFIED"
                                | "AUTO"
                                | "NONE";
                            },
                        >,
                    >;
                    responseModalities: z.ZodOptional<
                        z.ZodArray<z.ZodEnum<["TEXT", "IMAGE", "AUDIO"]>, "many">,
                    >;
                    safetySettings: z.ZodOptional<
                        z.ZodArray<
                            z.ZodObject<
                                {
                                    category: z.ZodEnum<
                                        [
                                            "HARM_CATEGORY_UNSPECIFIED",
                                            "HARM_CATEGORY_HATE_SPEECH",
                                            "HARM_CATEGORY_SEXUALLY_EXPLICIT",
                                            "HARM_CATEGORY_HARASSMENT",
                                            "HARM_CATEGORY_DANGEROUS_CONTENT",
                                            "HARM_CATEGORY_CIVIC_INTEGRITY",
                                        ],
                                    >;
                                    threshold: z.ZodEnum<
                                        [
                                            "BLOCK_LOW_AND_ABOVE",
                                            "BLOCK_MEDIUM_AND_ABOVE",
                                            "BLOCK_ONLY_HIGH",
                                            "BLOCK_NONE",
                                        ],
                                    >;
                                },
                                "strip",
                                z.ZodTypeAny,
                                {
                                    category: | "HARM_CATEGORY_UNSPECIFIED"
                                    | "HARM_CATEGORY_HATE_SPEECH"
                                    | "HARM_CATEGORY_SEXUALLY_EXPLICIT"
                                    | "HARM_CATEGORY_HARASSMENT"
                                    | "HARM_CATEGORY_DANGEROUS_CONTENT"
                                    | "HARM_CATEGORY_CIVIC_INTEGRITY";
                                    threshold: | "BLOCK_LOW_AND_ABOVE"
                                    | "BLOCK_MEDIUM_AND_ABOVE"
                                    | "BLOCK_ONLY_HIGH"
                                    | "BLOCK_NONE";
                                },
                                {
                                    category: | "HARM_CATEGORY_UNSPECIFIED"
                                    | "HARM_CATEGORY_HATE_SPEECH"
                                    | "HARM_CATEGORY_SEXUALLY_EXPLICIT"
                                    | "HARM_CATEGORY_HARASSMENT"
                                    | "HARM_CATEGORY_DANGEROUS_CONTENT"
                                    | "HARM_CATEGORY_CIVIC_INTEGRITY";
                                    threshold: | "BLOCK_LOW_AND_ABOVE"
                                    | "BLOCK_MEDIUM_AND_ABOVE"
                                    | "BLOCK_ONLY_HIGH"
                                    | "BLOCK_NONE";
                                },
                            >,
                            "many",
                        >,
                    >;
                },
            >,
            "passthrough",
            z.ZodTypeAny,
            z.objectOutputType<
                z.objectUtil.extendShape<
                    {
                        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                        stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        topK: z.ZodOptional<z.ZodNumber>;
                        topP: z.ZodOptional<z.ZodNumber>;
                        version: z.ZodOptional<z.ZodString>;
                    },
                    {
                        apiKey: z.ZodOptional<z.ZodString>;
                        codeExecution: z.ZodOptional<
                            z.ZodUnion<
                                [z.ZodBoolean, z.ZodObject<{}, "strict", z.ZodTypeAny, {}, {}>],
                            >,
                        >;
                        contextCache: z.ZodOptional<z.ZodBoolean>;
                        functionCallingConfig: z.ZodOptional<
                            z.ZodObject<
                                {
                                    allowedFunctionNames: z.ZodOptional<
                                        z.ZodArray<z.ZodString, "many">,
                                    >;
                                    mode: z.ZodOptional<z.ZodEnum<[(...), (...), (...), (...)]>>;
                                },
                                "strip",
                                z.ZodTypeAny,
                                {
                                    allowedFunctionNames?: string[];
                                    mode?: "ANY"
                                    | "MODE_UNSPECIFIED"
                                    | "AUTO"
                                    | "NONE";
                                },
                                {
                                    allowedFunctionNames?: string[];
                                    mode?: "ANY"
                                    | "MODE_UNSPECIFIED"
                                    | "AUTO"
                                    | "NONE";
                                },
                            >,
                        >;
                        responseModalities: z.ZodOptional<
                            z.ZodArray<z.ZodEnum<["TEXT", "IMAGE", "AUDIO"]>, "many">,
                        >;
                        safetySettings: z.ZodOptional<
                            z.ZodArray<
                                z.ZodObject<
                                    {
                                        category: z.ZodEnum<[(...), (...), (...), (...), (...), (...)]>;
                                        threshold: z.ZodEnum<[(...), (...), (...), (...)]>;
                                    },
                                    "strip",
                                    z.ZodTypeAny,
                                    {
                                        category: | "HARM_CATEGORY_UNSPECIFIED"
                                        | "HARM_CATEGORY_HATE_SPEECH"
                                        | "HARM_CATEGORY_SEXUALLY_EXPLICIT"
                                        | "HARM_CATEGORY_HARASSMENT"
                                        | "HARM_CATEGORY_DANGEROUS_CONTENT"
                                        | "HARM_CATEGORY_CIVIC_INTEGRITY";
                                        threshold: | "BLOCK_LOW_AND_ABOVE"
                                        | "BLOCK_MEDIUM_AND_ABOVE"
                                        | "BLOCK_ONLY_HIGH"
                                        | "BLOCK_NONE";
                                    },
                                    {
                                        category: | "HARM_CATEGORY_UNSPECIFIED"
                                        | "HARM_CATEGORY_HATE_SPEECH"
                                        | "HARM_CATEGORY_SEXUALLY_EXPLICIT"
                                        | "HARM_CATEGORY_HARASSMENT"
                                        | "HARM_CATEGORY_DANGEROUS_CONTENT"
                                        | "HARM_CATEGORY_CIVIC_INTEGRITY";
                                        threshold: | "BLOCK_LOW_AND_ABOVE"
                                        | "BLOCK_MEDIUM_AND_ABOVE"
                                        | "BLOCK_ONLY_HIGH"
                                        | "BLOCK_NONE";
                                    },
                                >,
                                "many",
                            >,
                        >;
                    },
                >,
                z.ZodTypeAny,
                "passthrough",
            >,
            z.objectInputType<
                z.objectUtil.extendShape<
                    {
                        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                        stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        topK: z.ZodOptional<z.ZodNumber>;
                        topP: z.ZodOptional<z.ZodNumber>;
                        version: z.ZodOptional<z.ZodString>;
                    },
                    {
                        apiKey: z.ZodOptional<z.ZodString>;
                        codeExecution: z.ZodOptional<
                            z.ZodUnion<
                                [z.ZodBoolean, z.ZodObject<{}, "strict", z.ZodTypeAny, {}, {}>],
                            >,
                        >;
                        contextCache: z.ZodOptional<z.ZodBoolean>;
                        functionCallingConfig: z.ZodOptional<
                            z.ZodObject<
                                {
                                    allowedFunctionNames: z.ZodOptional<
                                        z.ZodArray<z.ZodString, "many">,
                                    >;
                                    mode: z.ZodOptional<z.ZodEnum<[(...), (...), (...), (...)]>>;
                                },
                                "strip",
                                z.ZodTypeAny,
                                {
                                    allowedFunctionNames?: string[];
                                    mode?: "ANY"
                                    | "MODE_UNSPECIFIED"
                                    | "AUTO"
                                    | "NONE";
                                },
                                {
                                    allowedFunctionNames?: string[];
                                    mode?: "ANY"
                                    | "MODE_UNSPECIFIED"
                                    | "AUTO"
                                    | "NONE";
                                },
                            >,
                        >;
                        responseModalities: z.ZodOptional<
                            z.ZodArray<z.ZodEnum<["TEXT", "IMAGE", "AUDIO"]>, "many">,
                        >;
                        safetySettings: z.ZodOptional<
                            z.ZodArray<
                                z.ZodObject<
                                    {
                                        category: z.ZodEnum<[(...), (...), (...), (...), (...), (...)]>;
                                        threshold: z.ZodEnum<[(...), (...), (...), (...)]>;
                                    },
                                    "strip",
                                    z.ZodTypeAny,
                                    {
                                        category: | "HARM_CATEGORY_UNSPECIFIED"
                                        | "HARM_CATEGORY_HATE_SPEECH"
                                        | "HARM_CATEGORY_SEXUALLY_EXPLICIT"
                                        | "HARM_CATEGORY_HARASSMENT"
                                        | "HARM_CATEGORY_DANGEROUS_CONTENT"
                                        | "HARM_CATEGORY_CIVIC_INTEGRITY";
                                        threshold: | "BLOCK_LOW_AND_ABOVE"
                                        | "BLOCK_MEDIUM_AND_ABOVE"
                                        | "BLOCK_ONLY_HIGH"
                                        | "BLOCK_NONE";
                                    },
                                    {
                                        category: | "HARM_CATEGORY_UNSPECIFIED"
                                        | "HARM_CATEGORY_HATE_SPEECH"
                                        | "HARM_CATEGORY_SEXUALLY_EXPLICIT"
                                        | "HARM_CATEGORY_HARASSMENT"
                                        | "HARM_CATEGORY_DANGEROUS_CONTENT"
                                        | "HARM_CATEGORY_CIVIC_INTEGRITY";
                                        threshold: | "BLOCK_LOW_AND_ABOVE"
                                        | "BLOCK_MEDIUM_AND_ABOVE"
                                        | "BLOCK_ONLY_HIGH"
                                        | "BLOCK_NONE";
                                    },
                                >,
                                "many",
                            >,
                        >;
                    },
                >,
                z.ZodTypeAny,
                "passthrough",
            >,
        >,
    >