diff options
| author | sigoden <sigoden@gmail.com> | 2024-07-02 09:20:40 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-07-02 09:20:40 +0800 |
| commit | bbe08d6d81c9d8aef87223082a70e2b8eaae1095 (patch) | |
| tree | 3e6544f8627d67906f365c3adb05f56281427827 /src/rag | |
| parent | 2f2b13c891d19e29b18ff09f7f540d7fded15887 (diff) | |
| download | aichat-bbe08d6d81c9d8aef87223082a70e2b8eaae1095.tar.gz | |
refactor: improve RAG (#676)
Diffstat (limited to 'src/rag')
| -rw-r--r-- | src/rag/mod.rs | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/rag/mod.rs b/src/rag/mod.rs index f5f68ae..e2f6ddd 100644 --- a/src/rag/mod.rs +++ b/src/rag/mod.rs @@ -316,8 +316,14 @@ impl Rag { self.data.chunk_overlap, &separator, ); + + let metadata = metadata + .iter() + .map(|(k, v)| format!("{k}: {v}\n")) + .collect::<Vec<String>>() + .join(""); let split_options = SplitterChunkHeaderOptions::default().with_chunk_header(&format!( - "<document_metadata>\npath: {path}</document_metadata>\n\n" + "<document_metadata>\npath: {path}\n{metadata}</document_metadata>\n\n" )); let document = RagDocument::new(contents); let splitted_documents = splitter.split_documents(&[document], &split_options); @@ -354,7 +360,7 @@ impl Rag { self.data.add(next_file_id, files, document_ids, embeddings); self.data.document_paths = document_paths; - progress(&spinner, "Building database".into()); + progress(&spinner, "Building store".into()); self.hnsw = self.data.build_hnsw(); self.bm25 = self.data.build_bm25(); |
