Thanks @Raj Singh  great input  !
I recently struggled with LOAD DATA and finally dropped it in favor
of an old-fashioned COS import for 2 reasons:

  • installation of Java was a prerequisite (might be mentioned somewhere, not identified) not a default in community containers
  • quality of data was POOR to express it politely e.g:
    • column expected to be DOUBLE   >> content was 
      • number 
      • $ number
      • some text
      • NULL
  • date with any sick non -SQL format
  • just empty lines by wild running \n

so some exception handling after validation would have been a great feature in my case
to filter out sick records.

The sick CSV is available on GitHub
 
 

By SQL priniciple:     
any straight name is meant to be a COLUMN of the actual table.  eg. Embeddings
but an external HostVariable is designated by an initial : (colon)  e.g.  : new_embedding_str or :params

This seems to be the deeper cause your problem

in addition I'd suggest to add  print(new_embedding_str)  to verify its format. (one of my problems.

Furthermore, take a closer look to this example:
iris-vector-search/blob/main/demo/sql_demo.ipynb

experimenting with class %Library.Vector I found an unattractive way:

;; compose JSON array  >> v
USER>zw v
v=[($double(.5)),($double(1.5)),($double(2.2000000000000001776))]  ; <DYNAMIC ARRAY>
USER>set vec=##class(%Vector).OdbcToLogical(v)
 
USER>zw vec
vec={"type":"double", "count":3, "length":3, "vector":[$double(.5),$double(1.5),$double(2.2000000000000001776)]}  ; <VECTOR>

Applying OdbcToLogical  was really shocking

Hi al!,
Just returning from some private troubleshooting I'm deeply moved and thankful for this feedback.
It's once more a motivation to continue my activities.
Sometimes I'm insisting on small pieces that may bypass general attention.
Though servicing customers - and I understand you all as my customers -
requires to take care also of the small and often annoying pieces. 

Special big THANKS to the brilliant team behind the DC+OEX+GM facility.
YOU ARE GREAT. 💐🌷🌺🌸💮🌼🌻