Apple'ın Foundation Models çerçevesi aracılığıyla Gemini API'ye erişirken modele araçlar sağlama


Bu sayfadaki örneklerde, Başlangıç: Apple'ın Foundation Models çerçevesi aracılığıyla Gemini API modeline erişme bölümünü tamamladığınız varsayılmaktadır.


Modeli harici veri kaynaklarına bağlamak için Apple'ın Foundation Models çerçevesi üzerinden Gemini API hizmetine erişirken Gemini modellerine Gemini yerleşik araç sağlayabilirsiniz.

Bu sayfada, Gemini modelleri için aşağıdaki yerleşik araçların nasıl kullanılacağı gösterilmektedir:

Google Search ile temellendirme, Gemini modelini anlık ve herkese açık web içeriğine bağlar. Bu sayede model, daha doğru ve güncel yanıtlar verebilir ve doğrulanabilir kaynaklardan alıntı yapabilir.

Ayrıntılar, en iyi uygulamalar ve kullanım alanları için genel Google Search ile temellendirme kılavuzuna bakın.

Desteklenen modeller

  • gemini-4-argon
  • gemini-3.8-flash
  • gemini-3.5-flash-lite (ve daha eski 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)

Eski genel kullanımlı Gemini 3.x Flash modelleri bu özelliği destekler ancak yaklaşan kapatma tarihleri ve/veya daha yeni modellere otomatik yönlendirme nedeniyle artık kullanılması önerilmez.

geminiLanguageModel oluşturma işleminin bir parçası olarak googleSearch aracını sağlayın:

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 ile temellendirme

Google Maps ile temellendirme, Gemini modelini Google Maps'dan alınan coğrafi verilere bağlar. Böylece uygulamalarınıza konum kullanım özelliği ekleyebilirsiniz.

Ayrıntılar, en iyi uygulamalar ve kullanım alanları için genel Google Maps ile temellendirme kılavuzuna bakın.

Desteklenen modeller

  • gemini-4-argon
  • gemini-3.8-flash
  • gemini-3.5-flash-lite (ve daha eski gemini-3.1-flash-lite)

Eski genel kullanımlı Gemini 3.x Flash modelleri bu özelliği destekler ancak yaklaşan kapatma tarihleri ve/veya daha yeni modellere otomatik yönlendirme nedeniyle artık kullanılması önerilmez.

Google Maps aracını etkinleştirme

geminiLanguageModel oluşturma sürecinde googleMaps aracını sağlayın. İsterseniz aracın yapılandırmasında koordinatları da belirtebilirsiniz.

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


Apple'ın Foundation Models çerçevesi üzerinden Gemini API hizmetine erişimle ilgili geri bildirim verin.