ABAP SDK-এর সাথে Gemini AI ব্যবহার করে সেন্টিমেন্ট বিশ্লেষণ

1. ভূমিকা

এই কোডল্যাবে, আপনি Google ক্লাউডের জন্য ABAP SDK-এর সাথে পণ্য পর্যালোচনার অনুভূতি বিশ্লেষণ করতে জেমিনি প্রো মডেল ব্যবহার করবেন। আপনার SAP সিস্টেম কম্পিউট ইঞ্জিন VM ইনস্ট্যান্সে হোস্ট করা হলে টোকেন ব্যবহার করে Google Cloud Vertex AI API অ্যাক্সেস করার জন্য প্রমাণীকরণ সেট আপ করার জন্য আমরা ধাপগুলি অতিক্রম করব।

ব্যবহৃত পরিষেবার তালিকা হল:

  • কম্পিউট ইঞ্জিন
  • নেটওয়ার্ক পরিষেবা
  • মেঘের শেল
  • ভার্টেক্স এআই

আপনি কি নির্মাণ করবেন

আপনি নিম্নলিখিত সঞ্চালন করবেন:

  • Google API-এর সাথে সংযোগ করতে SAP সিস্টেমে ইনস্টল করা ABAP SDK কনফিগার করুন।
  • জেমিনি এআই কল করার জন্য একটি উদাহরণ রিপোর্ট প্রোগ্রাম তৈরি করুন এবং পণ্যের পর্যালোচনাগুলিতে অনুভূতি বিশ্লেষণ করুন৷

2. প্রয়োজনীয়তা

  • একটি ব্রাউজার, যেমন ক্রোম বা ফায়ারফক্স
  • বিলিং সক্ষম সহ একটি Google ক্লাউড প্রকল্প বা Google ক্লাউড প্ল্যাটফর্মের জন্য একটি 90-দিনের বিনামূল্যে ট্রায়াল অ্যাকাউন্ট তৈরি করুন
  • আপনার সিস্টেমে ইনস্টল করা SAP GUI (উইন্ডোজ বা জাভা)। যদি আপনার সিস্টেমে SAP GUI ইতিমধ্যেই ইনস্টল করা থাকে, তাহলে অ্যাপ্লিকেশন সার্ভার IP হিসাবে VM বাহ্যিক IP ঠিকানা ব্যবহার করে SAP-এর সাথে সংযোগ করুন। আপনি যদি ম্যাকে থাকেন তবে আপনি এই লিঙ্কে উপলব্ধ জাভার জন্য SAP GUI ইনস্টল করতে পারেন।

3. আপনি শুরু করার আগে

  • Google ক্লাউড কনসোলে , প্রকল্প নির্বাচক পৃষ্ঠায়, একটি Google ক্লাউড প্রকল্প নির্বাচন করুন বা তৈরি করুন (উদাহরণস্বরূপ: abap-sdk-poc).
  • নিশ্চিত করুন যে আপনার ক্লাউড প্রকল্পের জন্য বিলিং সক্ষম করা আছে৷ একটি প্রকল্পে বিলিং সক্ষম কিনা তা পরীক্ষা করতে শিখুন। আপনি যদি 90-দিনের ফ্রি ট্রায়াল অ্যাকাউন্ট ব্যবহার করেন তবে এই ধাপটি এড়িয়ে যান।
  • আপনি Cloud Shell ব্যবহার করবেন, Google ক্লাউডে চলমান একটি কমান্ড-লাইন পরিবেশ। ক্লাউড কনসোল থেকে, উপরের ডানদিকে কোণায় ক্লাউড শেল সক্রিয় করুন ক্লিক করুন:
  • 6757b2fb50ddcc2d.png
  • নিশ্চিত করুন যে সমস্ত প্রয়োজনীয় API (AM পরিষেবা অ্যাকাউন্টের শংসাপত্র API, Vertex AI API) সক্ষম আছে৷
  • আপনার অ্যাকাউন্টের জন্য প্রমাণীকরণ করতে নিম্নলিখিত কমান্ডগুলি চালান এবং ডিফল্ট প্রকল্পটিকে abap-sdk-poc এ সেট করুন। Zone us-west4-b উদাহরণ হিসেবে ব্যবহার করা হয়েছে। যদি প্রয়োজন হয়, অনুগ্রহ করে আপনার পছন্দের উপর ভিত্তি করে নিম্নলিখিত কমান্ডগুলিতে প্রকল্প এবং অঞ্চল পরিবর্তন করুন।
