לספק כלים למודל כשניגשים אל Gemini API דרך מסגרת Foundation Models של אפל


הדוגמאות בדף הזה מבוססות על ההנחה שהשלמתם את השלבים במאמר תחילת העבודה: גישה אל Gemini API דרך Foundation Models framework של אפל.


אתם יכולים לספק למודלים של Gemini כלים מובנים של Gemini כשאתם ניגשים אל Gemini API דרך Foundation Models framework של אפל, כדי לחבר את המודל למקורות נתונים חיצוניים.

בדף הזה מוסבר איך להשתמש בכלים המובנים הבאים למודלים של Gemini:

העיגון באמצעות Google Search מחבר את המודל של Gemini לתוכן מהאינטרנט שזמין לציבור ומתעדכן בזמן אמת. כך המודל יכול לספק תשובות מדויקות ועדכניות יותר ולצטט מקורות ניתנים לאימות.

לפרטים, שיטות מומלצות ותרחישים לדוגמה, קראו את המדריך הכללי בנושא עיגון באמצעות Google Search.

מודלים נתמכים

  • gemini-4-argon
  • gemini-3.8-flash
  • ‫gemini-3.5-flash-lite (והגרסה הישנה יותר 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)

מודלים ישנים יותר של Gemini 3.x Flash לשימוש כללי תומכים ביכולת הזו, אבל אנחנו לא ממליצים להשתמש בהם יותר כי הם יושבתו בקרוב או שהבקשות ינותבו אוטומטית למודלים חדשים יותר.

מציינים את הכלי googleSearch כחלק מיצירת ה-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

ביסוס בעזרת Google Maps

ביסוס בעזרת Google Maps מקשר מודל Gemini לנתונים גיאו-מרחביים מ-Google Maps, כדי שתוכלו להוסיף לאפליקציות שלכם פונקציונליות שמבוססת על מיקום.

לפרטים, שיטות מומלצות ותרחישים לדוגמה, קראו את המדריך הכללי בנושא עיגון באמצעות Google Maps.

מודלים נתמכים

  • gemini-4-argon
  • gemini-3.8-flash
  • ‫gemini-3.5-flash-lite (והגרסה הישנה יותר gemini-3.1-flash-lite)

מודלים ישנים יותר של Gemini 3.x Flash לשימוש כללי תומכים ביכולת הזו, אבל אנחנו לא ממליצים להשתמש בהם יותר כי הם יושבתו בקרוב או שהבקשות ינותבו אוטומטית למודלים חדשים יותר.

הפעלת הכלי Google Maps

לספק את הכלי googleMaps כחלק מיצירת 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 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


שליחת משוב על הגישה אל Gemini API דרך Foundation Models framework של אפל