freshcrate
Skin:/
Home > Databases > oramacore

oramacore

OramaCore is the complete runtime you need for your projects, answer engines, copilots, and search. It includes a fully-fledged full-text search engine, vector database, LLM interface, and many more u

Why this rank:Strong adoptionRelease freshnessHealthy release cadence

Description

OramaCore is the complete runtime you need for your projects, answer engines, copilots, and search. It includes a fully-fledged full-text search engine, vector database, LLM interface, and many more utilities.

README

OramaCore

OramaCore is the AI runtime you need for your projects, answer engines, copilots, and search.

It includes a fully-fledged full-text search engine, vector database, LLM interface with action planning and reasoning, a JavaScript runtime to write and run your own custom agents on your data, and many more utilities.

Getting Started

The absolute easier way to get started is by following the docker-compose.yml file that you can find in this repository.

You can either clone the entire repo or setup oramasearch/oramacore:latest as image in your docker-compose.yml file under the oramacore service.

Then compile your configuration file and run it:

docker compose up

This will create the following architecture, allowing you to perform high-performance RAG with little to zero configuration.

OramaCore Architecture

An NVIDIA GPU is highly recommended for running the application. For production usage, we recommend using minimum one NVIDIA A100. Optimal configuration would include four NVIDIA H100.

Available Dockerfiles

Depending on your machine, you may want to use different Docker images.

Application CPU/GPU Docker image
OramaCore X86_64 oramasearch/oramacore
OramaCore ARM64 (Mac M series for example) oramasearch/oramacore-arm64
AI Server Any CPU architecture, no CUDA access oramasearch/oramacore-ai-server
AI Server Any CPU architecture, CUDA available oramasearch/oramacore-ai-server-cuda

Using the JavaScript SDK

You can install the official JavaScript SDK with npm:

npm i @orama/core

Then, you can start by creating a collection (a database index) with all of the data you want to perform AI search & experiences on:

import { OramaCoreManager } from "@orama/core";

const orama = new OramaCoreManager({
    url: "http://localhost:8080",
    masterAPIKey: "<master-api-key>", // The master API key set in your config file
});

const newCollection = await orama.createCollection({
    id: "products",
    writeAPIKey: "my-write-api-key", // A custom API key to perform write operations on your collection
    readAPIKey: "my-read-api-key", // A custom API key to perform read operations on your collection
});

Then, insert some data:

import { CollectionManager } from "@orama/core";

const collection = new CollectionManager({
    url: "http://localhost:8080",
    collectionID: "<COLLECTION_ID>",
    writeAPIKey: "<write_api_key>",
});

// You can insert a single document
await collection.insert({
    title: "My first document",
    content: "This is the content of my first document.",
});

// Or you can insert multiple documents by passing an array of objects
await collection.insert([
    {
        title: "My first document",
        content: "This is the content of my first document.",
    },
    {
        title: "My second document",
        content: "This is the content of my second document.",
    },
]);

OramaCore will automatically generate highly optimized embeddings for you and will store them inside its built-in vector database.

Now you can perform vector, hybrid, full-text search, or let OramaCore decide which one is best for your specific query:

import { CollectionManager } from "@orama/core";

const collection = new CollectionManager({
    url: "http://localhost:8080",
    collectionID: "<COLLECTION_ID>",
    readAPIKey: "<read_api_key>",
});

const results = await collection.search({
    term: "The quick brown fox",
    mode: "auto", // can be "fulltext", "vector", "hybrid", or "auto"
});

You can also perform Answer Sessions as you'd do on Perplexity or SearchGPT, but on your own data!

import { CollectionManager } from "@orama/core";

const collection = new CollectionManager({
    url: "http://localhost:8080",
    collectionID: "<COLLECTION_ID>",
    readAPIKey: "<read_api_key>",
});

const answerSession = collection.createAnswerSession({
    initialMessages: [
        {
            role: "user",
            content: "How do I install OramaCore?",
        },
        {
            role: "assistant",
            content:
                "You can install OramaCore by pulling the oramasearch/oramacore:latest Docker image",
        },
    ],
    events: {
        onStateChange(state) {
            console.log("State changed:", state);
        },
    },
});

Read more on the official documentation.

License

AGPLv3

Release History

