يوضّح لك هذا الدليل كيفية بدء إجراء مكالمات إلى Vertex AI Gemini API مباشرةً من تطبيقك باستخدام حزمة تطوير البرامج (SDK) Vertex AI in Firebase لنظام التشغيل الذي اخترته.
المتطلبات الأساسية
يفترض هذا الدليل أنّك على دراية باستخدام "استوديو Android" لتطوير تطبيقات Android.
تأكَّد من أنّ بيئة التطوير وتطبيق Android يستوفيان المتطلّبات التالية:
- "استوديو Android" (أحدث إصدار)
- يجب أن يستهدف تطبيق Android المستوى 21 من واجهة برمجة التطبيقات أو الإصدارات الأحدث.
(اختياري) اطّلِع على نموذج التطبيق.
يمكنك تجربة حزمة تطوير البرامج (SDK) بسرعة، أو الاطّلاع على تنفيذ كامل لحالات الاستخدام المختلفة، أو استخدام النموذج التطبيقي إذا لم يكن لديك تطبيق Android. ولاستخدام النموذج التطبيقي، عليك ربطه بمشروع على Firebase.
الخطوة 1: إعداد مشروع على Firebase وربط تطبيقك بـ Firebase
إذا كان لديك سابقًا مشروع على Firebase وتطبيق مرتبط به
في وحدة تحكّم Firebase، انتقِل إلى صفحة الإنشاء باستخدام Gemini.
انقر على بطاقة Vertex AI in Firebase لبدء سير عمل يساعدك في إكمال المهام التالية:
يمكنك ترقية مشروعك لاستخدام خطة أسعار Blaze المستندة إلى الدفع حسب الاستخدام.
فعِّل واجهات برمجة التطبيقات المطلوبة في مشروعك (Vertex AI API وVertex AI in Firebase API).
انتقِل إلى الخطوة التالية في هذا الدليل لإضافة حزمة تطوير البرامج (SDK) إلى تطبيقك.
إذا لم يكن لديك مشروع على Firebase وتطبيق مرتبط به
الخطوة 2: إضافة حزمة تطوير البرامج (SDK)
بعد إعداد مشروعك على Firebase وربط تطبيقك بمنصّة Firebase (راجِع الخطوة السابقة)، يمكنك الآن إضافة حزمة تطوير البرامج (SDK) لنظام Vertex AI in Firebase إلى تطبيقك.
توفّر حزمة تطوير البرامج (SDK) لنظام التشغيل Android (firebase-vertexai
) الخاصة بـ Vertex AI in Firebase إمكانية الوصول إلى Vertex AI Gemini API.
في ملف Gradle للوحدة (على مستوى التطبيق)
(مثل <project>/<app-module>/build.gradle.kts
)،
أضِف الاعتمادية لمكتبة Vertex AI in Firebase لنظام التشغيل Android.
ننصحك باستخدام الرمز
Firebase Android BoM
للتحكّم في إصدارات المكتبة.
Kotlin
dependencies { // ... other androidx dependencies // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.7.0")) // Add the dependency for the Vertex AI in Firebase library // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-vertexai") }
Java
بالنسبة إلى Java، عليك إضافة مكتبتَين إضافيتَين.
dependencies { // ... other androidx dependencies // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.7.0")) // Add the dependency for the Vertex AI in Firebase library // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-vertexai") // Required for one-shot operations (to use `ListenableFuture` from Guava Android) implementation("com.google.guava:guava:31.0.1-android") // Required for streaming operations (to use `Publisher` from Reactive Streams) implementation("org.reactivestreams:reactive-streams:1.0.4") }
باستخدام Firebase Android BoM، سيستخدم تطبيقك دائمًا إصدارات متوافقة من مكتبات Firebase لنظام التشغيل Android.
الخطوة 3: بدء خدمة Vertex AI والنموذج التوليدي
قبل أن تتمكّن من إجراء أي طلبات إلى واجهة برمجة التطبيقات، عليك إعداد Vertex AI الخدمة والنموذج التوليدي.
Kotlin
بالنسبة إلى Kotlin، تكون الطرق في حزمة تطوير البرامج (SDK) هذه وظائف معلّقة ويجب استدعاؤها من نطاق Coroutine.// Initialize the Vertex AI service and the generative model
// Specify a model that supports your use case
// Gemini 1.5 models are versatile and can be used with all API capabilities
val generativeModel = Firebase.vertexAI.generativeModel("gemini-1.5-flash")
Java
بالنسبة إلى Java، تُعرِض طُرق البث في حزمة SDK هذه نوعًاPublisher
من مكتبة Reactive Streams.
// Initialize the Vertex AI service and the generative model
// Specify a model that supports your use case
// Gemini 1.5 models are versatile and can be used with all API capabilities
GenerativeModel gm = FirebaseVertexAI.getInstance()
.generativeModel("gemini-1.5-flash");
// Use the GenerativeModelFutures Java compatibility layer which offers
// support for ListenableFuture and Publisher APIs
GenerativeModelFutures model = GenerativeModelFutures.from(gm);
بعد الانتهاء من دليل البدء، تعرَّف على كيفية اختيار نموذج Gemini و (اختياريًا) موقع جغرافي مناسبَين لحالة الاستخدام والتطبيق.
الخطوة 4: الاتصال بـ Vertex AI Gemini API
بعد ربط تطبيقك بمنصّة Firebase وإضافة حزمة تطوير البرامج (SDK) وبدء استخدام خدمة Vertex AI والنموذج التوليدي، يمكنك الآن استدعاء Vertex AI Gemini API.
يمكنك استخدام generateContent()
لإنشاء نص من طلب نصي فقط:
طلب:
Kotlin
بالنسبة إلى Kotlin، تكون الطرق في حزمة تطوير البرامج (SDK) هذه وظائف معلّقة ويجب استدعاؤها من نطاق Coroutine.// Initialize the Vertex AI service and the generative model
// Specify a model that supports your use case
// Gemini 1.5 models are versatile and can be used with all API capabilities
val generativeModel = Firebase.vertexAI.generativeModel("gemini-1.5-flash")
// Provide a prompt that contains text
val prompt = "Write a story about a magic backpack."
// To generate text output, call generateContent with the text input
val response = generativeModel.generateContent(prompt)
print(response.text)
Java
بالنسبة إلى Java، تعرض الطرق في حزمة SDK هذه رمز برمجيًا هوListenableFuture
.
// Initialize the Vertex AI service and the generative model
// Specify a model that supports your use case
// Gemini 1.5 models are versatile and can be used with all API capabilities
GenerativeModel gm = FirebaseVertexAI.getInstance()
.generativeModel("gemini-1.5-flash");
GenerativeModelFutures model = GenerativeModelFutures.from(gm);
// Provide a prompt that contains text
Content prompt = new Content.Builder()
.addText("Write a story about a magic backpack.")
.build();
// To generate text output, call generateContent with the text input
ListenableFuture<GenerateContentResponse> response = model.generateContent(prompt);
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);
ما هي الإجراءات الأخرى التي يمكنك اتّخاذها؟
مزيد من المعلومات حول طُرز Gemini
اطّلِع على مزيد من المعلومات عن النماذج المتاحة لحالات الاستخدام المختلفة واطلاعك على الحصص والأسعار.
تجربة إمكانات أخرى في Gemini API
- اطّلِع على مزيد من المعلومات عن إنشاء نص من طلبات نصية فقط، بما في ذلك كيفية بثّ الردّ.
- إنشاء نص من طلبات متعددة الوسائط (بما في ذلك النصوص والصور وملفات PDF والفيديوهات والمحتوى الصوتي)
- إنشاء محادثات متعددة المقاطع (محادثة)
- إنشاء إخراج منظَّم (مثل تنسيق JSON) من كلّ من الطلبات النصية والطلبات المتعدّدة الوسائط
- استخدِم استدعاء الدوال لربط النماذج التوليدية بالأنظمة والمعلومات الخارجية.
التعرّف على كيفية التحكّم في إنشاء المحتوى
- التعرّف على تصميم الطلبات، بما في ذلك أفضل الممارسات والاستراتيجيات وأمثلة الطلبات
- ضبط مَعلمات النموذج، مثل مستوى الإبداع والحد الأقصى لوحدات ترميز الإخراج
- استخدام إعدادات الأمان لضبط احتمالية تلقّي ردود قد تُعتبر ضارة
تقديم ملاحظات حول تجربتك مع Vertex AI in Firebase