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> { 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")] #[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"))] #[cfg(not(target_env = "musl"))]
{
let options = vec![ let options = vec![
"yaml — portable, in-memory HNSW; usable from several Coyote processes at once (default)", "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.", "duckdb — persistent on-disk store; vectors and content survive restarts; HNSW approximate search.",
@@ -1894,6 +1899,7 @@ pub(crate) fn select_rag_driver() -> Result<String> {
Ok("yaml".to_string()) Ok("yaml".to_string())
} }
} }
}
const EXTRACTOR_SKIP: &str = "Skip"; const EXTRACTOR_SKIP: &str = "Skip";