Fornecer ferramentas ao modelo ao acessar a API Gemini usando a estrutura Foundation Models da Apple


Os exemplos nesta página pressupõem que você concluiu a seção Começar: acesse o Gemini API usando a estrutura de modelos de fundação da Apple.


Você pode fornecer ferramentas integradas do Gemini aos modelos do Gemini ao acessar o Gemini API pelo framework Foundation Models da Apple para conectar o modelo a fontes de dados externas.

A página mostra como usar as seguintes ferramentas integradas para modelos do Gemini:

O embasamento com o Google Search conecta um modelo Gemini a conteúdo da Web disponível publicamente e em tempo real. Isso permite que o modelo forneça respostas mais precisas e atualizadas e cite fontes verificáveis.

Para detalhes, práticas recomendadas e casos de uso, consulte o guia geral Fundamentação com Google Search.

Modelos compatíveis

  • gemini-3.1-pro-preview
  • gemini-3.5-flash
  • gemini-3.1-flash-lite
  • gemini-3-pro-image-preview (conhecido como "Nano Banana Pro")
  • gemini-3.1-flash-image-preview (também conhecido como "Nano Banana 2")

Forneça a ferramenta googleSearch como parte da criação do 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

Embasamento com Google Maps

O embasamento com o Google Maps conecta um modelo do Gemini a dados geoespaciais do Google Maps para que você possa criar funcionalidades com reconhecimento de localização nos seus apps.

Para detalhes, práticas recomendadas e casos de uso, consulte o guia geral Fundamentação com Google Maps.

Modelos compatíveis

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

Ativar a ferramenta Google Maps

Forneça a ferramenta googleMaps como parte da criação da geminiLanguageModel. Também é possível fornecer coordenadas na configuração da ferramenta.

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


Envie feedback sobre o acesso ao Gemini API pelo framework Foundation Models da Apple