FirebaseVertexAI Framework Reference

Structures

The following structures are available globally.

  • Structured representation of a function declaration.

    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.

    Declaration

    Swift

    @available(iOS15.0,macOS12.0,tvOS15.0,watchOS8.0,*)publicstructFunctionDeclaration:Sendable
    extensionFunctionDeclaration:Encodable
  • A helper tool that the model may use when generating responses.

    A Tool is a piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of knowledge and scope of the model.

    Declaration

    Swift

    @available(iOS15.0,macOS12.0,tvOS15.0,watchOS8.0,*)publicstructTool:Sendable
    extensionTool:Encodable
  • Configuration for specifying function calling behavior.

    Declaration

    Swift

    @available(iOS15.0,macOS12.0,tvOS15.0,watchOS8.0,*)publicstructFunctionCallingConfig:Sendable
    extensionFunctionCallingConfig:Encodable
  • Tool configuration for any Tool specified in the request.

    Declaration

    Swift

    @available(iOS15.0,macOS12.0,tvOS15.0,watchOS8.0,*)publicstructToolConfig:Sendable
    extensionToolConfig:Encodable
  • The model’s response to a generate content request.

    Declaration

    Swift

    @available(iOS15.0,macOS12.0,tvOS15.0,watchOS8.0,*)publicstructGenerateContentResponse:Sendable
    extensionGenerateContentResponse:Decodable
  • A struct representing a possible reply to a content generation prompt. Each content generation prompt may produce multiple candidate responses.

    Declaration

    Swift

    @available(iOS15.0,macOS12.0,tvOS15.0,watchOS8.0,*)publicstructCandidate:Sendable
    extensionCandidate:Decodable
  • A collection of source attributions for a piece of content.

    Declaration

    Swift

    @available(iOS15.0,macOS12.0,tvOS15.0,watchOS8.0,*)publicstructCitationMetadata:Sendable
    extensionCitationMetadata:Decodable
  • A struct describing a source attribution.

    Declaration

    Swift

    @available(iOS15.0,macOS12.0,tvOS15.0,watchOS8.0,*)publicstructCitation:Sendable
    extensionCitation:Decodable
  • A value enumerating possible reasons for a model to terminate a content generation request.

    Declaration

    Swift

    @available(iOS15.0,macOS12.0,tvOS15.0,watchOS8.0,*)publicstructFinishReason:DecodableProtoEnum,Hashable,Sendable
  • A metadata struct containing any feedback the model had on the prompt it was provided.

    Declaration

    Swift

    @available(iOS15.0,macOS12.0,tvOS15.0,watchOS8.0,*)publicstructPromptFeedback:Sendable
    extensionPromptFeedback:Decodable
  • A struct defining model parameters to be used when sending generative AI requests to the backend model.

    Declaration

    Swift

    @available(iOS15.0,macOS12.0,tvOS15.0,watchOS8.0,*)publicstructGenerationConfig:Sendable
    extensionGenerationConfig:Encodable
  • Configuration parameters for sending requests to the backend.

    Declaration

    Swift

    @available(iOS15.0,macOS12.0,tvOS15.0,watchOS8.0,*)publicstructRequestOptions:Sendable
    extensionRequestOptions:Equatable
  • Represents token counting info for a single modality.

    Declaration

    Swift

    @available(iOS15.0,macOS12.0,tvOS15.0,watchOS8.0,*)publicstructModalityTokenCount:Sendable
    extensionModalityTokenCount:Decodable
  • Content part modality.

    Declaration

    Swift

    @available(iOS15.0,macOS12.0,tvOS15.0,watchOS8.0,*)publicstructContentModality:DecodableProtoEnum,Hashable,Sendable
  • A type describing data in media formats interpretable by an AI model. Each generative AI request or response contains an Array of ModelContents, and each ModelContent value may comprise multiple heterogeneous Parts.

    Declaration

    Swift

    @available(iOS15.0,macOS12.0,tvOS15.0,watchOS8.0,*)publicstructModelContent:Equatable,Sendable
    extensionModelContent:Codable
  • A type defining potentially harmful media categories and their model-assigned ratings. A value of this type may be assigned to a category for every model-generated response, not just responses that exceed a certain threshold.

    Declaration

    Swift

    @available(iOS15.0,macOS12.0,tvOS15.0,watchOS8.0,*)publicstructSafetyRating:Equatable,Hashable,Sendable
    extensionSafetyRating:Decodable
  • A type used to specify a threshold for harmful content, beyond which the model will return a fallback response instead of generated content.

    See safety settings for Gemini models for more details.

    Declaration

    Swift

    @available(iOS15.0,macOS12.0,tvOS15.0,watchOS8.0,*)publicstructSafetySetting:Sendable
    extensionSafetySetting:Encodable
  • Categories describing the potential harm a piece of content may pose.

    Declaration

    Swift

    @available(iOS15.0,macOS12.0,tvOS15.0,watchOS8.0,*)publicstructHarmCategory:CodableProtoEnum,Hashable,Sendable
  • The model’s response to a count tokens request.

    Declaration

    Swift

    @available(iOS15.0,macOS12.0,tvOS15.0,watchOS8.0,*)publicstructCountTokensResponse
    extensionCountTokensResponse:Decodable
  • An aspect ratio for images generated by Imagen.

    To specify an aspect ratio for generated images, set aspectRatio in your ImagenGenerationConfig. See the Cloud documentation for more details and examples of the supported aspect ratios.

    Declaration

    Swift

    @available(iOS15.0,macOS12.0,tvOS15.0,watchOS8.0,*)publicstructImagenAspectRatio:Sendable
  • Configuration options for generating images with Imagen.

    See Parameters for Imagen models to learn about parameters available for use with Imagen models, including how to configure them.

    Declaration

    Swift

    @available(iOS15.0,macOS12.0,tvOS15.0,watchOS8.0,*)publicstructImagenGenerationConfig
  • A response from a request to generate images with Imagen.

    The type placeholder T is an image type; this is currently always an ImagenInlineImage.

    This type is returned from:

    Declaration

    Swift

    @available(iOS15.0,macOS12.0,tvOS15.0,watchOS8.0,*)publicstructImagenGenerationResponse<T>
    extensionImagenGenerationResponse:DecodablewhereT:Decodable
  • An image format for images generated by Imagen.

    To specify an image format for generated images, set imageFormat in your ImagenGenerationConfig. See the Cloud documentation for more details.

    Declaration

    Swift

    @available(iOS15.0,macOS12.0,tvOS15.0,watchOS8.0,*)publicstructImagenImageFormat
  • An error that occurs when image generation fails due to all generated images being blocked.

    The images may have been blocked due to the specified ImagenSafetyFilterLevel, the ImagenPersonFilterLevel, or filtering included in the model. These filter levels may be adjusted in your ImagenSafetySettings. See the Responsible AI and usage guidelines for Imagen for more details.

    Declaration

    Swift

    publicstructImagenImagesBlockedError:Error
    extensionImagenImagesBlockedError:CustomNSError
  • An image generated by Imagen, represented as inline data.

    Declaration

    Swift

    @available(iOS15.0,macOS12.0,tvOS15.0,watchOS8.0,*)publicstructImagenInlineImage
    extensionImagenInlineImage:Equatable
    extensionImagenInlineImage:Decodable
  • A filter level controlling whether generation of images containing people or faces is allowed.

    See the personGeneration documentation for more details.

    Declaration

    Swift

    @available(iOS15.0,macOS12.0,tvOS15.0,watchOS8.0,*)publicstructImagenPersonFilterLevel:ProtoEnum
  • A filter level controlling how aggressively to filter sensitive content.

    Text prompts provided as inputs and images (generated or uploaded) through Imagen on Vertex AI are assessed against a list of safety filters, which include ‘harmful categories’ (for example, violence, sexual, derogatory, and toxic). This filter level controls how aggressively to filter out potentially harmful content from responses. See the safetySetting documentation and the Responsible AI and usage guidelines for more details.

    Declaration

    Swift

    @available(iOS15.0,macOS12.0,tvOS15.0,watchOS8.0,*)publicstructImagenSafetyFilterLevel:ProtoEnum,Sendable
  • Settings for controlling the aggressiveness of filtering out sensitive content.

    See the Responsible AI and usage guidelines for more details.

    Declaration

    Swift

    @available(iOS15.0,macOS12.0,tvOS15.0,watchOS8.0,*)publicstructImagenSafetySettings
  • A text part containing a string value.

    Declaration

    Swift

    @available(iOS15.0,macOS12.0,tvOS15.0,watchOS8.0,*)publicstructTextPart:Part
  • A data part that is provided inline in requests.

    Data provided as an inline data part is encoded as base64 and included directly (inline) in the request. For large files, see FileDataPart which references content by URI instead of including the data in the request.

    Important

    Only small files can be sent as inline data because of limits on total request sizes; see input files and requirements for more details and size limits.

    Declaration

    Swift

    @available(iOS15.0,macOS12.0,tvOS15.0,watchOS8.0,*)publicstructInlineDataPart:Part
  • File data stored in Cloud Storage for Firebase, referenced by URI.

    Declaration

    Swift

    @available(iOS15.0,macOS12.0,tvOS15.0,watchOS8.0,*)publicstructFileDataPart:Part
  • A predicted function call returned from the model.

    Declaration

    Swift

    @available(iOS15.0,macOS12.0,tvOS15.0,watchOS8.0,*)publicstructFunctionCallPart:Part
  • Result output from a function call.

    Contains a string representing the FunctionDeclaration.name and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a FunctionCallPart made based on model prediction.

    Declaration

    Swift

    @available(iOS15.0,macOS12.0,tvOS15.0,watchOS8.0,*)publicstructFunctionResponsePart:Part
  • Represents the different types, or modalities, of data that a model can produce as output.

    To configure the desired output modalities for model requests, set the responseModalities parameter when initializing a GenerationConfig. See the multimodal responses documentation for more details.

    Important

    Support for each response modality, or combination of modalities, depends on the model.

    Declaration

    Swift

    @available(iOS15.0,macOS12.0,tvOS15.0,watchOS8.0,*)publicstructResponseModality:EncodableProtoEnum,Sendable
close