2025-03-01
It's mostly bug fixes, with a few new features.
Ragit had a first-ever contribution from someone other than me (baehyunsol). Huge thanks to robottwo!
Added 3 endpoints to ragit-server.
/{user-name}/{repo-name}/cat-file/{uid}
/user-list
/repo-list/{user-name}
There's also been a huge refactoring. Now you can use ?
operators in handlers, instead of directly returning Box::new(with_status(500))
.
It's a step toward ragit-hub.
This MR enhances the model configuration system in ragit with two key improvements:
1. Custom model configuration sources - Adds support for loading model configurations from:
2. Automatic fallback to lowest-cost model - Ensures ragit always uses a valid model:
3. Override defaults using ~/.config/ragit/{api.json, search.json, build.json} when init'ing a new rag.
Benefits
API keys are not copied to the models by default, which allows the user to share rag-indexed directories with other users, and those other users will use their own API keys (falling back to their ~/.config/ragit/models.json keys) rather than the API key of the user who created the RAG.
If you run, interrupt and resume rag build
a lot of times, you might end up with a broken knowledge-base. 0.3.2 tries to avoid such state by more robust clean-up process.
If you spawn multiple rag build
at the same time, you might end up with a broken knowledge-base. The best solution is to add a write lock file, but we're not there yet. Instead, 0.3.2 makes rag check --recover
smarter so that it can recover from such broken knowledge-base. rag check --recover
runs silently, so you don't have to bother calling it manually!
4 tests are added: models_init, orphan_process, server and write_lock.