get method

Constructs and returns a llama_model_params object with current settings

Implementation

llama_model_params get(
    {required LlamaLibrarySharedBindingsByGeneralDeveloper llama}) {
  final modelParams = llama.llama_model_default_params();

  // Basic parameters
  modelParams.n_gpu_layers = nGpuLayers;
  // modelParams.split_mode = splitMode.index; // @TODO split_mode setter
  modelParams.main_gpu = mainGpu;
  modelParams.vocab_only = vocabOnly;
  modelParams.use_mmap = useMemorymap;
  modelParams.use_mlock = useMemoryLock;
  modelParams.check_tensors = checkTensors;

  // Handle tensor_split
  if (tensorSplit.isNotEmpty) {
    _tensorSplitPtr = malloc<Float>(tensorSplit.length);
    for (var i = 0; i < tensorSplit.length; i++) {
      _tensorSplitPtr![i] = tensorSplit[i];
    }
    modelParams.tensor_split = _tensorSplitPtr!;
  }

  // Complex pointers set to null
  modelParams.progress_callback = nullptr;
  modelParams.progress_callback_user_data = nullptr;
  modelParams.kv_overrides = nullptr;

  return modelParams;
}