Vertex AI Feature Store 사용

이 문서에서는 Vertex AI SDK for ABAP를 사용하여 온라인 스토어 동기화, 온라인 스토어에서 특성 제공, 항목 또는 임베딩을 사용한 온라인 Feature Store 검색 등의 작업을 수행하기 위해 Vertex AI Feature Store를 사용하는 방법에 대해 설명합니다.

Vertex AI Feature Store는 관리형 클라우드 네이티브 Feature Store 서비스입니다. BigQuery 테이블 또는 뷰에서 특성 데이터를 관리하여 ML 특성 관리 및 온라인 서빙 프로세스를 간소화합니다.

Vertex AI Feature Store 설정의 일반적인 워크플로에서 먼저 BigQuery에서는 SAP 데이터 소스를 준비하고, 특성 그룹 및 특성을 만들어 데이터 소스를 등록하고, 온라인 스토어 및 특성 뷰 리소스를 설정하는 것입니다. 그런 다음 특성 뷰에서 최신 특성 값을 온라인으로 서빙하거나 온라인 Feature Store에서 유사성 검색을 실행할 수 있습니다. Vertex AI Feature Store를 설정하는 방법에 관한 자세한 내용은 Vertex AI Feature Store를 참고하세요.

Vertex AI Feature Store가 온라인 서빙을 할 준비가 되면 다음 작업을 위해 ABAP용 Vertex AI SDK를 사용할 수 있습니다.

  • 모델 예측 중에 실시간 서빙으로 가장 최신의 정확한 특성 값을 제공하려면 온라인 스토어를 BigQuery의 특성 데이터 소스와 동기화하세요.
  • 실시간 애플리케이션에 온라인 스토어의 특성 값을 제공하려면 온라인 스토어에서 특성을 제공합니다.
  • 온라인 스토어에서 의미론적으로 유사하거나 관련된 항목 목록을 검색하려면 엔티티 또는 임베딩을 사용하여 검색합니다.

시작하기 전에

Vertex AI Feature Store와 함께 ABAP용 Vertex AI SDK를 사용하기 전에 개발자 또는 관리자가 다음 기본 요건을 완료했는지 확인합니다.

Vertex AI Feature Store용 ABAP 클래스 인스턴스화

ABAP 애플리케이션에서 Vertex AI Feature Store를 사용하려면 /GOOG/CL_FEATURE_STORE 클래스를 인스턴스화합니다.

DATA(lo_client) = NEW /goog/cl_feature_store(
                          iv_key_name         = 'CLIENT_KEY'
                          iv_location         = 'LOCATION_ID'
                          iv_feature_store_id = 'FEATURE_ONLINE_STORE_NAME' ).

다음을 바꿉니다.

  • CLIENT_KEY: 인증을 위해 구성된 클라이언트 키입니다.
  • LOCATION_ID: 온라인 스토어가 있는 리전입니다(예: us-central1).
  • FEATURE_ONLINE_STORE_NAME: 특성 뷰가 포함된 온라인 스토어의 이름입니다.

온라인 스토어 동기화

온라인 스토어에서 모델 예측 중에 실시간 서빙을 위한 가장 최신의 정확한 기능 값을 확보하려면 온라인 스토어의 특성 뷰 리소스를 BigQuery의 특성 데이터 소스와 동기화해야 합니다.

시작하기 전에

