Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/margostino/babel-cli
https://github.com/margostino/babel-cli
Last synced: 2 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/margostino/babel-cli
- Owner: margostino
- License: apache-2.0
- Created: 2023-09-01T21:46:55.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-12-18T16:36:15.000Z (22 days ago)
- Last Synced: 2024-12-18T17:26:52.847Z (22 days ago)
- Language: Go
- Size: 8.81 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 🛠️ Babel CLI
(This project is under Babel Foundation initiative. You can read the manifest [here](https://github.com/margostino/babel-foundation))
`babel-cli` is a command-line tool for searching and indexing and syncing Babel assets. It supports semantic and generative search powered by [Weaviate Vector DB](https://weaviate.io/).
## Demo
[![Watch the video](https://img.youtube.com/vi/dkvbfGB1qRE/default.jpg)](https://youtu.be/dkvbfGB1qRE)
## Features
- **Index**: Index babel assets.
- **Sync**: Sync metadata. Walk through Babel assets and sync metadata.
- **Search**: [Semantic](https://weaviate.io/developers/academy/py/starter_text_data/text_searches/semantic) and [Generative](https://weaviate.io/developers/weaviate/modules/reader-generator-modules/generative-openai) Search.## Commands
### Index
```bash
babel-cli metadata init
```### Sync
```bash
babel-cli metadata sync
```### Semantic Search
```bash
babel-cli sem-search --limit 1 --query "vacation plan"
```![semantic search example](./assets/sem-search-example.png "Semantic Search")
### Generative Search
```bash
babel-cli gen-search --limit 1 --query "vacation plan" --prompt "write a short story max 20 words about {summary}"
```![semantic search example](./assets/gen-search-example.png "Generative Search")
### TODO
- [x] Vector DB (weaviate) integration
- [x] Initialize database and home directory
- [x] Initialize metadata
- [x] Sync metadata
- [x] Stats reporting
- [ ] CRUD commands (basic)
- [ ] Tag implementation
- [ ] Sync with remote (Git)
- [ ] BabelQL implementation?
- [ ] Workflow implementation: inbox -> project -> area -> resource -> archive
- [ ] Share implementation
- [ ] Knowledge graph generation
- [ ] Search implementation (local and remote)
- By similarity
- By tags
- By parameters (name, category, etc.)
- [ ] Testing Testing Testing