بدء استخدام Gemini API باستخدام Vertex AI في حِزم تطوير البرامج (SDK) لمنصة Firebase


يوضّح لك هذا الدليل كيفية بدء إجراء مكالمات إلى Vertex AI Gemini API مباشرةً من تطبيقك باستخدام حزمة تطوير البرامج (SDK) لVertex AI in Firebase على النظام الأساسي الذي اخترته.

المتطلبات الأساسية

يفترض هذا الدليل أنّك على دراية باستخدام "استوديو Android" لتطوير تطبيقات Android.

  • تأكَّد من استيفاء بيئة التطوير وتطبيق Android للمتطلبات التالية:

    • "استوديو Android" (أحدث إصدار)
    • يجب أن يستهدف تطبيق Android المستوى 21 من واجهة برمجة التطبيقات أو الإصدارات الأحدث.
  • (اختياري) اطّلِع على نموذج التطبيق.

    تنزيل نموذج التطبيق

    يمكنك تجربة حزمة تطوير البرامج (SDK) بسرعة، أو الاطّلاع على تنفيذ كامل لحالات الاستخدام المختلفة، أو استخدام النموذج التطبيقي إذا لم يكن لديك تطبيق Android. وللاستخدام النموذج التطبيقي، عليك ربطه بمشروع على Firebase.

الخطوة 1: إعداد مشروع على Firebase وربط تطبيقك بـ Firebase

إذا كان لديك سابقًا مشروع على Firebase وتطبيق مرتبط به

  1. في وحدة تحكّم Firebase، انتقِل إلى صفحة الإنشاء باستخدام Gemini.

  2. انقر على بطاقة Vertex AI in Firebase لبدء سير عمل يساعدك في completing the following tasks:

  3. يمكنك المتابعة إلى الخطوة التالية في هذا الدليل لإضافة حزمة تطوير البرامج (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

التعرّف على طريقة التحكّم في إنشاء المحتوى

يمكنك أيضًا تجربة الطلبات وإعدادات النماذج باستخدام Vertex AI Studio.


تقديم ملاحظات حول تجربتك في استخدام "Vertex AI in Firebase"