Skip to main content

open-source vector database. store and retrieve embeddings for your next project!

Project description

🍋 citrus.

open-source (distributed) vector database

Special thanks to

DevKit

DevKit - The Essential Developer Toolkit
DSoC 2023

Installation

pip install citrusdb

Getting started

1. Create index

import citrusdb

# Initialize client
citrus = citrusdb.Client()

# Create index
citrus.create_index(
  name="example",
  max_elements=1000,            # increases dynamically as you insert more vectors
)

2. Insert elements

ids = [1, 2, 3]
documents = [
  "Your time is limited, so don't waste it living someone else's life",
  "I'd rather be optimistic and wrong than pessimistic and right.",
  "Running a start-up is like chewing glass and staring into the abyss."
]

citrus.add(index="example", ids=ids, documents=documents)

You can directly pass vector embeddings as well. If you're passing a list of strings like we have done here, ensure you have your OPENAI_API_KEY in the environment. By default we use OpenAI to to generate the embeddings. Please reach out if you're looking for support from a different provider!

3. Search

result, distances = citrus.query(index="example", documents=["What is it like to launch a startup"], k=1)

Go launch a repl on Replit and see what result you get after running the query! result will contain the ids of the top k search hits.

Example

pokedex search

Facing issues?

Feel free to open issues on this repository! Discord server coming soon!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

citrusdb-0.4.0.tar.gz (15.2 kB view details)

Uploaded Source

Built Distribution

citrusdb-0.4.0-py3-none-any.whl (19.2 kB view details)

Uploaded Python 3

File details

Details for the file citrusdb-0.4.0.tar.gz.

File metadata

  • Download URL: citrusdb-0.4.0.tar.gz
  • Upload date:
  • Size: 15.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.9

File hashes

Hashes for citrusdb-0.4.0.tar.gz
Algorithm Hash digest
SHA256 5e5d6cb5b7237859f1b73fe060a116320a852bddc18a98b04881578c981a6fa9
MD5 8a85537221683fa61c37909fa4b51323
BLAKE2b-256 afad9e0b5cd0149c9a81a89530068750465b9dda6ce53285c9e7e82f0068be94

See more details on using hashes here.

File details

Details for the file citrusdb-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: citrusdb-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 19.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.9

File hashes

Hashes for citrusdb-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4e1abd3707f8385d2751b478801dc0d7fe5d04ee3fcbd98da738a8c94ce33034
MD5 2f78d7327bfaa83f54782693259a8991
BLAKE2b-256 9d742e356cc9c3d3a580b4a7ee9d8b52fb5dbf43f8fbf7125c27ea71b49dd6e5

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page