리전 엔드포인트를 통해 Vertex AI Feature Store에 액세스하기 때문에 커뮤니케이션 시스템, 커뮤니케이션 어레인지먼트를 만들고 그에 따라 클라이언트 키를 구성해야 합니다.

  1. ABAP SDK for Google Cloud가 설치된 BTP ABAP 시스템의 SAP Fiori 런치패드에 액세스합니다.

  2. 모든 공간 > 관리 > 커뮤니케이션 관리로 이동합니다.

  3. 커뮤니케이션 시스템을 만듭니다.

    1. 통신 시스템 앱을 엽니다.
    2. New(새로 만들기)를 클릭합니다.
    3. 표시된 새 통신 시스템 대화상자에서 다음 필드의 값을 입력합니다.

      • 시스템 ID: 시스템 ID를 입력합니다.
      • 시스템 이름: 시스템 이름을 입력합니다.
    4. 만들기를 클릭합니다.

    5. 호스트 이름 필드에 지역 엔드포인트의 URL을 입력합니다. 예를 들어 Vertex AI Feature Store가 us-east1에 있는 경우 대상 호스트의 엔드포인트는 us-east1-aiplatform.googleapis.com입니다. 지역 엔드포인트에 관한 자세한 내용은 서비스 엔드포인트를 참고하세요.

    6. 포트 입력란에 443을 입력합니다.

    7. 아웃바운드 통신 사용자 탭에서 추가를 클릭합니다.

    8. 인증 방법 필드에서 없음을 선택합니다.

    9. 저장을 클릭합니다.

  4. 통신 계약을 만듭니다.

    1. 통신 계약 앱을 엽니다.
    2. New(새로 만들기)를 클릭합니다.
    3. 표시된 새 통신 계약 대화상자에서 다음 필드의 값을 입력합니다.

      • 시나리오: 워크로드 아이덴티티 제휴를 사용하여 인증 (/GOOG/COM_SDK_SRV)을 선택합니다.
      • 계약 이름: 통신 계약의 이름을 입력합니다.
    4. 만들기를 클릭합니다.

    5. 표시된 통신 계약 항목의 통신 시스템 필드에서 이전 단계에서 만든 통신 시스템을 선택합니다.

    6. 저장을 클릭합니다.

  5. 클라이언트 키와 통신 맵을 만듭니다.

    1. SDK 구성을 위한 SAP Fiori 앱이 있는 공간으로 이동합니다.
    2. Google SDK: 기본 구성 앱을 엽니다.
    3. 만들기를 클릭합니다.
    4. 표시된 만들기 대화상자에서 클라이언트 키 이름을 입력합니다.
    5. 계속을 클릭합니다.
    6. 다음 필드에 값을 입력합니다.

      • 서비스 계정: Google Cloud API에 대한 액세스 권한이 부여된 서비스 계정을 입력합니다.
      • 프로젝트 ID: Google Cloud API를 사용 설정한 Google Cloud 프로젝트의 프로젝트 ID를 입력합니다. 프로젝트 ID에 대한 자세한 내용은 프로젝트 식별을 참고하세요.
      • 프로젝트 번호: Google Cloud API를 사용 설정한 Google Cloud 프로젝트의 프로젝트 번호를 입력합니다. 프로젝트 번호에 대한 자세한 내용은 프로젝트 식별을 참고하세요.
      • 인증 유형: W (워크로드 아이덴티티 제휴)를 선택합니다.
    7. 서비스 이름의 기본 항목이 '인증'인 통신 맵의 경우 WIF 기반 인증에 대해 설정한 통신 계약을 제공합니다.

    8. 통신 지도에 항목을 하나 더 추가하고 서비스로 aiplatform:v1를 선택한 다음 방금 만든 통신 계약을 제공합니다.

    9. 만들기를 클릭합니다. 표준 약관에 따라 ABAP SDK for Google Cloud 사용 동의를 확인하는 대화상자가 나타납니다. Google Cloud

    10. 인증 구성을 검증하려면 연결 확인을 클릭합니다. 항목의 녹색 체크표시는 구성이 성공했음을 나타냅니다.

      오류가 있으면 문제 해결 가이드에서 일반적인 오류 해결에 관한 정보를 참고하세요.

Vertex AI Feature Store 동기화

특성 뷰에서 데이터 동기화를 시작하려면 SYNC_FEATURE_DATA_TO_FS 메서드를 사용합니다.

DATA(lv_feature_view_sync_id) = lo_client->sync_feature_data_to_fs(
                                             iv_feature_view_id = 'FEATURE_VIEW_NAME'
                                        )->get_feature_sync_id( ).

FEATURE_VIEW_NAME을 데이터 동기화를 시작하려는 특성 뷰의 이름으로 바꿉니다.

이 메서드는 동기화 상태를 확인하는 데 사용할 수 있는 특성 뷰 동기화 ID를 반환합니다.

Vertex AI Feature Store 동기화 상태 확인하기

Vertex AI Feature Store 동기화 상태를 확인하려면 GET_FEATURE_SYNC_STATUS 메서드를 사용하면 됩니다.

DATA(ls_status) = lo_client->get_feature_sync_status(
                               iv_feature_view_id     = 'FEATURE_VIEW_NAME'
                               iv_feature_sync_id     = 'FEATURE_VIEW_SYNC_ID'
              )->get_feature_sync_status( ).

