LunaBrain is a productivity tool designed for teams to save and search for information quickly and easily. With the ability to store different types of files (audio, video, pdfs, docs), existing buckets of data where documents or code are stored (Github, Drive), as well as different services where information is constantly streaming past you (Slack, Discord), LunaBrain provides a centralized platform for managing all your information.
- Save different types of files including audio, video, pdfs, and docs
- Connect to existing buckets of data, including Github and Drive
- Connect to different services like Slack and Discord to capture streaming information
- Experiment with different retrieval methods, such as full text search, ML embedding semantic search, or GPT context searching
- To use LunaBrain as a Go library, refer to the documentation (Note: This code is still like pre-alpha, so the API is subject to change)
LunaBrain is licensed under the Apache 2.0 license. See the
LICENSE file for more details.
To get started with LunaBrain, follow these steps:
git clone https://github.com/lunabrain-ai/lunabrain.git # TODO
Installing Golang Dependencies
go install google.golang.org/protobuf/cmd/[email protected] go install google.golang.org/grpc/cmd/[email protected] go install github.com/twitchtv/twirp/[email protected]
Installing Python Dependencies
Upgrade your Pip version, if necessary (or install Pip if this fails)
python -m pip install --upgrade pip
Setup Virtual Environment
python -m pip install virtualenv virtualenv venv source venv/bin/activate python -m pip install --upgrade pip
python -m pip install grpcio python -m pip install grpcio-tools
This project uses grpc to communicate between different services. To keep them in sync after making changes, run the following:
go generate -x ./...
To watch for changes you can use arelo:
go install github.com/makiuchi-d/[email protected] arelo -p 'proto/*.proto' -- go generate ./...
We welcome contributions to LunaBrain! To contribute, please follow these steps:
- Fork the repository
- Create a new branch for your feature
- Make your changes
- Submit a pull request
Come hang out with us on Discord!
This looks nice and extensible
there is or is not a db dependency ?
saw it’s commented out and wanted to know the plan.
is the db used to hol the links to where stuff is out ? Just a guess ..
I have been using data fusion / golang and minio as a data lane that is searchable.
Anyways just want to know as I am curious if I can work on this code bsse too.