Fournir des outils au modèle lorsque vous accédez à l'API Gemini via le framework Foundation Models d'Apple


Les exemples de cette page partent du principe que vous avez suivi la section Premiers pas : accéder à Gemini API via le framework Foundation Models d'Apple.


Vous pouvez fournir des outils intégrés Gemini aux modèles Gemini lorsque vous accédez à Gemini API via le framework Foundation Models d'Apple pour connecter le modèle à des sources de données externes.

Cette page vous explique comment utiliser les outils intégrés suivants pour les modèles Gemini :

L'ancrage avec Google Search connecte un modèle Gemini à du contenu Web public en temps réel. Cela permet au modèle de fournir des réponses plus précises et à jour, et de citer des sources vérifiables.

Pour en savoir plus, découvrir les bonnes pratiques et les cas d'utilisation, consultez le guide général Ancrage avec Google Search.

Modèles compatibles

  • gemini-3.1-pro-preview
  • gemini-3.8-flash (et les anciennes versions gemini-3.7-flash, gemini-3.6-flash et gemini-3.5-flash)
  • gemini-3.5-flash-lite (et l'ancienne version gemini-3.1-flash-lite)
  • gemini-3-pro-image (alias "Nano Banana Pro")
  • gemini-3.1-flash-image (alias "Nano Banana 2")

Fournissez l'outil googleSearch lors de la création de geminiLanguageModel :

import FoundationModels
import FirebaseCore
import FirebaseAILogic

// Initialize the Gemini Developer API backend service.
let ai = FirebaseAI.firebaseAI(backend: .googleAI())
// Initialize a `geminiLanguageModel` with a Gemini model that supports your use case.
let model = ai.geminiLanguageModel(
  name: "GEMINI_MODEL_NAME",
  // Provide Google Search as a tool that the model can use to generate its response.
  serverTools: [GeminiTool.googleSearch()]
)

let session = LanguageModelSession(model: model)
let response = try await session.respond(to: "What is the weather in Toronto today?")
for entry in response.transcriptEntries {
  if case let .response(responseEntry) = entry {
    if let groundingMetadata = responseEntry
        .metadata["groundingMetadata"] as? GroundingMetadata {
      for chunk in groundingMetadata.groundingChunks {
        let webChunk = chunk.web
        // use the webChunk
      }
    }
  }
}

// Make sure to comply with the "Grounding with Google Search" usage requirements,
// which includes how you use and display the grounded result

Ancrage avec Google Maps

L'ancrage avec Google Maps permet d'associer un modèle Gemini aux données géospatiales de Google Maps afin que vous puissiez intégrer des fonctionnalités de localisation dans vos applications.

Pour en savoir plus, découvrir les bonnes pratiques et les cas d'utilisation, consultez le guide général Ancrage avec Google Maps.

Modèles compatibles

  • gemini-3.1-pro-preview
  • gemini-3.5-flash
  • gemini-3.1-flash-lite

Activer l'outil Google Maps

Fournissez l'outil googleMaps lors de la création de geminiLanguageModel. Vous pouvez également fournir des coordonnées dans la configuration de l'outil.

import FoundationModels
import FirebaseCore
import FirebaseAILogic

// Initialize the Gemini Developer API backend service.
let ai = FirebaseAI.firebaseAI(backend: .googleAI())
// Initialize a `geminiLanguageModel` with a Gemini model that supports your use case.
let model = ai.geminiLanguageModel(
  name: "GEMINI_MODEL_NAME",
  // Provide Google Maps as a tool that the model can use to generate its response.
  serverTools: [GeminiTool.googleMaps()]
)

let session = LanguageModelSession(model: model)

let response = try await session
      respond(to: "Where is a good place to grab a coffee near Alameda, CA?")

for entry in response.transcriptEntries {
  if case let .response(responseEntry) = entry {
    if let groundingMetadata = responseEntry
        .metadata["groundingMetadata"] as? GroundingMetadata {
      for chunk in groundingMetadata.groundingChunks {
        let mapsChunk = chunk.maps
        // use the mapsChunk
      }
    }
  }
}

// Make sure to comply with the "Grounding with Google Maps" usage requirements,
// which includes how you meet service usage requirements


Envoyer des commentaires sur l'accès à Gemini API via le framework Foundation Models d'Apple