createPipeline method
Create a RAG pipeline from a pre-populated RacRagConfigStruct pointer.
config must be valid for the duration of this call.
The caller is responsible for freeing config after this returns.
Implementation
void createPipeline({required Pointer<RacRagConfigStruct> config}) {
final lib = PlatformLoader.loadCommons();
final fn = lib.lookupFunction<RacRagPipelineCreateNative,
RacRagPipelineCreateDart>('rac_rag_pipeline_create');
final outPipeline = calloc<Pointer<Void>>();
try {
final result = fn(config, outPipeline);
if (result != RAC_SUCCESS || outPipeline.value == nullptr) {
throw Exception('Failed to create RAG pipeline: error $result');
}
if (_pipeline != null) {
destroy();
}
_pipeline = outPipeline.value;
_logger.debug('RAG pipeline created');
} finally {
calloc.free(outPipeline);
}
}