udostępniać narzędzia modelowi podczas uzyskiwania dostępu do Gemini API za pomocą platformy Foundation Models od Apple;


Przykłady na tej stronie zakładają, że masz już za sobą kroki opisane w artykule Pierwsze kroki: dostęp do Gemini API przez platformę modeli podstawowych Apple.


Możesz udostępnić Gemini wbudowane narzędzia modelom Gemini, gdy uzyskujesz dostęp do Gemini API za pomocą platformy Foundation Models firmy Apple, aby połączyć model z zewnętrznymi źródłami danych.

Na tej stronie dowiesz się, jak używać tych wbudowanych narzędzi do modeli Gemini:

Powiązanie ze źródłem informacji za pomocą Google Search łączy model Gemini z dostępnymi publicznie treściami z internetu w czasie rzeczywistym. Pozwala to modelowi udzielać dokładniejszych, aktualnych odpowiedzi i cytować zweryfikowane źródła.

Szczegółowe informacje, sprawdzone metody i przypadki użycia znajdziesz w ogólnym przewodniku Grounding with Google Search.

Obsługiwane modele

  • gemini-4-argon
  • gemini-3.8-flash
  • gemini-3.5-flash-lite (oraz starszy model gemini-3.1-flash-lite)
  • gemini-nano-banana-2.1 (Nano Banana 2.1)
  • gemini-3.1-flash-image (Nano Banana 2)
  • gemini-3-pro-image (Nano Banana Pro)

Starsze modele Gemini 3.x Flash ogólnego zastosowania obsługują tę funkcję, ale nie zalecamy już ich używania ze względu na zbliżające się daty wyłączenia lub automatyczne przekierowywanie do nowszych modeli.

Podaj narzędzie googleSearch podczas tworzenia 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

.

Powiązanie ze źródłami informacji przy użyciu Google Maps

Grounding z Google Maps łączy model Gemini z danymi geoprzestrzennymi z Google Maps, dzięki czemu możesz tworzyć w swoich aplikacjach funkcje wykrywania lokalizacji.

Szczegółowe informacje, sprawdzone metody i przypadki użycia znajdziesz w ogólnym przewodniku na temat groundingu za pomocą Google Maps.

Obsługiwane modele

  • gemini-4-argon
  • gemini-3.8-flash
  • gemini-3.5-flash-lite (oraz starszy model gemini-3.1-flash-lite)

Starsze modele Gemini 3.x Flash ogólnego zastosowania obsługują tę funkcję, ale nie zalecamy już ich używania ze względu na zbliżające się daty wyłączenia lub automatyczne przekierowywanie do nowszych modeli.

Włącz narzędzie Google Maps

Podaj narzędzie googleMaps w ramach tworzenia geminiLanguageModel. Możesz też opcjonalnie podać współrzędne w konfiguracji narzędzia.

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


Prześlij opinię na temat dostępu do Gemini API w ramach platformy modeli podstawowych Apple