{"id":13531612,"url":"https://github.com/epsilla-cloud/vectordb","last_synced_at":"2025-05-15T11:05:14.402Z","repository":{"id":184765902,"uuid":"664133375","full_name":"epsilla-cloud/vectordb","owner":"epsilla-cloud","description":"Epsilla is a high performance Vector Database Management System. Try out hosted Epsilla at https://cloud.epsilla.com/","archived":false,"fork":false,"pushed_at":"2024-08-26T23:39:44.000Z","size":1018,"stargazers_count":905,"open_issues_count":12,"forks_count":37,"subscribers_count":5,"default_branch":"main","last_synced_at":"2024-10-29T15:48:13.787Z","etag":null,"topics":["ai","chatgpt","data","data-science","database","embeddings","embeddings-similarity","infrastructure","llms","machine-learning","neural-network","neural-search","rag","retrieval","search-engine","vector-database","vector-search"],"latest_commit_sha":null,"homepage":"https://www.epsilla.com","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/epsilla-cloud.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-07-09T02:28:31.000Z","updated_at":"2024-10-24T13:25:12.000Z","dependencies_parsed_at":"2023-12-22T05:22:31.130Z","dependency_job_id":"29a0f907-0bdc-4200-a8df-4a897114a645","html_url":"https://github.com/epsilla-cloud/vectordb","commit_stats":null,"previous_names":["epsilla-cloud/vectordb"],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/epsilla-cloud%2Fvectordb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/epsilla-cloud%2Fvectordb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/epsilla-cloud%2Fvectordb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/epsilla-cloud%2Fvectordb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/epsilla-cloud","download_url":"https://codeload.github.com/epsilla-cloud/vectordb/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248912185,"owners_count":21182227,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","chatgpt","data","data-science","database","embeddings","embeddings-similarity","infrastructure","llms","machine-learning","neural-network","neural-search","rag","retrieval","search-engine","vector-database","vector-search"],"created_at":"2024-08-01T07:01:04.328Z","updated_at":"2025-05-15T11:05:14.383Z","avatar_url":"https://github.com/epsilla-cloud.png","language":"C++","funding_links":[],"categories":["*Ops for AI","Others","SDK, Libraries, Frameworks","Search","chatgpt","Awesome Vector Search Engine","C++"],"sub_categories":["Model Serving \u0026 Inference","Other sdk/libraries","Vector search","Standalone Service"],"readme":"\u003cdiv align=\"center\"\u003e\n\u003cp align=\"center\"\u003e\n\n\u003cimg width=\"275\" alt=\"Epsilla Logo\" src=\"https://www.epsilla.com/lovable-uploads/15c9d72d-da52-4584-a6f9-c26f126a2af8.png\"\u003e\n\n**A 10x faster, cheaper, and better vector database**\n\n\u003ca href=\"https://epsilla-inc.gitbook.io/epsilladb/\"\u003eDocumentation\u003c/a\u003e •\n\u003ca href=\"https://discord.gg/cDaY2CxZc5\"\u003eDiscord\u003c/a\u003e •\n\u003ca href=\"https://twitter.com/epsilla_inc\"\u003eTwitter\u003c/a\u003e •\n\u003ca href=\"https://blog.epsilla.com\"\u003eBlog\u003c/a\u003e •\n\u003ca href=\"https://www.youtube.com/@Epsilla-kp5cx\"\u003eYouTube\u003c/a\u003e •\n\u003ca href=\"https://forms.gle/z73ra1sGBxH9wiUR8\"\u003eFeedback\u003c/a\u003e\n\n\u003c/div\u003e\n\n\u003chr /\u003e\n\nEpsilla is an open-source vector database. Our focus is on ensuring scalability, high performance, and cost-effectiveness of vector search. EpsillaDB bridges the gap between information retrieval and memory retention in Large Language Models.\n\n## Quick Start using Docker\n\n**1. Run Backend in Docker**\n```shell\ndocker pull epsilla/vectordb\ndocker run --pull=always -d -p 8888:8888 -v /data:/data epsilla/vectordb\n```\n\n**2. Interact with Python Client**\n```shell\npip install pyepsilla\n```\n\n```python\nfrom pyepsilla import vectordb\n\nclient = vectordb.Client(host='localhost', port='8888')\nclient.load_db(db_name=\"MyDB\", db_path=\"/data/epsilla\")\nclient.use_db(db_name=\"MyDB\")\n\nclient.create_table(\n    table_name=\"MyTable\",\n    table_fields=[\n        {\"name\": \"ID\", \"dataType\": \"INT\", \"primaryKey\": True},\n        {\"name\": \"Doc\", \"dataType\": \"STRING\"},\n    ],\n    indices=[\n      {\"name\": \"Index\", \"field\": \"Doc\"},\n    ]\n)\n\nclient.insert(\n    table_name=\"MyTable\",\n    records=[\n        {\"ID\": 1, \"Doc\": \"Jupiter is the largest planet in our solar system.\"},\n        {\"ID\": 2, \"Doc\": \"Cheetahs are the fastest land animals, reaching speeds over 60 mph.\"},\n        {\"ID\": 3, \"Doc\": \"Vincent van Gogh painted the famous work \\\"Starry Night.\\\"\"},\n        {\"ID\": 4, \"Doc\": \"The Amazon River is the longest river in the world.\"},\n        {\"ID\": 5, \"Doc\": \"The Moon completes one orbit around Earth every 27 days.\"},\n    ],\n)\n\nclient.query(\n    table_name=\"MyTable\",\n    query_text=\"Celestial bodies and their characteristics\",\n    limit=2\n)\n\n# Result\n# {\n#     'message': 'Query search successfully.',\n#     'result': [\n#         {'Doc': 'Jupiter is the largest planet in our solar system.', 'ID': 1},\n#         {'Doc': 'The Moon completes one orbit around Earth every 27 days.', 'ID': 5}\n#     ],\n#     'statusCode': 200\n# }\n```\n\n\n## Features:\n\n* High performance and production-scale similarity search for embedding vectors.\n\n* Full fledged database management system with familiar database, table, and field concepts. Vector is just another field type.\n\n* Metadata filtering.\n\n* Hybrid search with a fusion of dense and sparse vectors.\n\n* Built-in embedding support, with natural language in natural language out search experience.\n\n* Cloud native architecture with compute storage separation, serverless, and multi-tenancy.\n\n* Rich ecosystem integrations including LangChain and LlamaIndex.\n\n* Python/JavaScript/Ruby clients, and REST API interface.\n\nEpsilla's core is written in C++ and leverages the advanced academic parallel graph traversal techniques for vector indexing, achieving 10 times faster vector search than HNSW while maintaining precision levels of over 99.9%.\n\n\n\n## Epsilla Cloud\n\nTry our fully managed vector DBaaS at \u003ca href=\"https://cloud.epsilla.com/\"\u003eEpsilla Cloud\u003c/a\u003e\n\n## (Experimental) Use Epsilla as a python library without starting a docker image\n\n**1. Build Epsilla Python Bindings lib package**\n```shell\ncd engine/scripts\n(If on Ubuntu, run this first: bash setup-dev.sh)\nbash install_oatpp_modules.sh\ncd ..\nbash build.sh\nls -lh build/*.so\n```\n\n**2. Run test with python bindings lib \"epsilla.so\" \"libvectordb_dylib.so in the folder \"build\" built in the previous step**\n```shell\ncd engine\nexport PYTHONPATH=./build/\nexport DB_PATH=/tmp/db33\npython3 test/bindings/python/test.py\n```\n\nHere are some sample code:\n```python\nimport epsilla\n\nepsilla.load_db(db_name=\"db\", db_path=\"/data/epsilla\")\nepsilla.use_db(db_name=\"db\")\nepsilla.create_table(\n    table_name=\"MyTable\",\n    table_fields=[\n        {\"name\": \"ID\", \"dataType\": \"INT\", \"primaryKey\": True},\n        {\"name\": \"Doc\", \"dataType\": \"STRING\"},\n        {\"name\": \"EmbeddingEuclidean\", \"dataType\": \"VECTOR_FLOAT\", \"dimensions\": 4, \"metricType\": \"EUCLIDEAN\"}\n    ]\n)\nepsilla.insert(\n    table_name=\"MyTable\",\n    records=[\n        {\"ID\": 1, \"Doc\": \"Berlin\", \"EmbeddingEuclidean\": [0.05, 0.61, 0.76, 0.74]},\n        {\"ID\": 2, \"Doc\": \"London\", \"EmbeddingEuclidean\": [0.19, 0.81, 0.75, 0.11]},\n        {\"ID\": 3, \"Doc\": \"Moscow\", \"EmbeddingEuclidean\": [0.36, 0.55, 0.47, 0.94]}\n    ]\n)\n(code, response) = epsilla.query(\n    table_name=\"MyTable\",\n    query_field=\"EmbeddingEuclidean\",\n    response_fields=[\"ID\", \"Doc\", \"EmbeddingEuclidean\"],\n    query_vector=[0.35, 0.55, 0.47, 0.94],\n    filter=\"ID \u003c 6\",\n    limit=10,\n    with_distance=True\n)\nprint(code, response)\n```\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fepsilla-cloud%2Fvectordb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fepsilla-cloud%2Fvectordb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fepsilla-cloud%2Fvectordb/lists"}