gcloud auth login
gcloud config set project abap-sdk-poc
gcloud config set compute/zone us-west4-b
PROJECT_NAME=abap-sdk-poc
REGION=us-west4
ZONE=us-west4-b

4. একটি পরিষেবা অ্যাকাউন্ট তৈরি করুন এবং Vertex AI ব্যবহারকারীর ভূমিকা সেট করুন

  1. একটি পরিষেবা অ্যাকাউন্ট তৈরি করতে নিম্নলিখিত কমান্ডটি চালান (যদি ইতিমধ্যে তৈরি না হয়)।
gcloud iam service-accounts create abap-sdk-dev \
    --description="ABAP SDK Dev Account" \
    --display-name="ABAP SDK Dev Account"
  1. Vertex AI ব্যবহারকারীর ভূমিকা সেট করতে নিম্নলিখিত কমান্ডটি চালান।
gcloud projects add-iam-policy-binding $PROJECT_NAME \
    --member=serviceAccount:abap-sdk-codelabs@$PROJECT_NAME.iam.gserviceaccount.com \
    --role=roles/aiplatform.user

5. ক্লায়েন্ট কী কনফিগার করুন

SAP সিস্টেমে লগ ইন করুন। আপনি যদি কোডল্যাব দ্বারা প্রবিধান করা সিস্টেমটি ব্যবহার করেন " Google ক্লাউড প্ল্যাটফর্মে ABAP প্ল্যাটফর্ম ট্রায়াল ইনস্টল করুন এবং ABAP SDK ইনস্টল করুন ", তাহলে লগইন করার জন্য ডিফল্ট ব্যবস্থা করা ব্যবহারকারীর নাম এবং পাসওয়ার্ড ব্যবহার করুন৷

  1. SAP GUI-তে, লেনদেন কোড SPRO লিখুন।
  2. SAP রেফারেন্স IMG এ ক্লিক করুন।
  3. Google ক্লাউড > বেসিক সেটিংস > কনফিগার ক্লায়েন্ট কী-এর জন্য ABAP SDK-এ ক্লিক করুন।
  4. নতুন এন্ট্রি ক্লিক করুন.
  5. নিম্নলিখিত ক্ষেত্রের জন্য মান লিখুন:

মাঠ

বর্ণনা

গুগল ক্লাউড কী নাম

ABAP_SDK_DEMO

Google ক্লাউড পরিষেবা অ্যাকাউন্টের নাম

abap-sdk-dev@abap-sdk-poc.iam.gserviceaccount.com

গুগল ক্লাউড স্কোপ

https://www.googleapis.com/auth/cloud-platform

Google ক্লাউড প্রকল্প শনাক্তকারী

abap-sdk-poc

অনুমোদন শ্রেণী

/GOOG/CL_AUTH_GOOGLE৷

অন্যান্য ক্ষেত্রগুলি ফাঁকা রাখুন

c72e71da6fd75b29.png

6. RFC গন্তব্য তৈরি করুন

লেনদেন কোড SM59 ব্যবহার করে IAM শংসাপত্র এবং Vertex AI API-এর জন্য RFC গন্তব্য তৈরি করুন। প্রয়োজন হলে, একটি RFC গন্তব্য তৈরির বিস্তারিত পদক্ষেপের জন্য অনুগ্রহ করে এখানে পড়ুন।

RFC গন্তব্যের নাম

টার্গেট হোস্ট (API শেষ পয়েন্ট)

নোট

ZGOOG_IAMCREDENTIALS

  • হোস্ট : iamcredentials.googleapis.com
  • পথ : উপসর্গ: /v1/
  • পোর্ট : 443
  • SSL : সক্রিয়

এই RFC গন্তব্যটি IAM API-কে লক্ষ্য করে।

ZGOOG_VERTEX_AI

  • হোস্ট : us-central1-aiplatform.googleapis.com
  • পোর্ট : 443
  • SSL : সক্রিয়

এই RFC গন্তব্য Vertex AI API us-central1 এন্ডপয়েন্টকে লক্ষ্য করে।

  • প্রযুক্তিগত সেটিংস ট্যাবের অধীনে, ZGOOG_IAMCREDENTIALS গন্তব্যের জন্য নিম্নলিখিত বিবরণ লিখুন।

e670c6a91acba40f.png

  • প্রযুক্তিগত সেটিংস ট্যাবের অধীনে, ZGOOG_VERTEX_AI গন্তব্যের জন্য নিম্নলিখিত বিবরণ লিখুন৷

