search_images_by_image

in abap-sdk/ZGOOG_SDK_RECIPES/zgoog_sdk_vector_search_recipe/zr_vector_search_recipe.prog.abap [0:0]


  METHOD search_images_by_image.

    DATA:
      lv_search_string TYPE string,
      ls_image         TYPE /goog/cl_embeddings_model=>ty_image.

    TRY.
        DATA(lo_vector_search) = NEW /goog/cl_vector_search( iv_search_key  = p_sh_key ).
        DATA(lo_embeddings_model) = NEW /goog/cl_embeddings_model( iv_model_key  = p_embkey ).

        ls_image-gcs_uri = p_im_gcs.
        DATA(lt_embeddings) = lo_embeddings_model->gen_image_embeddings( iv_image     = ls_image
                                                                         iv_dimension = p_dim
                                                )->get_vector( ).
        DATA(lt_vector_search_response) = lo_vector_search->find_neighbors_by_embedding( iv_neighbor_count = p_nb_cnt
                                                                                         it_embeddings     = lt_embeddings
                                                         )->get_nearest_neighbors( ).
        cl_demo_output=>display( lt_vector_search_response ).
      CATCH /goog/cx_sdk INTO DATA(lo_cx_sdk).
        cl_demo_output=>display( 'Search not successful.' && lo_cx_sdk->get_text( ) ).

    ENDTRY.