LunaBrain
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.
Features
- 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
Library
- 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)
License
LunaBrain is licensed under the Apache 2.0 license. See the LICENSE
file for more details.
Getting Started
To get started with LunaBrain, follow these steps:
Setup Repo
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
Install GRPC
python -m pip install grpcio
python -m pip install grpcio-tools
Generating Code
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 ./...
Contributing
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
Contact
Come hang out with us on Discord!
Topology
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.