5c584aaed5c110f2.png

  • SSL শংসাপত্র ক্ষেত্রের জন্য, নিশ্চিত করুন যে RFC উভয় গন্তব্যের জন্য ডিফল্ট SSL ক্লায়েন্ট (স্ট্যান্ডার্ড) বিকল্পটি নির্বাচিত হয়েছে।

b6370d12bd332318.png

7. পরিষেবা ম্যাপিং কনফিগার করুন

IAM API, এবং Vertex AI API-এর জন্য পরিষেবা ম্যাপিং টেবিল কনফিগার করতে, নিম্নলিখিত পদক্ষেপগুলি সম্পাদন করুন:

  1. SAP GUI-তে, লেনদেন কোড SPRO লিখুন।
  2. SAP রেফারেন্স IMG এ ক্লিক করুন।
  3. Google ক্লাউড > বেসিক সেটিংস > কনফিগার সার্ভিস ম্যাপিং-এর জন্য ABAP SDK-এ ক্লিক করুন।
  4. আইএএম ক্রেডেনশিয়াল এবং ভার্টেক্স এআই API-এর জন্য নতুন এন্ট্রিতে ক্লিক করুন এবং নীচে দেখানো হিসাবে RFC গন্তব্যগুলি আপডেট করুন।

e7cc1429a4fe3a04.png

8. কনফিগারেশন যাচাই করুন

প্রমাণীকরণ কনফিগারেশন যাচাই করতে, নিম্নলিখিত পদক্ষেপগুলি সম্পাদন করুন:

  1. SAP GUI-তে, লেনদেন কোড SPRO লিখুন।
  2. SAP রেফারেন্স IMG এ ক্লিক করুন।
  3. Google ক্লাউড > ইউটিলিটি > যাচাইকরণ কনফিগারেশনের জন্য ABAP SDK-এ ক্লিক করুন।
  4. ABAP_SDK_DEMO হিসাবে ক্লায়েন্ট কী নাম লিখুন।
  5. সামগ্রিক প্রবাহ সফলভাবে কনফিগার করা হয়েছে কিনা তা পরীক্ষা করতে এক্সিকিউটে ক্লিক করুন।
  6. ফলাফল কলামে একটি সবুজ চেক নির্দেশ করে যে সমস্ত কনফিগারেশন ধাপ সফলভাবে সম্পন্ন হয়েছে।

d7285e64e22c25b6.png

9. পণ্য পর্যালোচনা ডেটা অধ্যয়ন

ABAP প্ল্যাটফর্ম ট্রায়ালটি SAP এন্টারপ্রাইজ প্রকিউরমেন্ট মডেল (EPM) এর সাথে প্রাক-ইনস্টল করা আছে, এটি প্রদর্শন এবং পরীক্ষার উদ্দেশ্যে SAP দ্বারা সজ্জিত একটি এন্ড-টু-এন্ড অ্যাপ্লিকেশন। সেন্টিমেন্ট বিশ্লেষণের জন্য যে পণ্যের পর্যালোচনাগুলি ব্যবহার করা হবে সেগুলি SNWD_REV_ITEM টেবিলে সংরক্ষিত আছে৷

আপনি Tcode: SE16 ব্যবহার করে টেবিলের ডেটা দেখতে পারেন। আমরা "RATING_TEXT" ক্ষেত্র থেকে নমুনা পাঠ্য ব্যবহার করব।

2bae72d437ea639.png

ঐচ্ছিকভাবে, আপনি Fiori লঞ্চপ্যাড (TCode: /UI2/FLP) থেকে "ম্যানেজার পণ্য" অ্যাপ্লিকেশন অ্যাক্সেস করে ডেটা দেখতে পারেন।

f9792a91ef9f0736.png

নিম্নলিখিত স্ক্রিনশট পণ্য তালিকা দেখায়.

f822f9ab71d37a9.png

পণ্যের রেটিং এবং উদাহরণ পর্যালোচনা দেখতে পণ্যটিতে ক্লিক করুন।

69fe380d5ca7b276.png

পরবর্তী বিভাগে, আমরা Google LLM ব্যবহার করে অনুভূতি বিশ্লেষণ করতে এই নমুনা পণ্য পর্যালোচনা ব্যবহার করব।

10. ভার্টেক্স এআই স্টুডিও ব্যবহার করে অনুভূতি বিশ্লেষণ করুন

  1. Vertex AI ড্যাশবোর্ড খুলুন, Vertex AI স্টুডিওর অধীনে ভাষা নির্বাচন করুন।
  2. একটি নতুন টেক্সট প্রম্পট তৈরি করুন।

