code: def starcoder_embed(
      ctx: c_void_p,
      input_ids: List[int],
      seed: c_int,
      n_threads: c_int,
      n_batch: c_int,
  ) -> List[float]:
      length = len(input_ids)
      c_input_ids = (c_int * length)(*input_ids)
      n_embd = c_long(0)
      c_embeddings = _lib.embed_api(
          ctx,
          c_input_ids,
          length,
          seed,
          n_threads,
          n_batch,
          pointer(n_embd),
      )
      embeddings = [c_embeddings[i] for i in range(n_embd.value)]
      # do not free c_embeddings
      return embeddings
  
file_path: BigDL/python/llm/src/bigdl/llm/ggml/model/starcoder/starcoder_cpp.py
imports: import sys
  import os
  import ctypes
  from typing import List
  from ctypes import c_int, c_long, c_float, c_char_p, c_void_p, c_bool, POINTER, pointer, Structure, Array, c_uint8, c_size_t
  import pathlib
  from bigdl.llm.utils.utils import get_shared_lib_info
  from bigdl.llm.utils.common import invalidInputError
label_desc: Use image node_id 9 for calling a global function with example usage: starcoder_embed(ctx, input_ids, seed, n_threads, n_batch) and returns: embeddings