VersionChangesUrgencyDate
v1.2.38## What's Changed * Feat/compact zebo at startup time by @allevo in https://github.com/oramasearch/oramacore/pull/329 * Avoid write lock on index by @allevo in https://github.com/oramasearch/oramacore/pull/330 **Full Changelog**: https://github.com/oramasearch/oramacore/compare/v1.2.37...v1.2.38High4/7/2026
v1.2.37**Full Changelog**: https://github.com/oramasearch/oramacore/compare/v1.2.36...v1.2.37Low3/16/2026
v1.2.35**Full Changelog**: https://github.com/oramasearch/oramacore/compare/v1.2.34...v1.2.35Low3/16/2026
v1.2.32**Full Changelog**: https://github.com/oramasearch/oramacore/compare/v1.2.31...v1.2.32Low3/16/2026
v1.2.31**Full Changelog**: https://github.com/oramasearch/oramacore/compare/v1.2.30...v1.2.31Low3/10/2026
v1.2.29-beta**Full Changelog**: https://github.com/oramasearch/oramacore/compare/v1.2.28...v1.2.29-betaLow3/5/2026
v1.2.30**Full Changelog**: https://github.com/oramasearch/oramacore/compare/v1.2.29...v1.2.30Low3/5/2026
v1.2.29## What's Changed * Feat/move to oramacore fields by @allevo in https://github.com/oramasearch/oramacore/pull/328 **Full Changelog**: https://github.com/oramasearch/oramacore/compare/v1.2.28...v1.2.29Low3/4/2026
v1.2.28## What's Changed * Make search token scoring synchronous by @hiimjako in https://github.com/oramasearch/oramacore/pull/326 **Full Changelog**: https://github.com/oramasearch/oramacore/compare/v1.2.27...v1.2.28Low2/24/2026
v1.2.27## What's Changed * Feat/split on "-" by @allevo in https://github.com/oramasearch/oramacore/pull/327 **Full Changelog**: https://github.com/oramasearch/oramacore/compare/v1.2.26...v1.2.27Low2/19/2026
v1.2.26[Allow search for AI](https://github.com/oramasearch/oramacore/commit/a5ca611ca6c4c7473bd6222f775ff68a551bde4d) **Full Changelog**: https://github.com/oramasearch/oramacore/compare/v1.2.25...v1.2.26Low2/17/2026
v1.2.25## What's Changed * feat: regenerate read api key by @micheleriva in https://github.com/oramasearch/oramacore/pull/322 **Full Changelog**: https://github.com/oramasearch/oramacore/compare/v1.2.24...v1.2.25Low2/17/2026
v1.2.20-rc.1Test cross-platform builds: Python removal + matrix strategy for linux-x86_64, macos-arm64, macos-x86_64, windows-x86_64Low2/17/2026
v1.2.24Release v1.2.24Low2/16/2026
v1.2.23## What's Changed * Add collection values and secrets support for hooks by @hiimjako in https://github.com/oramasearch/oramacore/pull/320 * Add number and date document count in stats by @hiimjako in https://github.com/oramasearch/oramacore/pull/321 **Full Changelog**: https://github.com/oramasearch/oramacore/compare/v1.2.22...v1.2.23Low2/16/2026
v1.2.22## What's Changed * feat: adds improved NLP Search (v.1.1) by @micheleriva in https://github.com/oramasearch/oramacore/pull/319 **Full Changelog**: https://github.com/oramasearch/oramacore/compare/v1.2.21...v1.2.22Low2/11/2026
v1.2.21## What's Changed * Improved hook system with pool and made it configurable by @hiimjako in https://github.com/oramasearch/oramacore/pull/316 **Full Changelog**: https://github.com/oramasearch/oramacore/compare/v1.2.20...v1.2.21Low2/10/2026
v1.2.20**Full Changelog**: https://github.com/oramasearch/oramacore/compare/v1.2.19...v1.2.20Low2/9/2026
v1.2.19## What's Changed * Support _omc field by @allevo in https://github.com/oramasearch/oramacore/pull/315 **Full Changelog**: https://github.com/oramasearch/oramacore/compare/v1.2.18...v1.2.19Low2/5/2026
v1.2.18## What's Changed * Improve API key extraction with FromRequestParts trait by @hiimjako in https://github.com/oramasearch/oramacore/pull/309 * Customer JWT on reader by @allevo in https://github.com/oramasearch/oramacore/pull/310 * Prevent integer underflow in DocumentLengthsPerDocument::remove_doc_ids by @hiimjako in https://github.com/oramasearch/oramacore/pull/311 * Feat/mutable hsnw by @allevo in https://github.com/oramasearch/oramacore/pull/312 **Full Changelog**: https://github.coLow1/21/2026
v1.2.17## What's Changed * Create Shelves API by @hiimjako in https://github.com/oramasearch/oramacore/pull/308 **Full Changelog**: https://github.com/oramasearch/oramacore/compare/v1.2.16...v1.2.17Low1/13/2026
v1.2.16## What's Changed * Feat/respawn problem by @allevo in https://github.com/oramasearch/oramacore/pull/296 **Full Changelog**: https://github.com/oramasearch/oramacore/compare/v1.2.15...v1.2.16Low1/8/2026
v1.2.15## What's Changed * fix: ensure CI user owns fastembed cache directory by @rtmuller in https://github.com/oramasearch/oramacore/pull/306 * Fix limit by @allevo in https://github.com/oramasearch/oramacore/pull/305 * Fix pin rule writer commint and enpoints typos by @hiimjako in https://github.com/oramasearch/oramacore/pull/307 **Full Changelog**: https://github.com/oramasearch/oramacore/compare/v1.2.14...v1.2.15Low1/8/2026
v1.2.14## What's Changed * add virtualenv to the pipeline to avoid issues by @rtmuller in https://github.com/oramasearch/oramacore/pull/279 * Feat/rework search by @allevo in https://github.com/oramasearch/oramacore/pull/304 * Apply pin rules to all collection indexes with correct locale by @hiimjako in https://github.com/oramasearch/oramacore/pull/299 ## New Contributors * @hiimjako made their first contribution in https://github.com/oramasearch/oramacore/pull/299 **Full Changelog**: https:/Low1/2/2026
v1.2.13## What's Changed * feat: add limitation by @allevo in https://github.com/oramasearch/oramacore/pull/278 * fix: Docker build failures for ARM64 and x86_64 platforms by @rtmuller in https://github.com/oramasearch/oramacore/pull/282 * feat: move pin rules under collection by @allevo in https://github.com/oramasearch/oramacore/pull/283 * feat: Vector BruteForce support by @allevo in https://github.com/oramasearch/oramacore/pull/284 * feat: Better offload management by @allevo in https://githubLow12/31/2025
v1.2.12## What's Changed * Better ptyhon integration & test suite rework by @allevo in https://github.com/oramasearch/oramacore/pull/295 **Full Changelog**: https://github.com/oramasearch/oramacore/compare/v1.2.11...v1.2.12Low12/16/2025
v1.2.11## What's Changed * fix: fixes initialization of onnx execution provider by @micheleriva in https://github.com/oramasearch/oramacore/pull/292 * fix: fixes anthropic apis call by @micheleriva in https://github.com/oramasearch/oramacore/pull/293 * Feat/pre collection document storage by @allevo in https://github.com/oramasearch/oramacore/pull/291 **Full Changelog**: https://github.com/oramasearch/oramacore/compare/v1.2.10...v1.2.11Low12/16/2025
v1.2.10**Full Changelog**: https://github.com/oramasearch/oramacore/compare/v1.2.9...v1.2.10Low12/3/2025
v1.2.9**Full Changelog**: https://github.com/oramasearch/oramacore/compare/v1.2.8...v1.2.9Low12/3/2025
v1.2.8**Full Changelog**: https://github.com/oramasearch/oramacore/compare/v1.2.7...v1.2.8Low12/3/2025
v1.2.7**Full Changelog**: https://github.com/oramasearch/oramacore/compare/v1.2.6...v1.2.7Low12/3/2025
v1.2.6## What's Changed * Force global commit after a while by @allevo in https://github.com/oramasearch/oramacore/pull/290 **Full Changelog**: https://github.com/oramasearch/oramacore/compare/v1.2.5...v1.2.6Low12/3/2025
v1.2.5## What's Changed * Use minimum offset by @allevo in https://github.com/oramasearch/oramacore/pull/289 **Full Changelog**: https://github.com/oramasearch/oramacore/compare/v1.2.4...v1.2.5Low12/2/2025
v1.2.4## What's Changed * Vector BruteForce support by @allevo in https://github.com/oramasearch/oramacore/pull/284 * Better offload management by @allevo in https://github.com/oramasearch/oramacore/pull/285 * Feat/review merge by @allevo in https://github.com/oramasearch/oramacore/pull/287 * Commit per collection by @allevo in https://github.com/oramasearch/oramacore/pull/288 **Full Changelog**: https://github.com/oramasearch/oramacore/compare/v1.2.3...v1.2.4Low12/1/2025
v1.2.3**Full Changelog**: https://github.com/oramasearch/oramacore/compare/v1.2.1...v1.2.3Low11/18/2025
v1.2.1## What's Changed * Feat/add limitation by @allevo in https://github.com/oramasearch/oramacore/pull/278 **Full Changelog**: https://github.com/oramasearch/oramacore/compare/v1.2.0...v1.2.1Low11/17/2025
v1.2.0## What's Changed * feat: run python from rust by @micheleriva in https://github.com/oramasearch/oramacore/pull/271 * feat: remove unused offset by @allevo in https://github.com/oramasearch/oramacore/pull/275 * refactor: move MCP calls to Python by @micheleriva in https://github.com/oramasearch/oramacore/pull/273 * feat: expose filterable fields by @micheleriva in https://github.com/oramasearch/oramacore/pull/277 **Full Changelog**: https://github.com/oramasearch/oramacore/compare/v1.1.10Low11/12/2025
v1.1.108**Full Changelog**: https://github.com/oramasearch/oramacore/compare/v1.1.107...v1.1.108Low11/6/2025
v1.2.0-rc.4**Full Changelog**: https://github.com/oramasearch/oramacore/compare/v1.2.0-rc.3...v1.2.0-rc.4Low11/3/2025
v1.2.0-rc.3## What's Changed * Refactor: move MCP calls to Python by @micheleriva in https://github.com/oramasearch/oramacore/pull/273 **Full Changelog**: https://github.com/oramasearch/oramacore/compare/v1.2.0-rc.2...v1.2.0-rc.3Low11/3/2025
v1.2.0-rc.2## What's Changed * Feat/remove unused offset by @allevo in https://github.com/oramasearch/oramacore/pull/275 **Full Changelog**: https://github.com/oramasearch/oramacore/compare/v1.2.0-rc.1...v1.2.0-rc.2Low10/28/2025
v1.1.107**Full Changelog**: https://github.com/oramasearch/oramacore/compare/v1.1.106...v1.1.107Low10/28/2025
v1.1.106## What's Changed * Feat/remove unused offset by @allevo in https://github.com/oramasearch/oramacore/pull/275 **Full Changelog**: https://github.com/oramasearch/oramacore/compare/v1.1.105...v1.1.106Low10/24/2025
v1.1.105**Full Changelog**: https://github.com/oramasearch/oramacore/compare/v1.1.104...v1.1.105Low10/22/2025
v1.1.104**Full Changelog**: https://github.com/oramasearch/oramacore/compare/v1.1.103...v1.1.104Low10/22/2025
v1.2.0-rc.1## What's Changed * **BREAKING**: Bundle Python into Rust binary for single binary execution by @micheleriva in https://github.com/oramasearch/oramacore/pull/271 **Full Changelog**: https://github.com/oramasearch/oramacore/compare/v1.1.103...v1.2.0-rc.1Low10/21/2025
v1.1.103**Full Changelog**: https://github.com/oramasearch/oramacore/compare/v1.1.102...v1.1.103Low10/21/2025
v1.1.102**Full Changelog**: https://github.com/oramasearch/oramacore/compare/v1.1.101...v1.1.102Low10/20/2025
v1.1.101Add otel metric **Full Changelog**: https://github.com/oramasearch/oramacore/compare/v1.1.100...v1.1.101Low10/17/2025
v1.1.100## What's Changed * Feat/promote index with uncommitted data by @allevo in https://github.com/oramasearch/oramacore/pull/270 **Full Changelog**: https://github.com/oramasearch/oramacore/compare/v1.1.99...v1.1.100Low10/13/2025

Dependencies & License Audit

Loading dependencies...

Similar Packages

vectorizerA high-performance, in-memory vector database written in Rust, designed for semantic search and top-k nearest neighbor queries in AI-driven applications, with binary file persistence for durability.vectorizer-3.4.0
topkTopK is a search engine for the AI era.cli-v0.11.0
contextdbEmbedded database for agentic memory — relational, graph, and vector under unified MVCC transactionsv1.0.0
seismicOfficial repository of the Seismic library.v0.4.0
VectorChordScalable, fast, and disk-friendly vector search in Postgres, the successor of pgvecto.rs.1.1.1

More in Databases

orbitOne API for 20+ LLM providers, your databases, and your files — self-hosted, open-source AI gateway with RAG, voice, and guardrails.
alibabacloud-adb20211201Alibaba Cloud adb (20211201) SDK Library for Python
milvusMilvus is a high-performance, cloud-native vector database built for scalable vector ANN search
qdrantQdrant - High-performance, massive-scale Vector Database and Vector Search Engine for the next generation of AI. Also available in the cloud https://cloud.qdrant.io/