8ce4c928c75174d7.png

  1. Gemini Pro মডেলের নির্বাচন নিশ্চিত করুন।
  2. সম্পাদকে, পণ্য পর্যালোচনায় গ্রাহকের অনুভূতি বিশ্লেষণ করতে মডেলকে নির্দেশ দেওয়ার জন্য নিম্নলিখিত প্রম্পটটি ইনপুট করুন।
  3. মডেল থেকে প্রতিক্রিয়া তৈরি করতে Submit এ ক্লিক করুন।

প্রম্পট :

What's the Customer sentiment in the below product review

Horrible! Unsatisfied in every way! The description is wrong. I sent it back. I want my money back! It is so horrible that I can't even believe it! Too expensive for what I received. I'd expect a little more durability. No instructions included for use or installation. I'm actually really surprised by the positive reviews, which I relied on when ordering. Called customer service..no answer. Looks better than it works. The Worst I have ever seen! Honestly I have no clue what you had in mind when choosing to offer this product. Not sure if I should even post one star.... It broke after 1 day. Poor Quality. Didn't work, that is why I cannot recommend this product.

fd245c204144484.png

"SNWD_REV_ITEM" টেবিলের পর্যালোচনা ডেটা অতিরিক্ত প্রম্পট সহ মডেল পরীক্ষা করার জন্য ব্যবহার করা যেতে পারে।

11. জেমিনি প্রো মডেল কল করার জন্য একটি রিপোর্ট প্রোগ্রাম তৈরি করুন৷

এই ধাপে, আমরা পণ্য পর্যালোচনার অনুভূতি বিশ্লেষণ করতে ABAP থেকে জেমিনি প্রো মডেলকে কল করব। ডেমোর উদ্দেশ্যে প্রোগ্রামটি 10টি পর্যন্ত পণ্য পর্যালোচনা নির্বাচন করবে এবং প্রতি পর্যালোচনার অনুভূতি নির্ধারণের জন্য Gemini Pro মডেলকে কল করতে ABAP SDK ব্যবহার করবে। এর বিশ্লেষণের উপর ভিত্তি করে মডেলটি "ইতিবাচক", "নেতিবাচক", "নিরপেক্ষ" বা "মিশ্র" এর মতো মান ফিরিয়ে দিতে পারে।

  1. আপনার SAP সিস্টেমে লগ ইন করুন।
  2. লেনদেন কোড SE38- এ যান এবং ZSENTIMENT_ANALYSIS নামের একটি রিপোর্ট প্রোগ্রাম তৈরি করুন।
  3. পপ-আপে যেটি খোলে, নীচে দেখানো হিসাবে বিশদ বিবরণ প্রদান করুন এবং সংরক্ষণ করুন ক্লিক করুন।

a2158523ec8ef3c7.png

  1. পরবর্তী পপ-আপে হয় স্থানীয় অবজেক্ট নির্বাচন করুন বা উপযুক্ত হিসাবে একটি প্যাকেজ নাম দিন।
REPORT zsentiment_analysis.

DATA lo_client          TYPE REF TO /goog/cl_aiplatform_v1.
DATA lv_p_projects_id   TYPE string.
DATA lv_p_locations_id  TYPE string.
DATA lv_p_publishers_id TYPE string.
DATA lv_p_models_id     TYPE string.
DATA ls_input           TYPE /goog/cl_aiplatform_v1=>ty_726.
DATA ls_output          TYPE /goog/cl_aiplatform_v1=>ty_727.
DATA lv_ret_code        TYPE i.
DATA lv_err_text        TYPE string.
DATA ls_err_resp        TYPE /goog/err_resp.
DATA lv_msg             TYPE string.
DATA lo_exception       TYPE REF TO /goog/cx_sdk.
DATA es_raw             TYPE string.


TYPES:
  BEGIN OF t_reviews,
    product_id  TYPE snwd_product_id,
    sentiment   TYPE string,
    rating_text TYPE snwd_rating_text,
  END OF t_reviews.

DATA lt_reviews TYPE STANDARD TABLE OF t_reviews WITH DEFAULT KEY.
FIELD-SYMBOLS <fs_review> TYPE t_reviews.