다음을 바꿉니다.

  • FEATURE_VIEW_NAME: 동기화 상태를 확인하려는 특성 뷰의 이름입니다.
  • FEATURE_VIEW_SYNC_ID: Vertex AI Feature Store 동기화에서 수신한 특성 뷰 동기화 ID입니다.

    이 메서드는 오류 메시지(있는 경우)와 함께 다음 상태 중 하나를 반환합니다. C: Complete, R: Running 또는 F: Failed

온라인 스토어의 특성 제공

제품 추천과 같은 실시간 애플리케이션을 위해 온라인 스토어의 특성 값을 제공할 수 있습니다. 온라인 스토어에 구성된 온라인 서빙 유형에 따라 다음 방법 중 하나로 특성 값을 제공할 수 있습니다.

  • Bigtable 온라인 서빙을 사용하여 특성 값 가져오기
  • 공개 엔드포인트로 최적화된 온라인 서빙을 사용하여 특성 값을 가져옵니다.
  • Private Service Connect 엔드포인트로 최적화된 온라인 서빙을 사용하여 특성 값을 가져옵니다.

특성 값을 제공하는 방법에 관한 자세한 내용은 온라인 스토어에서 특성 제공을 참고하세요.

시작하기 전에

온라인 스토어에서 특성 값을 서빙하려면 먼저 온라인 스토어 세부정보에서 공개 엔드포인트 도메인 이름을 검색해야 합니다. 그런 다음 통신 시스템과 통신 계약을 만들고 Google SDK: 기본 구성 SAP Fiori 앱을 사용하여 클라이언트 키 구성에서 이를 구성해야 합니다.

  1. 공개 엔드포인트를 검색하려면 원하는 로컬 패키지에 ZCL_GET_FEATURE_STORE_PUB_EP를 만듭니다. 유효한 클라이언트 키와 Vertex AI Feature Store의 스토어 ID 및 위치를 전달해야 합니다.

    CLASS zcl_get_feature_store_pub_ep DEFINITION
    PUBLIC FINAL
    CREATE PUBLIC.
    PUBLIC SECTION.
       INTERFACES if_oo_adt_classrun.
    ENDCLASS.
    CLASS zcl_get_feature_store_pub_ep IMPLEMENTATION.
    METHOD if_oo_adt_classrun~main.
       DATA lv_ckey        TYPE /goog/keyname.
       DATA lv_location_id TYPE string.
       DATA lv_fsid        TYPE string.
       DATA lv_project_id  TYPE string.
       DATA lv_msg         TYPE string.
    
       "TODO:Developer - Pass relevant values
       lv_ckey = 'CLIENT_KEY'.
       lv_fsid = 'FEATURE_ONLINE_STORE_NAME'.
       lv_location_id = 'LOCATION_ID'.
       TRY.
          DATA(lo_aip) = NEW  /goog/cl_aiplatform_v1( iv_key_name = lv_ckey ).
          lv_project_id = lo_aip->gv_project_id.
          " Call API method: aiplatform.projects.locations.featureOnlineStores.get
          lo_aip->get_feature_online_stores( EXPORTING iv_p_projects_id              = lv_project_id
                                                       iv_p_locations_id             = lv_location_id
                                                       iv_p_feature_online_stores_id = lv_fsid
                                              IMPORTING es_output                     = DATA(ls_output)
                                                       ev_ret_code                   = DATA(lv_ret_code)
                                                       ev_err_text                   = DATA(lv_err_text) ).
          IF lo_aip->is_success( lv_ret_code ) = abap_true.
             out->write( | Public endpoint is| ).
             out->write( ls_output-dedicated_serving_endpoint-public_endpoint_domain_name ).
          ENDIF.
          CATCH /goog/cx_sdk INTO DATA(lo_cx_sdk).
          lv_msg = lo_cx_sdk->get_text( ).
          out->write( |Exception occurred, reason: { lv_msg }| ).
       ENDTRY.
    ENDMETHOD.
    ENDCLASS.
    
  2. ZCL_GET_FEATURE_STORE_PUB_EP 클래스를 활성화하고 실행합니다.

    온라인 상점의 공개 엔드포인트인 출력은 다음 형식을 사용합니다.

    xxxxxxxxxx.LOCATION_ID-PROJECT_ID.featurestore.vertexai.goog
    

    이 출력에는 다음 값이 포함됩니다.

    • LOCATION_ID: 온라인 상점이 있는 리전입니다.
    • PROJECT_ID: 온라인 상점이 있는 Google Cloud 프로젝트의 프로젝트 ID입니다.
  3. ABAP SDK for Google Cloud가 설치된 BTP ABAP 시스템의 SAP Fiori 런치패드에 액세스합니다.

  4. 모든 공간 > 관리 > 통신 관리로 이동합니다.

  5. 커뮤니케이션 시스템을 만듭니다.

    1. 통신 시스템 앱을 엽니다.
    2. New(새로 만들기)를 클릭합니다.
    3. 표시된 새 통신 시스템 대화상자에서 다음 필드의 값을 입력합니다.

      • 시스템 ID: 시스템 ID를 입력합니다.
      • 시스템 이름: 시스템 이름을 입력합니다.
    4. 만들기를 클릭합니다.

    5. 호스트 이름 필드에 이전 단계에서 ZCL_GET_FEATURE_STORE_PUB_EP 클래스를 실행하여 가져온 공개 엔드포인트를 입력합니다.

    6. 포트 입력란에 443을 입력합니다.

    7. 아웃바운드 통신 사용자 탭으로 이동하고 추가를 클릭합니다.

    8. 인증 방법 필드에서 없음을 선택합니다.

    9. 저장을 클릭합니다.

  6. 통신 계약을 만듭니다.

    1. 통신 계약 앱을 엽니다.
    2. New(새로 만들기)를 클릭합니다.
    3. 표시된 새 통신 계약 대화상자에서 다음 필드의 값을 입력합니다.

      • 시나리오: 워크로드 아이덴티티 제휴를 사용하여 인증 (/GOOG/COM_SDK_SRV)을 선택합니다.
      • 계약 이름: 통신 계약의 이름을 입력합니다.
    4. 만들기를 클릭합니다.

    5. 표시된 통신 계약 항목의 통신 시스템 필드에서 이전 단계에서 만든 통신 시스템을 선택합니다.

    6. 저장을 클릭합니다.

  7. 클라이언트 키와 통신 맵을 만듭니다.

    1. SDK 구성을 위한 SAP Fiori 앱이 있는 공간으로 이동합니다.
    2. Google SDK: 기본 구성 앱을 엽니다.
    3. 만들기를 클릭합니다.
    4. 표시된 만들기 대화상자에서 클라이언트 키 이름을 입력합니다.
    5. 계속을 클릭합니다.
    6. 다음 세부정보를 입력합니다.

      • 서비스 계정: Google Cloud API에 대한 액세스 권한이 부여된 서비스 계정을 입력합니다.
      • 프로젝트 ID: Google Cloud API를 사용 설정한 Google Cloud 프로젝트의 프로젝트 ID를 입력합니다. 프로젝트 ID에 대한 자세한 내용은 프로젝트 식별을 참고하세요.
      • 프로젝트 번호: Google Cloud API를 사용 설정한 Google Cloud 프로젝트의 프로젝트 번호를 입력합니다. 프로젝트 번호에 대한 자세한 내용은 프로젝트 식별을 참고하세요.
      • 인증 유형: W (워크로드 아이덴티티 제휴)를 선택합니다.
    7. 서비스 이름의 기본 항목이 '인증'인 통신 맵의 경우 WIF 기반 인증에 대해 설정한 통신 계약을 제공합니다.

    8. 통신 지도에 항목을 하나 더 추가하고 서비스로 aiplatform:v1를 선택한 다음 방금 만든 통신 계약을 제공합니다.

    9. 만들기를 클릭합니다. 표준 약관에 따라 ABAP SDK for Google Cloud 사용 동의를 확인하는 대화상자가 나타납니다. Google Cloud

    10. 인증 구성을 검증하려면 연결 확인을 클릭합니다. 항목의 녹색 체크표시는 구성이 성공했음을 나타냅니다.

      오류가 있으면 문제 해결 가이드에서 일반적인 오류 해결에 관한 정보를 참고하세요.

  8. 커뮤니케이션 맵에 다음 세 항목이 포함되어 있는지 확인합니다.

    서비스 이름 통신 시나리오 커뮤니케이션 계약
    authentication /GOOG/SDK_COM_WIF XSUAA 서비스에 대해 만든 커뮤니케이션 계약입니다.
    aiplatform:v1 /GOOG/COM_SDK_SRV AI PLATFORM의 지역 엔드포인트가 포함된 통신 시스템을 사용하여 설정한 통신 계약입니다.
    apiinvoker:v1 /GOOG/COM_SDK_SRV 이전 단계에서 Vertex AI Feature Store 서빙의 공개 엔드포인트 통신 시스템을 사용하여 설정한 통신 계약입니다.

