1. परिचय
इस कोडलैब में, Google Cloud के लिए ABAP SDK टूल की मदद से, प्रॉडक्ट की समीक्षाओं के आधार पर भावनाओं का विश्लेषण करने के लिए, Gemini Pro मॉडल का इस्तेमाल किया जा सकता है. जब आपका SAP सिस्टम Compute Engine VM इंस्टेंस पर होस्ट किया जाएगा, तब हम टोकन का इस्तेमाल करके Google Cloud Vertex AI API को ऐक्सेस करने के लिए, पुष्टि करने की सुविधा सेट अप करने का तरीका जानेंगे.
यहां इस्तेमाल की जाने वाली सेवाओं की सूची दी गई है:
- Compute Engine
- नेटवर्क सेवाएं
- Cloud Shell
- Vertex AI
आपको क्या बनाना होगा
आपको ये काम करने होंगे:
- Google API से कनेक्ट करने के लिए, SAP सिस्टम पर इंस्टॉल किए गए ABAP SDK टूल को कॉन्फ़िगर करें.
- Gemini के एआई को कॉल करने और प्रॉडक्ट की समीक्षाओं का विश्लेषण करने के लिए, उदाहरण के तौर पर एक रिपोर्ट प्रोग्राम बनाएं.
2. ज़रूरी शर्तें
- Chrome या Firefox जैसा ब्राउज़र.
- आपके पास ऐसा Google Cloud प्रोजेक्ट होना चाहिए जिसमें बिलिंग की सुविधा चालू हो या Google Cloud Platform के लिए, 90 दिनों तक मुफ़्त में आज़माने की सुविधा वाला खाता बनाएं.
- आपके सिस्टम में SAP GUI (Windows या Java) इंस्टॉल किया गया है. अगर आपके सिस्टम पर SAP GUI पहले से इंस्टॉल है, तो ऐप्लिकेशन सर्वर आईपी के तौर पर वीएम के बाहरी आईपी पते का इस्तेमाल करके, SAP से कनेक्ट करें. अगर आप Mac पर हैं, तो इस लिंक में उपलब्ध Java के लिए SAP GUI भी इंस्टॉल किया जा सकता है.
3. शुरू करने से पहले
- Google Cloud Console में, प्रोजेक्ट सिलेक्टर पेज पर, Google Cloud प्रोजेक्ट चुनें या बनाएं. उदाहरण के लिए:
abap-sdk-poc).
- पक्का करें कि आपके Cloud प्रोजेक्ट के लिए बिलिंग की सुविधा चालू हो. किसी प्रोजेक्ट के लिए बिलिंग की सुविधा चालू है या नहीं, यह देखने का तरीका जानें. अगर 90-दिन के लिए मुफ़्त में आज़माने वाले खाते का इस्तेमाल किया जा रहा है, तो इस चरण को छोड़ दें.
- आपको Cloud Shell का इस्तेमाल करना होगा. यह Google Cloud में चल रहा एक कमांड-लाइन एनवायरमेंट है. Cloud Console में, सबसे ऊपर दाएं कोने में मौजूद Cloud Shell चालू करें पर क्लिक करें:
- पक्का करें कि सभी ज़रूरी एपीआई (AM Service Account Credentials API, Vertex AI API) चालू हैं.
- अपने खाते की पुष्टि करने के लिए, नीचे दिए गए निर्देशों का पालन करें और डिफ़ॉल्ट प्रोजेक्ट को
abap-sdk-poc
पर सेट करें. उदाहरण के तौर पर, ज़ोन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
- पक्का करें कि आपके पास SAP ईपीएम डेटा के साथ इंस्टॉल किए गए Google Cloud के लिए एबीएपी SDK वाले SAP सिस्टम का ऐक्सेस हो.
- कोडलैब (कोड बनाना सीखना) के बारे में ज़्यादा जानने के लिए " Google Cloud Platform पर ABAP Platform ट्रायल इंस्टॉल करना और ABAP SDK टूल इंस्टॉल करना" सेट अप किया जा सकता है.
4. सेवा खाता बनाएं और Vertex AI के उपयोगकर्ता की भूमिका सेट करें
- अगर पहले से सेवा खाता नहीं बनाया गया है, तो सेवा खाता बनाने के लिए, नीचे दिया गया निर्देश चलाएं.
gcloud iam service-accounts create abap-sdk-dev \
--description="ABAP SDK Dev Account" \
--display-name="ABAP SDK Dev Account"
- Vertex AI User की भूमिका सेट करने के लिए, नीचे दिया गया कमांड चलाएं.
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 Cloud Platform पर ABAP Platform ट्रायल इंस्टॉल करें और एबीएपी SDK टूल इंस्टॉल करें". इसके बाद, लॉगिन करने के लिए प्रावधान किए गए डिफ़ॉल्ट उपयोगकर्ता नाम और पासवर्ड का इस्तेमाल करें.
- SAP GUI में, लेन-देन कोड SPRO डालें.
- SAP रेफ़रंस FCM पर क्लिक करें.
- Google Cloud के लिए ABAP SDK टूल > बुनियादी सेटिंग > क्लाइंट कुंजी कॉन्फ़िगर करें.
- नई एंट्री पर क्लिक करें.
- इन फ़ील्ड के लिए वैल्यू डालें:
फ़ील्ड | ब्यौरा |
Google क्लाउड कुंजी का नाम | ABAP_SDK_DEMO |
Google Cloud सेवा खाते का नाम | abap-sdk-dev@abap-sdk-poc.iam.gserviceaccount.com |
Google Cloud का दायरा | https://www.googleapis.com/auth/cloud-platform |
Google Cloud प्रोजेक्ट आइडेंटिफ़ायर | abap-sdk-poc |
अनुमति देने की कैटगरी | /GOOGLE/CL_AUTH_GOOGLE |
अन्य फ़ील्ड को खाली छोड़ना
6. RFC डेस्टिनेशन बनाएं
ट्रांज़ैक्शन कोड SM59 का इस्तेमाल करके, IAM क्रेडेंशियल और Vertex AI API के लिए, आरएफ़सी डेस्टिनेशन बनाएं. अगर ज़रूरी हो, तो कृपया आरएफ़सी डेस्टिनेशन बनाने के बारे में ज़्यादा जानकारी के लिए यहां जाएं.
आरएफ़सी डेस्टिनेशन का नाम | टारगेट होस्ट (एपीआई एंडपॉइंट) | नोट |
ZGOOG_IAMCREDENTIALS |
| यह आरएफ़सी डेस्टिनेशन, IAM एपीआई को टारगेट करता है. |
ZGOOG_VERTEX_AI |
| यह आरएफ़सी डेस्टिनेशन, Vertex AI API us-central1 एंडपॉइंट को टारगेट करता है. |
- तकनीकी सेटिंग टैब में, ZGOOGLE_IAMCREDENTIALS के डेस्टिनेशन के लिए, यहां दी गई जानकारी डालें.
- तकनीकी सेटिंग टैब में, ZGOOGLE_VERTEX_AI डेस्टिनेशन के लिए यह जानकारी डालें.
- पक्का करें कि एसएसएल सर्टिफ़िकेट फ़ील्ड में, दोनों आरएफ़सी डेस्टिनेशन के लिए, डिफ़ॉल्ट एसएसएल क्लाइंट (स्टैंडर्ड) विकल्प चुना गया हो.
7. सेवा मैपिंग कॉन्फ़िगर करें
अगर आपको IAM API और Vertex AI API के लिए सर्विस मैपिंग टेबल को कॉन्फ़िगर करना है, तो यह तरीका अपनाएं:
- SAP GUI में, लेन-देन कोड SPRO डालें.
- SAP रेफ़रंस FCM पर क्लिक करें.
- Google Cloud के लिए ABAP SDK टूल > बुनियादी सेटिंग > सेवा मैपिंग कॉन्फ़िगर करें.
- IAM क्रेडेंशियल और Vertex AI API के लिए, नई एंट्री पर क्लिक करें और नीचे दिए गए तरीके से आरएफ़सी डेस्टिनेशन अपडेट करें.
8. कॉन्फ़िगरेशन की पुष्टि करें
पुष्टि करने के कॉन्फ़िगरेशन की पुष्टि करने के लिए, यह तरीका अपनाएं:
- SAP GUI में, लेन-देन कोड SPRO डालें.
- SAP रेफ़रंस FCM पर क्लिक करें.
- Google Cloud के लिए ABAP SDK टूल > सुविधाएं > पुष्टि करने के कॉन्फ़िगरेशन की पुष्टि करें.
- क्लाइंट कुंजी का नाम
ABAP_SDK_DEMO
के तौर पर डालें. - पूरा फ़्लो कॉन्फ़िगर हो गया है या नहीं, यह देखने के लिए लागू करें पर क्लिक करें.
- नतीजे के कॉलम में हरे रंग का सही का निशान दिखने का मतलब है कि कॉन्फ़िगरेशन के सभी चरण पूरे हो गए हैं.
9. प्रॉडक्ट की समीक्षाओं के डेटा का अध्ययन करें
एबीएपी प्लैटफ़ॉर्म ट्रायल, SAP एंटरप्राइज़ प्रोक्योरमेंट मॉडल (ईपीएम) के साथ पहले से इंस्टॉल होता है. यह पूरी तरह से एंड-टू-एंड ऐप्लिकेशन होता है, जिसे SAP उपलब्ध करवाता है. इसे टेस्ट करने और इसके इस्तेमाल के लिए तैयार किया जाता है. प्रॉडक्ट की समीक्षाओं का इस्तेमाल, भावनाओं का विश्लेषण करने के लिए किया जाएगा. इन्हें SNWD_REV_ITEM टेबल में सेव किया गया है.
टीकोड: SE16 का इस्तेमाल करके, टेबल का डेटा देखा जा सकता है. हम "RATING_TEXT" फ़ील्ड के नमूने के टेक्स्ट का इस्तेमाल करेंगे.
वैकल्पिक रूप से, आप "Manager प्रॉडक्ट" ऐप्लिकेशन को ऐक्सेस करके भी डेटा देख सकते हैं Fiory Launchpad से (TCode: /UI2/FLP) को एक्सपोर्ट किया जा सकता है.
नीचे दिए गए स्क्रीनशॉट में, प्रॉडक्ट की लिस्ट दिखाई गई है.
प्रॉडक्ट रेटिंग और समीक्षाओं के उदाहरण देखने के लिए, प्रॉडक्ट पर क्लिक करें.
अगले सेक्शन में, हम प्रॉडक्ट की समीक्षाओं के इन सैंपल का इस्तेमाल, Google एलएलएम की मदद से लोगों के अनुभव का विश्लेषण करने के लिए करेंगे.
10. Vertex AI Studio का इस्तेमाल करके, लोगों की भावनाओं का आकलन करें
- Vertex AI डैशबोर्ड खोलें. इसके बाद, Vertex AI studio में जाकर भाषा को चुनें.
- नया टेक्स्ट प्रॉम्प्ट बनाएं.
- पुष्टि करें कि आपने Gemini Pro का मॉडल चुना है.
- एडिटर में, यह प्रॉम्प्ट डालें, ताकि मॉडल को प्रॉडक्ट की समीक्षा में खरीदार की भावनाओं का विश्लेषण करने के निर्देश मिल सकें.
- मॉडल से रिस्पॉन्स जनरेट करने के लिए, सबमिट करें पर क्लिक करें.
प्रॉम्प्ट:
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.
"SNWD_REV_ITEM" टेबल से मिला समीक्षा का डेटा का इस्तेमाल, अतिरिक्त प्रॉम्प्ट के साथ मॉडल की जांच करने के लिए किया जा सकता है.
11. Gemini Pro मॉडल को कॉल करने के लिए, रिपोर्ट प्रोग्राम बनाएं
इसके लिए, हम एबीएपी के Gemini Pro मॉडल को कॉल करेंगे, ताकि प्रॉडक्ट की समीक्षाओं का विश्लेषण किया जा सके. डेमो के तौर पर, प्रोग्राम के तहत प्रॉडक्ट की 10 समीक्षाएं चुनी जा सकती हैं. साथ ही, हर समीक्षा की भावना तय करने के लिए, Gemini Pro मॉडल को कॉल करने के लिए एबीएपी SDK टूल का इस्तेमाल किया जाएगा. अपने विश्लेषण के आधार पर, मॉडल "पॉज़िटिव", "नेगेटिव", "न्यूट्रल" जैसे वैल्यू दिखा सकता है या "मिला-जुला".
- अपने SAP सिस्टम में लॉग इन करें.
- ट्रांज़ैक्शन कोड SE38 पर जाएं और ZSENTIMENT_ANALYSIS नाम से एक Report Program बनाएं.
- स्क्रीन पर खुलने वाले पॉप-अप में नीचे बताई गई जानकारी डालें. इसके बाद, सेव करें पर क्लिक करें.
- अगले पॉप-अप में, लोकल ऑब्जेक्ट चुनें या ज़रूरत के हिसाब से पैकेज का नाम डालें.
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.
- समीक्षा टेक्स्ट की भावनाओं का विश्लेषण देखने के लिए, प्रोग्राम चलाएं.
12. बधाई हो
बधाई हो! आपने Google Cloud के लिए, एबीएपी SDK टूल के साथ Gemini Pro एआई (AI) का इस्तेमाल करके, भावनाओं का विश्लेषण करने के लिए एक सैंपल प्रोग्राम डेवलप किया है.
13. व्यवस्थित करें
अगर आपको Google Cloud के लिए, ABAP SDK टूल से जुड़े अतिरिक्त कोडलैब का इस्तेमाल नहीं करना है, तो कृपया क्लीनअप की प्रोसेस पूरी करें.
प्रोजेक्ट मिटाएं
- Google Cloud प्रोजेक्ट मिटाने के लिए:
gcloud projects delete abap-sdk-poc
अलग-अलग संसाधनों को मिटाना
- img > में जाकर क्लाइंट कुंजी कॉन्फ़िगरेशन प्रविष्टियां हटाएं Google क्लाउड > बुनियादी सेटिंग > क्लाइंट कुंजी कॉन्फ़िगर करें.
- IM > ] में जाकर सेवा मैपिंग कॉन्फ़िगरेशन प्रविष्टियाँ हटाएं Google क्लाउड > बुनियादी सेटिंग > क्लाइंट कुंजी कॉन्फ़िगर करें.
- आरएफ़सी डेस्टिनेशन ZGOOG_IAMCREDENTIALS और ZGOOG_IAMCREDENTIALS मिटाएं.
- रिपोर्ट प्रोग्राम मिटाना
ZSENTIMENT_ANALYSIS
.
- सेवा खाता मिटाएं.
gcloud iam service-accounts delete \
abap-sdk-dev@abap-sdk-poc.iam.gserviceaccount.com