https://github.com/0xnu/kikiola
Kikiola is a high-performance vector database written in Go.
https://github.com/0xnu/kikiola
aws azure cloud-native database embeddings gcp golang llm multi-cloud rag vector-database
Last synced: 12 months ago
JSON representation
Kikiola is a high-performance vector database written in Go.
- Host: GitHub
- URL: https://github.com/0xnu/kikiola
- Owner: 0xnu
- License: mit
- Created: 2024-03-27T02:22:31.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-04-07T14:12:34.000Z (almost 2 years ago)
- Last Synced: 2025-04-24T01:45:37.150Z (12 months ago)
- Topics: aws, azure, cloud-native, database, embeddings, gcp, golang, llm, multi-cloud, rag, vector-database
- Language: Go
- Homepage:
- Size: 562 KB
- Stars: 9
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: CODEOWNERS
- Security: SECURITY.md
Awesome Lists containing this project
README
## Kikiola
[](https://github.com/0xnu/kikiola/releases/latest)
[](https://goreportcard.com/report/github.com/0xnu/kikiola)
[](https://pkg.go.dev/github.com/0xnu/kikiola)
[](/LICENSE)
Kikiola is a high-performance vector database written in [Go](https://go.dev). It efficiently stores, indexes, and searches for vectors, making it suitable for similarity search, recommendation systems, artificial intelligence, and machine learning applications.
### Features
+ Tensor Compression
+ Support multilingual embedding
+ Support for high-dimensional vectors
+ Handles concurrency and multiple writes
+ Simple and intuitive API for easy integration
+ Indexing techniques for fast similarity search
+ Embedding Reranking with a relevance score
+ Fast and efficient vector storage and retrieval
+ Text embedding support for text-based queries
+ Scalable architecture for handling large datasets
+ Distributed Storage: multiple nodes or shards for scalability
+ Objects (e.g., document, image, audio, video, or any other file type)
### Run
To run Kikiola, ensure that you have Go installed on your system. Then, follow these steps:
1. Clone the Kikiola repository:
```sh
git clone https://github.com/0xnu/kikiola.git
```
2. Navigate to the project directory:
```sh
cd kikiola
```
3. Build the project:
```sh
go build ./...
```
4. Run the Kikiola server:
```sh
go run cmd/main.go
```
The Kikiola server will start running on `http://localhost:3400`.
### Test
To test Kikiola, ensure that you have Go installed on your system. Then, follow these steps:
```sh
go test ./...
```
### Usage, Use Cases, and Benchmark
+ [Usage](./docs/USAGE.md)
+ [Docker](./docs/DOCKER.md)
+ [Benchmark](./docs/BENCHMARK.md)
+ [Quay](./docs/QUAY.md)
+ [JFrog](./docs/JFROG.md)
+ [GitLab](./docs/GITLAB.md)
+ [Microsoft Azure](./docs/AZURE.md)
+ [Amazon Web Services (AWS)](./docs/AWS.md)
+ [Google Cloud Platform (GCP)](./docs/GCP.md)
+ [Generate and Store Embeddings](./tutorials/generate_and_store_embeddings_docs_images.md) - Documents and Images
+ [Generate and Store Embeddings](./tutorials/generate_and_store_embeddings_genome.md) - Genome Sequence
+ [Generate and Store Embeddings](./tutorials/generate_and_store_embeddings_multilingual.ipynb) - Multilingual
+ [Generate and Store Embeddings](./tutorials/generate_and_store_embeddings_genome_huggingface.ipynb) - Hugging Face 🤗
+ [Generate and Store Embeddings](./tutorials/generate_and_store_embeddings_10k_huggingface.ipynb) - SEC Form 10-K - Be a responsible Human and use the [EDGAR API](https://www.sec.gov/edgar/sec-api-documentation). 😎
+ [Generate and Store Embeddings](./tutorials/generate_and_store_embeddings_videos.md) - Videos
+ [Generate and Store Embeddings](./tutorials/generate_and_store_embeddings_audios.md) - Audios
### License
This project is licensed under the [MIT License](./LICENSE).
### Copyright
(c) 2024 [Finbarrs Oketunji](https://finbarrs.eu).