feat: Note that duckdb RAG driver is unavailable on MUSL Linux builds when initializing a RAG so users know when using the binary, not just based on docs

This commit is contained in:
2026-08-28 22:35:39 -06:00
parent 65e6249adb
commit 0946e3ec64
+10 -4
View File
@@ -1869,12 +1869,17 @@ fn select_embedding_model(models: &[&Model]) -> Result<String> {
}
pub(crate) fn select_rag_driver() -> Result<String> {
// Statically linked musl builds cannot dlopen DuckDB extensions, so duckdb is not offered there.
#[cfg(target_env = "musl")]
let options = vec![
"yaml — portable, in-memory HNSW; usable from several Coyote processes at once (default)",
];
{
println!(
"Note: the duckdb RAG driver is only available in GNU builds of coyote \
(musl builds are statically linked and cannot load DuckDB extensions). \
Using the yaml driver."
);
Ok("yaml".to_string())
}
#[cfg(not(target_env = "musl"))]
{
let options = vec![
"yaml — portable, in-memory HNSW; usable from several Coyote processes at once (default)",
"duckdb — persistent on-disk store; vectors and content survive restarts; HNSW approximate search.",
@@ -1893,6 +1898,7 @@ pub(crate) fn select_rag_driver() -> Result<String> {
} else {
Ok("yaml".to_string())
}
}
}
const EXTRACTOR_SKIP: &str = "Skip";