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


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

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

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

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

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

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

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

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

إذا كان لديك مشروع على Firebase وتطبيق مرتبط بمنصّة Firebase

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

  2. انقر على بطاقة Vertex AI in Firebase لبدء سير عمل يساعدك في إكمال المهام التالية. (لاحظ أنه إذا رأيت علامة تبويب في وحدة التحكم Vertex AI، وتكون هذه المهام مكتملة.)

  3. يمكنك المتابعة إلى الخطوة التالية في هذا الدليل لإضافة حزمة تطوير البرامج (SDK) إلى تطبيقك.

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


الخطوة 2: إضافة حزمة تطوير البرامج (SDK)

بعد إعداد مشروع Firebase وربط تطبيقك بمنصّة Firebase (يُرجى الاطّلاع على الخطوة السابقة)، يمكنك الآن إضافة حزمة تطوير البرامج (SDK) لنظام التشغيل Vertex AI in Firebase إلى تطبيقك.

توفّر حزمة تطوير البرامج (SDK) لنظام التشغيل Android (firebase-vertexai) إمكانية الوصول إلى Vertex AI Gemini API.

في ملف إعدادات Gradle الخاص بالوحدة (على مستوى التطبيق) (مثل <project>/<app-module>/build.gradle.kts)، أضِف الاعتمادية ل Vertex AI in Firebase SDK لنظام التشغيل Android:

Kotlin+KTX

dependencies {
  // ... other androidx dependencies

  // add the dependency for the Vertex AI in Firebase SDK for Android
  implementation("com.google.firebase:firebase-vertexai:16.0.0-beta06")
}

Java

بالنسبة إلى Java، يجب إضافة مكتبتين إضافيتين.

dependencies {
  // ... other androidx dependencies

  // add the dependency for the Vertex AI in Firebase SDK for Android
  implementation("com.google.firebase:firebase-vertexai:16.0.0-beta06")

  // 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")
}

الخطوة 3: إعداد خدمة Vertex AI والنموذج التوليدي

قبل أن تتمكّن من إجراء أي طلبات إلى واجهة برمجة التطبيقات، عليك إعداد Vertex AI الخدمة والنموذج التوليدي.

Kotlin+KTX

بالنسبة إلى Kotlin، تمثل الطرق في حزمة SDK هذه دوال تعليق ويجب استدعاؤها من نطاق الكوروتين
// 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 من مكتبة "ساحات المشاركات التفاعلية"
// 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

بالنسبة إلى 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

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

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


تقديم ملاحظات حول تجربتك مع Vertex AI in Firebase