يوضّح لك هذا الدليل كيفية بدء إجراء مكالمات إلى 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 لبدء سير عمل يساعدك في completing the following tasks:
يمكنك ترقية مشروعك لاستخدام خطة أسعار Blaze المستندة إلى الدفع حسب الاستخدام.
فعِّل واجهات برمجة التطبيقات المطلوبة في مشروعك (واجهة برمجة التطبيقات Vertex AI وواجهة برمجة تطبيقات Vertex AI in Firebase).
يمكنك المتابعة إلى الخطوة التالية في هذا الدليل لإضافة حزمة تطوير البرامج (SDK) إلى تطبيقك.
إذا لم يكن لديك مشروع على Firebase وتطبيق مرتبط بمنصّة 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+KTX
dependencies { // ... other androidx dependencies // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.6.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.6.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+KTX
بالنسبة إلى 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+KTX
الطرق في حزمة تطوير البرامج (SDK) هذه هي دوال تعليق ويجب استدعاؤها من نطاق الكوروتين في لغة Kotlin.// 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"