PaLM API: البدء السريع للتضمينات باستخدام لغة Java

يساعدك هذا البدء السريع على بدء استخدام خدمة التضمينات لواجهة برمجة التطبيقات PaLM. ستستخدم خدمة التضمين لإنشاء عمليات تضمين للنصوص يمكنك استخدامها في العديد من تطبيقات اللغات الطبيعية.

الحصول على مفتاح واجهة برمجة التطبيقات

للبدء، عليك الحصول على مفتاح واجهة برمجة التطبيقات.

ما المقصود بالتضمين؟

عمليات التضمين هي أسلوب يُستخدَم لتمثيل النص (مثل الكلمات أو الجمل أو الفقرات الكاملة) في شكل قائمة بأرقام النقاط العائمة في مصفوفة. فالفكرة الأساسية هي أنّ النص الذي يحمل معانٍ متشابهة سيكون له اشتمال مشابه. ويمكنك استخدام العلاقة بينهما في العديد من المهام المهمة.

تثبيت عميل واجهة برمجة التطبيقات

ستقوم هذه التعليمات بتثبيت PaLM Java SDK في مستودع Maven المحلي لديك لتتمكن من إضافته كتبعية لمشروع Gradle الخاص بك.

  1. نزِّل ملف google-cloud-ai-generativelanguage-v1-java.tar.gz.
  2. استخرِج الملفات وثبِّتها في mavenLocal:

    # Extract the files
    tar -xzvf google-cloud-ai-generativelanguage-v1-java.tar.gz
    cd google-cloud-ai-generativelanguage-v1-java
    
    # Install to mavenLocal
    ./gradlew publishToMavenLocal
    
  3. افتح ملف إعداد Gradle وتأكَّد من إدراج mavenLocal() ضمن repositories:

    repositories {
        mavenCentral()
        // ...
    
        // Add the Maven Local repository
        mavenLocal()
    }
    
  4. وفي ملف إعداد Gradle أيضًا، أضِف المكتبات اللازمة إلى مجموعة dependencies:

    dependencies {
        // ...
    
        // Add these dependencies to use Generative AI
        implementation("com.google.cloud:gapic-google-cloud-ai-generativelanguage-v1-java:0.0.0-SNAPSHOT")
        implementation("io.grpc:grpc-okhttp:1.53.0")
    }
    

إعداد برنامج خدمة النصوص

في برنامج Java، يمكنك إعداد TextServiceClient من خلال تمرير مفتاح واجهة برمجة التطبيقات كعنوان TransportChannelProvider ليستخدمه TextServiceSettings:

HashMap<String, String> headers = new HashMap<>();
headers.put("x-goog-api-key", "API_KEY");

TransportChannelProvider provider = InstantiatingGrpcChannelProvider.newBuilder()
    .setHeaderProvider(FixedHeaderProvider.create(headers))
    .build();

TextServiceSettings settings = TextServiceSettings.newBuilder()
    .setTransportChannelProvider(provider)
    .setCredentialsProvider(FixedCredentialsProvider.create(null))
    .build();

TextServiceClient client = TextServiceClient.create(settings);

إنشاء تضمينات

في هذا القسم، ستتعرف على كيفية إنشاء تضمينات لجزء من النص باستخدام طريقة embedText.

لاستخدام الطريقة embedText، أدخِل اسم النموذج مع إضافة بعض النص الذي تريد تضمينه. ستظهر لك قائمة بقيم النقاط العائمة.

EmbedTextRequest request = EmbedTextRequest.newBuilder()
    .setModel("models/embedding-gecko-001") // Required, which model to use to generate the result
    .setText("What do squirrels eat?") // Required
    .build();

EmbedTextResponse response = client.embedText(request);

List<Float> embedding = response.getEmbedding().getValueList();

System.out.println(embedding);