특성 값 가져오기

Vertex AI Feature Store에서 항목은 고객, 제품, 기타 데이터 포인트와 같이 특성을 추적하려는 항목을 나타냅니다. 각 항목은 특성 집합 및 해당 값과 연결됩니다.

단일 엔티티 ID를 지정하여 특성 값을 가져오려면 SERVE_FEATURE_VALUES 메서드를 사용하세요.

DATA(lt_features) = lo_client->serve_feature_values(
                         iv_feature_view_id = 'FEATURE_VIEW_NAME'
                             it_entity_id       = 'ENTITY_ID'
                )->get_features( ).

다음을 바꿉니다.

  • FEATURE_VIEW_NAME: 특성 값을 제공하려는 특성 뷰의 이름입니다.
  • ENTITY_ID: 최신 특성 값을 제공하려는 특성 레코드의 ID 열 값입니다. 또는 엔터티 ID를 구성하는 부품 배열을 제공할 수 있습니다. ID 열이 특성 뷰에 정의된 것과 동일한 순서인지 확인합니다.

근사 최근접 이웃 검색

최적화된 온라인 서빙을 위해 만든 온라인 스토어의 경우 벡터 유사성 검색을 수행하여 의미상으로 유사하거나 관련있는 항목 목록(근사 최근접 이웃이라고도 함)을 검색할 수 있습니다. 엔티티 ID 또는 임베딩을 기반으로 근사 최근접 이웃을 검색할 수 있습니다.

