summaryrefslogtreecommitdiffstats
path: root/src/rag/mod.rs
diff options
context:
space:
mode:
authorsigoden <sigoden@gmail.com>2024-11-03 08:07:46 +0800
committerGitHub <noreply@github.com>2024-11-03 08:07:46 +0800
commit6b77890ec400090caa5d9fa3bffee0db91c9adfc (patch)
tree1982f43443034bdd84bbafb5a3365ae50852d5a4 /src/rag/mod.rs
parentf5cdd0f136d1d5ba9944135f714edf3979bb7d45 (diff)
downloadaichat-6b77890ec400090caa5d9fa3bffee0db91c9adfc.tar.gz
feat: support `.edit rag-docs` (#964)
Diffstat (limited to 'src/rag/mod.rs')
-rw-r--r--src/rag/mod.rs16
1 files changed, 11 insertions, 5 deletions
diff --git a/src/rag/mod.rs b/src/rag/mod.rs
index fd734e2..5bb4ea4 100644
--- a/src/rag/mod.rs
+++ b/src/rag/mod.rs
@@ -128,17 +128,23 @@ impl Rag {
Ok(rag)
}
- pub async fn rebuild(
+ pub fn document_paths(&self) -> &[String] {
+ &self.data.document_paths
+ }
+
+ pub async fn refresh_document_paths<T>(
&mut self,
+ document_paths: &[T],
config: &GlobalConfig,
abort_signal: AbortSignal,
- ) -> Result<()> {
- debug!("rebuild rag: {}", self.name);
+ ) -> Result<()>
+ where
+ T: AsRef<str>,
+ {
let loaders = config.read().document_loaders.clone();
let spinner = create_spinner("Starting").await;
- let paths = self.data.document_paths.clone();
tokio::select! {
- ret = self.sync_documents(loaders, &paths, Some(spinner.clone())) => {
+ ret = self.sync_documents(loaders, document_paths, Some(spinner.clone())) => {
spinner.stop();
ret?;
}