getMultimodalCapabilities method

Map<String, bool> getMultimodalCapabilities()

Implementation

Map<String, bool> getMultimodalCapabilities() {
  if (pLLm == nullptr) {
    throw Exception("ailia LLM not initialized.");
  }

  final Pointer<UnsignedInt> visionSupport = malloc<UnsignedInt>();
  final Pointer<UnsignedInt> audioSupport = malloc<UnsignedInt>();

  int status = dllHandle.ailiaLLMGetMultimodalCapabilities(pLLm.value, visionSupport, audioSupport);

  bool vision = visionSupport.value != 0;
  bool audio = audioSupport.value != 0;

  malloc.free(visionSupport);
  malloc.free(audioSupport);

  if (status != ailia_llm_dart.AILIA_LLM_STATUS_SUCCESS) {
    throw Exception("ailiaLLMGetMultimodalCapabilities returned an error status $status");
  }

  return {"vision": vision, "audio": audio};
}