시작하기 전에

온라인 스토어에서 특성 값을 서빙하려면 먼저 온라인 스토어 세부정보에서 공개 엔드포인트 도메인 이름을 검색해야 합니다. 그런 다음 통신 시스템과 통신 계약을 만들고 Google SDK: 기본 구성 SAP Fiori 앱을 사용하여 클라이언트 키 구성에서 이를 구성해야 합니다.

  1. 공개 엔드포인트를 검색하려면 원하는 로컬 패키지에 ZCL_GET_FEATURE_STORE_PUB_EP를 만듭니다. 유효한 클라이언트 키와 Vertex AI Feature Store의 스토어 ID 및 위치를 전달해야 합니다.

    CLASS zcl_get_feature_store_pub_ep DEFINITION
    PUBLIC FINAL
    CREATE PUBLIC.
    PUBLIC SECTION.
       INTERFACES if_oo_adt_classrun.
    ENDCLASS.
    CLASS zcl_get_feature_store_pub_ep IMPLEMENTATION.
    METHOD if_oo_adt_classrun~main.
       DATA lv_ckey        TYPE /goog/keyname.
       DATA lv_location_id TYPE string.
       DATA lv_fsid        TYPE string.
       DATA lv_project_id  TYPE string.
       DATA lv_msg         TYPE string.
    
       "TODO:Developer - Pass relevant values
       lv_ckey = 'CLIENT_KEY'.
       lv_fsid = 'FEATURE_ONLINE_STORE_NAME'.
       lv_location_id = 'LOCATION_ID'.
       TRY.
          DATA(lo_aip) = NEW  /goog/cl_aiplatform_v1( iv_key_name = lv_ckey ).
          lv_project_id = lo_aip->gv_project_id.
          " Call API method: aiplatform.projects.locations.featureOnlineStores.get
          lo_aip->get_feature_online_stores( EXPORTING iv_p_projects_id              = lv_project_id
                                                       iv_p_locations_id             = lv_location_id
                                                       iv_p_feature_online_stores_id = lv_fsid
                                              IMPORTING es_output                     = DATA(ls_output)
                                                       ev_ret_code                   = DATA(lv_ret_code)
                                                       ev_err_text                   = DATA(lv_err_text) ).
          IF lo_aip->is_success( lv_ret_code ) = abap_true.
             out->write( | Public endpoint is| ).
             out->write( ls_output-dedicated_serving_endpoint-public_endpoint_domain_name ).
          ENDIF.
          CATCH /goog/cx_sdk INTO DATA(lo_cx_sdk).
          lv_msg = lo_cx_sdk->get_text( ).
          out->write( |Exception occurred, reason: { lv_msg }| ).
       ENDTRY.
    ENDMETHOD.
    ENDCLASS.
    
  2. ZCL_GET_FEATURE_STORE_PUB_EP 클래스를 활성화하고 실행합니다.

    온라인 상점의 공개 엔드포인트인 출력은 다음 형식을 사용합니다.

    xxxxxxxxxx.LOCATION_ID-PROJECT_ID.featurestore.vertexai.goog
    

    이 출력에는 다음 값이 포함됩니다.

    • LOCATION_ID: 온라인 상점이 있는 리전입니다.
    • PROJECT_ID: 온라인 상점이 있는 Google Cloud 프로젝트의 프로젝트 ID입니다.
  3. ABAP SDK for Google Cloud가 설치된 BTP ABAP 시스템의 SAP Fiori 런치패드에 액세스합니다.

  4. 모든 공간 > 관리 > 통신 관리로 이동합니다.

  5. 커뮤니케이션 시스템을 만듭니다.

    1. 통신 시스템 앱을 엽니다.
    2. New(새로 만들기)를 클릭합니다.
    3. 표시된 새 통신 시스템 대화상자에서 다음 필드의 값을 입력합니다.

      • 시스템 ID: 시스템 ID를 입력합니다.
      • 시스템 이름: 시스템 이름을 입력합니다.
    4. 만들기를 클릭합니다.

    5. 호스트 이름 필드에 이전 단계에서 ZCL_GET_FEATURE_STORE_PUB_EP 클래스를 실행하여 가져온 공개 엔드포인트를 입력합니다.

    6. 포트 입력란에 443을 입력합니다.

    7. 아웃바운드 통신 사용자 탭으로 이동하고 추가를 클릭합니다.

    8. 인증 방법 필드에서 없음을 선택합니다.

    9. 저장을 클릭합니다.

  6. 통신 계약을 만듭니다.

    1. 통신 계약 앱을 엽니다.
    2. New(새로 만들기)를 클릭합니다.
    3. 표시된 새 통신 계약 대화상자에서 다음 필드의 값을 입력합니다.

      • 시나리오: 워크로드 아이덴티티 제휴를 사용하여 인증 (/GOOG/COM_SDK_SRV)을 선택합니다.
      • 계약 이름: 통신 계약의 이름을 입력합니다.
    4. 만들기를 클릭합니다.

    5. 표시된 통신 계약 항목의 통신 시스템 필드에서 이전 단계에서 만든 통신 시스템을 선택합니다.

    6. 저장을 클릭합니다.

  7. 클라이언트 키와 통신 맵을 만듭니다.

    1. SDK 구성을 위한 SAP Fiori 앱이 있는 공간으로 이동합니다.
    2. Google SDK: 기본 구성 앱을 엽니다.
    3. 만들기를 클릭합니다.
    4. 표시된 만들기 대화상자에서 클라이언트 키 이름을 입력합니다.
    5. 계속을 클릭합니다.
    6. 다음 세부정보를 입력합니다.

      • 서비스 계정: Google Cloud API에 대한 액세스 권한이 부여된 서비스 계정을 입력합니다.
      • 프로젝트 ID: Google Cloud API를 사용 설정한 Google Cloud 프로젝트의 프로젝트 ID를 입력합니다. 프로젝트 ID에 대한 자세한 내용은 프로젝트 식별을 참고하세요.
      • 프로젝트 번호: API를 사용 설정한 Google Cloud 프로젝트의 프로젝트 번호를 입력합니다. Google Cloud 프로젝트 번호에 대한 자세한 내용은 프로젝트 식별을 참고하세요.
      • 인증 유형: W (워크로드 아이덴티티 제휴)를 선택합니다.
    7. 서비스 이름의 기본 항목이 '인증'인 통신 맵의 경우 WIF 기반 인증에 대해 설정한 통신 계약을 제공합니다.

    8. 통신 지도에 항목을 하나 더 추가하고 서비스로 aiplatform:v1를 선택한 다음 방금 만든 통신 계약을 제공합니다.

    9. 만들기를 클릭합니다. 표준 약관에 따라 ABAP SDK for Google Cloud 사용 동의를 확인하는 대화상자가 나타납니다. Google Cloud

    10. 인증 구성을 검증하려면 연결 확인을 클릭합니다. 항목의 녹색 체크표시는 구성이 성공했음을 나타냅니다.

      오류가 있으면 문제 해결 가이드에서 일반적인 오류 해결에 관한 정보를 참고하세요.

  8. 커뮤니케이션 맵에 다음 세 항목이 포함되어 있는지 확인합니다.

    서비스 이름 통신 시나리오 커뮤니케이션 계약
    authentication /GOOG/SDK_COM_WIF XSUAA 서비스에 대해 만든 커뮤니케이션 계약입니다.
    aiplatform:v1 /GOOG/COM_SDK_SRV AI PLATFORM의 지역 엔드포인트가 포함된 통신 시스템을 사용하여 설정한 통신 계약입니다.
    apiinvoker:v1 /GOOG/COM_SDK_SRV 이전 단계에서 Vertex AI Feature Store 서빙의 공개 엔드포인트 통신 시스템을 사용하여 설정한 통신 계약입니다.