TRY.

    " Open HTTP Connection
    lo_client = NEW #( iv_key_name = 'ABAP_SDK_DEMO' ).

    " Populate relevant parameters
    lv_p_projects_id = lo_client->gv_project_id.
    lv_p_locations_id = 'us-central1'.
    lv_p_publishers_id = 'google'.
    lv_p_models_id = 'gemini-1.0-pro'.

    SELECT a~product_id AS product_id c~rating_text
      FROM ( ( snwd_pd AS a
      INNER JOIN snwd_rev_head AS b ON a~node_key = b~entity_key )
      INNER JOIN snwd_rev_item AS c ON b~node_key = c~parent_key )
      INTO CORRESPONDING FIELDS OF TABLE lt_reviews UP TO 10 ROWS.

    LOOP AT lt_reviews ASSIGNING <fs_review>.

      " Construct the prompt
      DATA(lv_prompt) = |DO NOT EXPLAIN and your response should not have more than one word.| &&
                        |Classify the overall sentiment of this product review as ONLY ONE of| &&
                        | the following: Positive, Negative, Neutral, or Mixed.| &&
                        cl_abap_char_utilities=>newline &&
                        <fs_review>-rating_text.

      " Set the Model Parameters and Prompt
      ls_input = VALUE #( generation_config = VALUE #( max_output_tokens = 10
                                                       temperature       = '0.2'
                                                       top_p             = '0.8'
                                                       top_k             = '40' )
                          contents          = VALUE #( ( role  = 'user'
                                                         parts = VALUE #( ( text = lv_prompt ) ) ) ) ).


      " Call Gemini Pro to identify sentiments.
      lo_client->generate_content_models( EXPORTING iv_p_projects_id   = lv_p_projects_id
                                                    iv_p_locations_id  = lv_p_locations_id
                                                    iv_p_publishers_id = lv_p_publishers_id
                                                    iv_p_models_id     = lv_p_models_id
                                                    is_input           = ls_input
                                          IMPORTING
                                                    es_output          = ls_output
                                                    ev_ret_code        = lv_ret_code
                                                    ev_err_text        = lv_err_text
                                                    es_err_resp        = ls_err_resp ).

      IF lo_client->is_success( lv_ret_code ) = abap_true.

        LOOP AT ls_output-candidates INTO DATA(ls_candidate).
          LOOP AT ls_candidate-content-parts INTO DATA(ls_part).
            <fs_review>-sentiment = ls_part-text.
            EXIT.
          ENDLOOP.
          EXIT.
        ENDLOOP.

      ELSE.
        MESSAGE lv_err_text TYPE 'E'.
      ENDIF.

    ENDLOOP.

    cl_demo_output=>display( lt_reviews ).

    " Close HTTP Connection
    lo_client->close( ).

  CATCH /goog/cx_sdk INTO lo_exception.
    lv_msg = lo_exception->get_text( ).
    MESSAGE lv_msg TYPE 'E'.
ENDTRY.

  1. পর্যালোচনা পাঠ্যের অনুভূতি বিশ্লেষণ দেখতে প্রোগ্রামটি চালান।

4d869f1b8436b9ca.png

12. অভিনন্দন

অভিনন্দন! আপনি Google ক্লাউডের জন্য ABAP SDK-এর সাথে Gemini Pro AI ব্যবহার করে অনুভূতি বিশ্লেষণ করার জন্য সফলভাবে একটি নমুনা প্রোগ্রাম তৈরি করেছেন।

13. পরিষ্কার করুন

আপনি যদি Google ক্লাউডের জন্য ABAP SDK-এর সাথে সম্পর্কিত অতিরিক্ত কোডল্যাবগুলি চালিয়ে যেতে না চান, তাহলে অনুগ্রহ করে পরিষ্কারের সাথে এগিয়ে যান৷

প্রকল্পটি মুছুন

  • Google ক্লাউড প্রকল্প মুছুন:
gcloud projects delete abap-sdk-poc

পৃথক সম্পদ মুছুন

  1. IMG > Google ক্লাউড > বেসিক সেটিংস > কনফিগার ক্লায়েন্ট কী- এ গিয়ে ক্লায়েন্ট কী কনফিগারেশন এন্ট্রিগুলি মুছুন।
  2. IMG > Google ক্লাউড > বেসিক সেটিংস > কনফিগার ক্লায়েন্ট কী- তে গিয়ে সার্ভিস ম্যাপিং কনফিগারেশন এন্ট্রিগুলি মুছুন।
  3. RFC গন্তব্য ZGOOG_IAMCREDENTIALS এবং ZGOOG_VERTEX_AI মুছুন।
  4. ZSENTIMENT_ANALYSIS রিপোর্ট প্রোগ্রাম মুছুন .
  5. পরিষেবা অ্যাকাউন্ট মুছুন।
gcloud iam service-accounts delete \
    abap-sdk-dev@abap-sdk-poc.iam.gserviceaccount.com