| このページの例では、スタートガイド: Apple の Foundation Models フレームワークを介して Gemini API にアクセスするを完了していることを前提としています。 |
Apple の Foundation Models フレームワークを介して Gemini API にアクセスし、モデルを外部データソースに接続する際に、Gemini モデルに Gemini 組み込みツールを提供できます。
このページでは、Gemini モデルで次の組み込みツールを使用する方法について説明します。
Google Search を使用したグラウンディング
詳細、ベスト プラクティス、ユースケースについては、一般的な
サポートされているモデル
gemini-3.1-pro-previewgemini-3.5-flashgemini-3.1-flash-litegemini-3-pro-image-preview(別名「Nano Banana Pro」)gemini-3.1-flash-image-preview(別名「Nano Banana 2」)
Google Search ツールを有効にする
geminiLanguageModel の作成の一環として googleSearch ツールを指定します。
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 を使用したグラウンディング
詳細、ベスト プラクティス、ユースケースについては、一般的な
サポートされているモデル
gemini-3.1-pro-previewgemini-3.5-flashgemini-3.1-flash-lite
Google Maps ツールを有効にする
geminiLanguageModel の作成の一環として googleMaps ツールを指定します。必要に応じて、ツールの構成で座標を指定することもできます。
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 の Foundation Models フレームワークを介した Gemini API へのアクセスに関するフィードバックを送信する