임베딩의 최근접 이웃 일치 검색

임베딩을 지정하여 의미상 관련된 항목을 검색할 수 있습니다.

임베딩의 최근접 이웃을 검색하려면 SEARCH_USING_EMBEDDINGS 메서드를 사용하여 요청을 전송합니다.

DATA(lt_embeddings) = VALUE /goog/cl_aiplatform_v1=>ty_t_/goog/num_float( EMBEDDING_DATA ).

DATA(lt_neighbours) = lo_client->search_using_embeddings(
  EXPORTING
    iv_feature_view_id = 'FEATURE_VIEW_NAME'
    it_embeddings      = lt_embeddings
    is_search_params   = VALUE #( neighbor_count     = 'NEIGHBOR_COUNT'
                                  return_full_entity = 'RETURN_FULL_ENTITY' )
)->get_neighbours( ).

다음을 바꿉니다.

  • EMBEDDING_DATA: 근사 최근접 이웃 일치를 검색하려는 임베딩입니다. 임베딩은 플로팅 값의 배열로 표시됩니다.
  • FEATURE_VIEW_NAME: 근사 최근접 이웃 일치를 검색하려는 특성 뷰의 이름입니다.
  • NEIGHBOR_COUNT: 검색하려는 근사 최근접 이웃 수입니다.
  • RETURN_FULL_ENTITY: 선택사항. 응답에 항목의 특성을 포함하거나 제외할지 여부를 지정합니다. 응답에 항목과 함께 특성을 포함하려면 ABAP_TRUE를 입력합니다. 기본값은 ABAP_FALSE입니다.

