بااستفاده از Gemini API، میتوانید مکالمههای آزاد در چندین نوبت بسازید. کیت توسعه نرمافزار Firebase AI Logic با مدیریت وضعیت مکالمه، این فرایند را ساده میکند، بنابراین برخلاف generateContent()
(یا generateContentStream())، لازم نیست سابقه مکالمه را خودتان ذخیره کنید.
رفتن به کد برای گپ فقط نوشتاری رفتن به کد برای ویرایش تکرارشونده تصویر رفتن به کد برای پاسخهای جاریسازیشده
قبل از شروع
|
روی ارائهدهنده Gemini API خود کلیک کنید تا محتوا و کد مخصوص ارائهدهنده را در این صفحه مشاهده کنید. |
اگر هنوز این کار را نکردهاید،
راهنمای شروع به کار را تکمیل کنید. این راهنما نحوه
راهاندازی پروژه Firebase، متصل کردن برنامه به Firebase، افزودن کیت توسعه نرمافزار،
مقداردهی اولیه سرویس زیرینه برای ارائهدهنده Gemini API انتخابی، و
ایجاد نمونه GenerativeModel را شرح میدهد.
برای آزمایش و تکرار پیاموارههایتان، توصیه میکنیم از Google AI Studio استفاده کنید.
منابع مفید را بررسی کنید
Swift
برنامه شروع سریع را امتحان کنید
از برنامه شروع سریع برای امتحان کردن سریع کیت توسعه نرمافزار و دیدن پیادهسازی کامل موارد استفاده مختلف استفاده کنید. یا اگر برنامه پلاتفرمهای Apple خودتان را ندارید، از برنامه شروع سریع استفاده کنید. برای استفاده از برنامه شروع سریع، باید آن را به پروژه Firebase متصل کنید.
تماشای آموزش ویدیویی
این ویدیو نحوه پیادهسازی گپ با Firebase AI Logic را با ساختن برنامه هوشوارهای واقعی برای برنامهریزی وعدههای غذایی نشان میدهد که به کاربران امکان میدهد درباره هر دستور پختی که میخواهند آماده کنند با سرآشپز آشپزخانه گپ بزنند.
همچنین میتوانید پایگاه کد برنامه را در ویدیو بارگیری و کاوش کنید.
مشاهده پایگاه کد برای برنامه ویدیو
Kotlin
برنامه شروع سریع را امتحان کنید
از برنامه شروع سریع برای امتحان کردن سریع کیت توسعه نرمافزار و دیدن پیادهسازی کامل موارد استفاده مختلف استفاده کنید. یا اگر برنامه Android خودتان را ندارید، از برنامه شروع سریع استفاده کنید. برای استفاده از برنامه شروع سریع، باید آن را به پروژه Firebase متصل کنید.
Java
برنامه شروع سریع را امتحان کنید
از برنامه شروع سریع برای امتحان کردن سریع کیت توسعه نرمافزار و دیدن پیادهسازی کامل موارد استفاده مختلف استفاده کنید. یا اگر برنامه Android خودتان را ندارید، از برنامه شروع سریع استفاده کنید. برای استفاده از برنامه شروع سریع، باید آن را به پروژه Firebase متصل کنید.
Web
برنامه شروع سریع را امتحان کنید
از برنامه شروع سریع برای امتحان کردن سریع کیت توسعه نرمافزار و دیدن پیادهسازی کامل موارد استفاده مختلف استفاده کنید. یا اگر برنامه وب خودتان را ندارید، از برنامه شروع سریع استفاده کنید. برای استفاده از برنامه شروع سریع، باید آن را به پروژه Firebase متصل کنید.
تماشای آموزش ویدیویی
این ویدیو نحوه پیادهسازی گپ با Firebase AI Logic را با ساختن برنامه هوشوارهای واقعی برای برنامهریزی وعدههای غذایی نشان میدهد که به کاربران امکان میدهد درباره هر دستور پختی که میخواهند آماده کنند با سرآشپز آشپزخانه گپ بزنند.
همچنین میتوانید پایگاه کد برنامه را در ویدیو بارگیری و کاوش کنید.
مشاهده پایگاه کد برای برنامه ویدیو
Dart
برنامه شروع سریع را امتحان کنید
از برنامه شروع سریع برای امتحان کردن سریع کیت توسعه نرمافزار و دیدن پیادهسازی کامل موارد استفاده مختلف استفاده کنید. یا اگر برنامه Flutter خودتان را ندارید، از برنامه شروع سریع استفاده کنید. برای استفاده از برنامه شروع سریع، باید آن را به پروژه Firebase متصل کنید.
Unity
برنامه شروع سریع را امتحان کنید
از برنامه شروع سریع برای امتحان کردن سریع کیت توسعه نرمافزار و دیدن پیادهسازی کامل موارد استفاده مختلف استفاده کنید. یا اگر بازی Unity خودتان را ندارید، از برنامه شروع سریع استفاده کنید. برای استفاده از برنامه شروع سریع، باید آن را به پروژه Firebase متصل کنید.
ساختن تجربه گپ فقط نوشتاری
|
پیشاز امتحان کردن این نمونه، بخش
پیشاز شروع این راهنما را تکمیل کنید
تا پروژه و برنامهتان را راهاندازی کنید. در آن بخش، همچنین روی دکمهای برای ارائهدهنده Gemini API انتخابیتان کلیک خواهید کرد تا محتوای مختص ارائهدهنده را در این صفحه ببینید. |
برای ساختن مکالمه چند نوبتی (مثل گپ)، با مقداردهی اولیه گپ با فراخوانی startChat() شروع کنید. سپس از
sendMessage() برای ارسال پیام کاربر جدید استفاده کنید، که
پیام و پاسخ را نیز به سابقه گپ اضافه میکند.
دو گزینه احتمالی برای role مرتبط با محتوای موجود در
مکالمه وجود دارد:
user: نقشی که پیاموارهها را ارائه میدهد. این مقدار پیشفرض برای تماس باsendMessage()است، و اگر نقش دیگری ارائه شود، تابع استثنا ایجاد میکند.model: نقشی که پاسخها را ارائه میدهد. این نقش را میتوان هنگام تماس باstartChat()باhistoryموجود استفاده کرد.
Swift
برای ارسال پیام کاربر جدید میتوانید با
startChat()
و
sendMessage()
تماس بگیرید:
import FirebaseAILogic
// Initialize the Gemini Developer API backend service.
let ai = FirebaseAI.firebaseAI(backend: .googleAI())
// Create a `GenerativeModel` instance with a model that supports your use case.
let model = ai.generativeModel(modelName: "gemini-3.8-flash")
// Optionally specify existing chat history
let history = [
ModelContent(role: "user", parts: "Hello, I have 2 dogs in my house."),
ModelContent(role: "model", parts: "Great to meet you. What would you like to know?"),
]
// Initialize the chat with optional chat history
let chat = model.startChat(history: history)
// To generate text output, call sendMessage and pass in the message
let response = try await chat.sendMessage("How many paws are in my house?")
print(response.text ?? "No text in response.")
Kotlin
برای ارسال پیام کاربر جدید میتوانید با startChat()
و
sendMessage()
تماس بگیرید:
// Initialize the Gemini Developer API backend service.
// Create a `GenerativeModel` instance with a model that supports your use case.
val model = Firebase.ai(backend = GenerativeBackend.googleAI())
.generativeModel("gemini-3.8-flash")
// Initialize the chat
val chat = model.startChat(
history = listOf(
content(role = "user") { text("Hello, I have 2 dogs in my house.") },
content(role = "model") { text("Great to meet you. What would you like to know?") }
)
)
val response = chat.sendMessage("How many paws are in my house?")
print(response.text)
Java
برای ارسال پیام کاربر جدید میتوانید با
startChat()
و
sendMessage()
تماس بگیرید:
ListenableFuture را برمیگرداند.
// Initialize the Gemini Developer API backend service.
// Create a `GenerativeModel` instance with a model that supports your use case.
GenerativeModel ai = FirebaseAI.getInstance(GenerativeBackend.googleAI())
.generativeModel("gemini-3.8-flash");
// Use the GenerativeModelFutures Java compatibility layer which offers
// support for ListenableFuture and Publisher APIs
GenerativeModelFutures model = GenerativeModelFutures.from(ai);
// (optional) Create previous chat history for context
Content.Builder userContentBuilder = new Content.Builder();
userContentBuilder.setRole("user");
userContentBuilder.addText("Hello, I have 2 dogs in my house.");
Content userContent = userContentBuilder.build();
Content.Builder modelContentBuilder = new Content.Builder();
modelContentBuilder.setRole("model");
modelContentBuilder.addText("Great to meet you. What would you like to know?");
Content modelContent = userContentBuilder.build();
List<Content> history = Arrays.asList(userContent, modelContent);
// Initialize the chat
ChatFutures chat = model.startChat(history);
// Create a new user message
Content.Builder messageBuilder = new Content.Builder();
messageBuilder.setRole("user");
messageBuilder.addText("How many paws are in my house?");
Content message = messageBuilder.build();
// Send the message
ListenableFuture<GenerateContentResponse> response = chat.sendMessage(message);
Futures.addCallback(response, new FutureCallback<GenerateContentResponse>() {
@Override
public void onSuccess(GenerateContentResponse result) {
String resultText = result.getText();
System.out.println(resultText);
}
@Override
public void onFailure(Throwable t) {
t.printStackTrace();
}
}, executor);
Web
برای ارسال پیام کاربر جدید میتوانید با
startChat()
و
sendMessage()
تماس بگیرید:
import { initializeApp } from "firebase/app";
import { getAI, getGenerativeModel, GoogleAIBackend } from "firebase/ai";
// TODO(developer): Replace the following with your app's Firebase configuration
// See: https://firebase.google.com/docs/web/learn-more#config-object
const firebaseConfig = {
// ...
};
// Initialize FirebaseApp
const firebaseApp = initializeApp(firebaseConfig);
// Initialize the Gemini Developer API backend service.
const ai = getAI(firebaseApp, { backend: new GoogleAIBackend() });
// Create a `GenerativeModel` instance with a model that supports your use case.
const model = getGenerativeModel(ai, { model: "gemini-3.8-flash" });
async function run() {
const chat = model.startChat({
history: [
{
role: "user",
parts: [{ text: "Hello, I have 2 dogs in my house." }],
},
{
role: "model",
parts: [{ text: "Great to meet you. What would you like to know?" }],
},
],
generationConfig: {
maxOutputTokens: 100,
},
});
const msg = "How many paws are in my house?";
const result = await chat.sendMessage(msg);
const text = result.response.text();
console.log(text);
}
run();
Dart
برای ارسال پیام کاربر جدید میتوانید با
startChat()
و
sendMessage()
تماس بگیرید:
import 'package:firebase_ai/firebase_ai.dart';
import 'package:firebase_core/firebase_core.dart';
import 'firebase_options.dart';
// Initialize FirebaseApp
await Firebase.initializeApp(
options: DefaultFirebaseOptions.currentPlatform,
);
// Initialize the Gemini Developer API backend service.
// Create a `GenerativeModel` instance with a model that supports your use case.
final model =
FirebaseAI.googleAI().generativeModel(model: 'gemini-3.8-flash');
// Initialize the chat with history
final chat = model.startChat(
history: [
Content.text('Hello, I have 2 dogs in my house.'),
Content.model([const TextPart('Great to meet you. What would you like to know?')]),
],
);
// Send a message to the chat
final response = await chat.sendMessage(Content.text('How many paws are in my house?'));
print(response.text);
Unity
برای ارسال پیام کاربر جدید میتوانید با
StartChat()
و
SendMessageAsync()
تماس بگیرید:
using Firebase;
using Firebase.AI;
// Initialize the Gemini Developer API backend service.
var ai = FirebaseAI.GetInstance(FirebaseAI.Backend.GoogleAI());
// Create a `GenerativeModel` instance with a model that supports your use case.
var model = ai.GetGenerativeModel(modelName: "gemini-3.8-flash");
// Optionally specify existing chat history
var history = new [] {
ModelContent.Text("Hello, I have 2 dogs in my house."),
new ModelContent("model", new ModelContent.TextPart("Great to meet you. What would you like to know?")),
};
// Initialize the chat with optional chat history
var chat = model.StartChat(history);
// To generate text output, call SendMessageAsync and pass in the message
var response = await chat.SendMessageAsync("How many paws are in my house?");
UnityEngine.Debug.Log(response.Text ?? "No text in response.");
با نحوه انتخاب مدل مناسب برای مورد استفاده و برنامه خود آشنا شوید.
بااستفاده از گپ چندنوبتی، تصاویر را تکرار و ویرایش کنید
|
پیشاز امتحان کردن این نمونه، بخش
پیشاز شروع این راهنما را تکمیل کنید
تا پروژه و برنامهتان را راهاندازی کنید. در آن بخش، همچنین روی دکمهای برای ارائهدهنده Gemini API انتخابیتان کلیک خواهید کرد تا محتوای مختص ارائهدهنده را در این صفحه ببینید. |
بااستفاده از گپ چندنوبتی، میتوانید با مدل تصویر Gemini درباره تصاویری که تولید میکند یا تصاویری که ارائه میدهید تکرار کنید.
نمونه GenerativeModel ایجاد کنید،
روش پاسخ IMAGE را در پیکربندی مدل خود بگنجانید،
و برای ارسال پیامهای کاربر جدید، startChat() و sendMessage() را فراخوانی کنید.
Swift
import FirebaseAILogic
// Initialize the Gemini Developer API backend service.
// Create a `GenerativeModel` instance with a Gemini model that supports image output.
let generativeModel = FirebaseAI.firebaseAI(backend: .googleAI()).generativeModel(
modelName: "gemini-3.1-flash-image",
// Configure the model to respond with images only.
generationConfig: GenerationConfig(responseModalities: [.image])
)
// Initialize the chat
let chat = model.startChat()
guard let image = UIImage(named: "scones") else { fatalError("Image file not found.") }
// Provide an initial text prompt instructing the model to edit the image
let prompt = "Edit this image to make it look like a cartoon"
// To generate an initial response, send a user message with the image and text prompt
let response = try await chat.sendMessage(image, prompt)
// Inspect the generated image
guard let inlineDataPart = response.inlineDataParts.first else {
fatalError("No image data in response.")
}
guard let uiImage = UIImage(data: inlineDataPart.data) else {
fatalError("Failed to convert data to UIImage.")
}
// Follow up requests do not need to specify the image again
let followUpResponse = try await chat.sendMessage("But make it old-school line drawing style")
// Inspect the edited image after the follow up request
guard let followUpInlineDataPart = followUpResponse.inlineDataParts.first else {
fatalError("No image data in response.")
}
guard let followUpUIImage = UIImage(data: followUpInlineDataPart.data) else {
fatalError("Failed to convert data to UIImage.")
}
Kotlin
// Initialize the Gemini Developer API backend service.
// Create a `GenerativeModel` instance with a Gemini model that supports image output.
val model = Firebase.ai(backend = GenerativeBackend.googleAI()).generativeModel(
modelName = "gemini-3.1-flash-image",
// Configure the model to respond with images only.
generationConfig = generationConfig {
responseModalities = listOf(ResponseModality.IMAGE) }
)
// Provide an image for the model to edit
val bitmap = BitmapFactory.decodeResource(context.resources, R.drawable.scones)
// Create the initial prompt instructing the model to edit the image
val prompt = content {
image(bitmap)
text("Edit this image to make it look like a cartoon")
}
// Initialize the chat
val chat = model.startChat()
// To generate an initial response, send a user message with the image and text prompt
var response = chat.sendMessage(prompt)
// Inspect the returned image
var generatedImageAsBitmap = response
.candidates.first().content.parts.filterIsInstance<ImagePart>().firstOrNull()?.image
// Follow up requests do not need to specify the image again
response = chat.sendMessage("But make it old-school line drawing style")
generatedImageAsBitmap = response
.candidates.first().content.parts.filterIsInstance<ImagePart>().firstOrNull()?.image
Java
// Initialize the Gemini Developer API backend service.
// Create a `GenerativeModel` instance with a Gemini model that supports image output.
GenerativeModel ai = FirebaseAI.getInstance(GenerativeBackend.googleAI()).generativeModel(
"gemini-3.1-flash-image",
// Configure the model to respond with images only.
new GenerationConfig.Builder()
.setResponseModalities(Arrays.asList(ResponseModality.IMAGE))
.build()
);
GenerativeModelFutures model = GenerativeModelFutures.from(ai);
// Provide an image for the model to edit
Bitmap bitmap = BitmapFactory.decodeResource(resources, R.drawable.scones);
// Initialize the chat
ChatFutures chat = model.startChat();
// Create the initial prompt instructing the model to edit the image
Content prompt = new Content.Builder()
.setRole("user")
.addImage(bitmap)
.addText("Edit this image to make it look like a cartoon")
.build();
// To generate an initial response, send a user message with the image and text prompt
ListenableFuture<GenerateContentResponse> response = chat.sendMessage(prompt);
// Extract the image from the initial response
ListenableFuture<@Nullable Bitmap> initialRequest = Futures.transform(response, result -> {
for (Part part : result.getCandidates().get(0).getContent().getParts()) {
if (part instanceof ImagePart) {
ImagePart imagePart = (ImagePart) part;
return imagePart.getImage();
}
}
return null;
}, executor);
// Follow up requests do not need to specify the image again
ListenableFuture<GenerateContentResponse> modelResponseFuture = Futures.transformAsync(
initialRequest,
generatedImage -> {
Content followUpPrompt = new Content.Builder()
.addText("But make it old-school line drawing style")
.build();
return chat.sendMessage(followUpPrompt);
},
executor);
// Add a final callback to check the reworked image
Futures.addCallback(modelResponseFuture, new FutureCallback<GenerateContentResponse>() {
@Override
public void onSuccess(GenerateContentResponse result) {
for (Part part : result.getCandidates().get(0).getContent().getParts()) {
if (part instanceof ImagePart) {
ImagePart imagePart = (ImagePart) part;
Bitmap generatedImageAsBitmap = imagePart.getImage();
break;
}
}
}
@Override
public void onFailure(Throwable t) {
t.printStackTrace();
}
}, executor);
Web
import { initializeApp } from "firebase/app";
import { getAI, getGenerativeModel, GoogleAIBackend, ResponseModality } from "firebase/ai";
// TODO(developer): Replace the following with your app's Firebase configuration
// See: https://firebase.google.com/docs/web/learn-more#config-object
const firebaseConfig = {
// ...
};
// Initialize FirebaseApp
const firebaseApp = initializeApp(firebaseConfig);
// Initialize the Gemini Developer API backend service.
const ai = getAI(firebaseApp, { backend: new GoogleAIBackend() });
// Create a `GenerativeModel` instance with a model that supports your use case
const model = getGenerativeModel(ai, {
model: "gemini-3.1-flash-image",
// Configure the model to respond with images only.
generationConfig: {
responseModalities: [ResponseModality.IMAGE],
},
});
// Prepare an image for the model to edit
async function fileToGenerativePart(file) {
const base64EncodedDataPromise = new Promise((resolve) => {
const reader = new FileReader();
reader.onloadend = () => resolve(reader.result.split(',')[1]);
reader.readAsDataURL(file);
});
return {
inlineData: { data: await base64EncodedDataPromise, mimeType: file.type },
};
}
const fileInputEl = document.querySelector("input[type=file]");
const imagePart = await fileToGenerativePart(fileInputEl.files[0]);
// Provide an initial text prompt instructing the model to edit the image
const prompt = "Edit this image to make it look like a cartoon";
// Initialize the chat
const chat = model.startChat();
// To generate an initial response, send a user message with the image and text prompt
const result = await chat.sendMessage([prompt, imagePart]);
// Request and inspect the generated image
try {
const inlineDataParts = result.response.inlineDataParts();
if (inlineDataParts?.[0]) {
// Inspect the generated image
const image = inlineDataParts[0].inlineData;
console.log(image.mimeType, image.data);
}
} catch (err) {
console.error('Prompt or candidate was blocked:', err);
}
// Follow up requests do not need to specify the image again
const followUpResult = await chat.sendMessage("But make it old-school line drawing style");
// Request and inspect the returned image
try {
const followUpInlineDataParts = followUpResult.response.inlineDataParts();
if (followUpInlineDataParts?.[0]) {
// Inspect the generated image
const followUpImage = followUpInlineDataParts[0].inlineData;
console.log(followUpImage.mimeType, followUpImage.data);
}
} catch (err) {
console.error('Prompt or candidate was blocked:', err);
}
Dart
import 'package:firebase_ai/firebase_ai.dart';
import 'package:firebase_core/firebase_core.dart';
import 'firebase_options.dart';
await Firebase.initializeApp(
options: DefaultFirebaseOptions.currentPlatform,
);
// Initialize the Gemini Developer API backend service.
// Create a `GenerativeModel` instance with a Gemini model that supports image output.
final model = FirebaseAI.googleAI().generativeModel(
model: 'gemini-3.1-flash-image',
// Configure the model to respond with images only.
generationConfig: GenerationConfig(responseModalities: [ResponseModalities.image]),
);
// Prepare an image for the model to edit
final image = await File('scones.jpg').readAsBytes();
final imagePart = InlineDataPart('image/jpeg', image);
// Provide an initial text prompt instructing the model to edit the image
final prompt = TextPart("Edit this image to make it look like a cartoon");
// Initialize the chat
final chat = model.startChat();
// To generate an initial response, send a user message with the image and text prompt
final response = await chat.sendMessage([
Content.multi([prompt,imagePart])
]);
// Inspect the returned image
if (response.inlineDataParts.isNotEmpty) {
final imageBytes = response.inlineDataParts[0].bytes;
// Process the image
} else {
// Handle the case where no images were generated
print('Error: No images were generated.');
}
// Follow up requests do not need to specify the image again
final followUpResponse = await chat.sendMessage([
Content.text("But make it old-school line drawing style")
]);
// Inspect the returned image
if (followUpResponse.inlineDataParts.isNotEmpty) {
final followUpImageBytes = response.inlineDataParts[0].bytes;
// Process the image
} else {
// Handle the case where no images were generated
print('Error: No images were generated.');
}
Unity
using Firebase;
using Firebase.AI;
// Initialize the Gemini Developer API backend service.
// Create a `GenerativeModel` instance with a Gemini model that supports image output.
var model = FirebaseAI.GetInstance(FirebaseAI.Backend.GoogleAI()).GetGenerativeModel(
modelName: "gemini-3.1-flash-image",
// Configure the model to respond with images only.
generationConfig: new GenerationConfig(
responseModalities: new[] { ResponseModality.Image })
);
// Prepare an image for the model to edit
var imageFile = System.IO.File.ReadAllBytes(System.IO.Path.Combine(
UnityEngine.Application.streamingAssetsPath, "scones.jpg"));
var image = ModelContent.InlineData("image/jpeg", imageFile);
// Provide an initial text prompt instructing the model to edit the image
var prompt = ModelContent.Text("Edit this image to make it look like a cartoon.");
// Initialize the chat
var chat = model.StartChat();
// To generate an initial response, send a user message with the image and text prompt
var response = await chat.SendMessageAsync(new [] { prompt, image });
// Inspect the returned image
var imageParts = response.Candidates.First().Content.Parts
.OfType<ModelContent.InlineDataPart>()
.Where(part => part.MimeType == "image/png");
// Load the image into a Unity Texture2D object
UnityEngine.Texture2D texture2D = new(2, 2);
if (texture2D.LoadImage(imageParts.First().Data.ToArray())) {
// Do something with the image
}
// Follow up requests do not need to specify the image again
var followUpResponse = await chat.SendMessageAsync("But make it old-school line drawing style");
// Inspect the returned image
var followUpImageParts = followUpResponse.Candidates.First().Content.Parts
.OfType<ModelContent.InlineDataPart>()
.Where(part => part.MimeType == "image/png");
// Load the image into a Unity Texture2D object
UnityEngine.Texture2D followUpTexture2D = new(2, 2);
if (followUpTexture2D.LoadImage(followUpImageParts.First().Data.ToArray())) {
// Do something with the image
}
جاریسازی پاسخ
|
پیشاز امتحان کردن این نمونه، بخش
پیشاز شروع این راهنما را تکمیل کنید
تا پروژه و برنامهتان را راهاندازی کنید. در آن بخش، همچنین روی دکمهای برای ارائهدهنده Gemini API انتخابیتان کلیک خواهید کرد تا محتوای مختص ارائهدهنده را در این صفحه ببینید. |
با انتظار نکشیدن برای نتیجه کامل تولید مدل، میتوانید تعاملهای سریعتری داشته باشید و درعوض از جاریسازی برای مدیریت نتایج جزئی استفاده کنید.
برای جاریسازی پاسخ، با sendMessageStream() تماس بگیرید.
چه کارهای دیگری میتوانید انجام دهید؟
- پیشاز ارسال پیاموارههای طولانی به مدل، با نحوه شمارش نشانهها آشنا شوید.
- Cloud Storage for Firebase را راهاندازی کنید تا بتوانید فایلهای بزرگ را در درخواستهای چندوجهیتان بگنجانید و راهحل مدیریتشدهتری برای ارائه فایل در پیاموارهها داشته باشید. فایلها میتوانند شامل تصاویر، فایلهای PDF، ویدیو، و صدا باشند.
-
به فکر آمادهسازی برای تولید باشید (به
بازبینه تولید مراجعه کنید):
- Firebase App Checkرا در اسرع وقت اعمال کنید تا به محافظت از Gemini API دربرابر سوءاستفاده کارخواههای غیرمجاز کمک کنید.
- از Firebase Remote Config یا الگوهای پیامواره سرور استفاده کنید تا بتوانید بدون انتشار نسخه جدید برنامه، تغییرات درخواستی را در پیکربندیهای ویژگی هوش مصنوعی خود (مثل نام مدل) اعمال کنید.
امتحان کردن قابلیتهای دیگر
- تولید نوشتار از پیاموارههای فقط نوشتاری.
- با پیامواره دادن با انواع مختلف فایل، مثل تصاویر، PDF، ویدیو، و صوت، نوشتار تولید کنید.
- تولید برونداد ساختاریافته (مثل JSON) از پیاموارههای نوشتاری و چندحالته.
- تولید و ویرایش تصاویر از پیاموارههای نوشتاری و چندحالته.
-
از ابزارها (مثل فراخوانی تابع
و «پایهگذاری» با
Google Search یاGoogle Maps ) برای متصل کردن مدل Gemini به بخشهای دیگر برنامه و سیستمها و اطلاعات خارجی استفاده کنید.
با نحوه کنترل تولید محتوا آشنا شوید
- درک طراحی پیامواره، ازجمله روالهای مطلوب، استراتژیها، و پیاموارههای نمونه.
- پیکربندی پارامترهای مدل مانند حداکثر دادهواحدهای برونداد، احتمال تکرار دادهواحدهای برونداد، و غیره.
- برای تنظیم احتمال دریافت پاسخهایی که ممکن است مضر تلقی شوند، از تنظیمات ایمنی استفاده کنید.
درباره مدلهای پشتیبانیشده بیشتر بدانید
درباره مدلهای دردسترس برای موارد استفاده مختلف و سهمیهها و قیمتگذاری آنها بیشتر بدانید.بازخورد دادن درباره تجربهتان با Firebase AI Logic