항목의 최근접 이웃 일치 검색

엔티티 ID를 지정하여 의미상 관련된 항목을 검색할 수 있습니다.

엔티티 ID의 최근접 이웃을 검색하려면 SEARCH_USING_ENTITY 메서드를 사용하여 요청을 전송합니다.

DATA(lt_neighbours) = lo_client->search_using_entity(
  EXPORTING
    iv_feature_view_id = 'FEATURE_VIEW_NAME'
    iv_entity_id       = 'ENTITY_ID'
    is_search_params   = VALUE #( neighbor_count     = 'NEIGHBOR_COUNT'
                                  return_full_entity = 'RETURN_FULL_ENTITY' )
)->get_neighbours( ).

다음을 바꿉니다.

  • FEATURE_VIEW_NAME: 근사 최근접 이웃 일치를 검색하려는 특성 뷰의 이름입니다.
  • ENTITY_ID:: 근사 최근접 이웃 일치를 검색하려는 항목의 엔티티 ID입니다.
  • NEIGHBOR_COUNT: 검색하려는 근사 최근접 이웃 수입니다.
  • RETURN_FULL_ENTITY: 선택사항. 응답에 항목의 특성을 포함하거나 제외할지 여부를 지정합니다. 응답에 항목과 함께 특성을 포함하려면 ABAP_TRUE를 입력합니다. 기본값은 ABAP_FALSE입니다.

다음 단계