Combine full text and semantic search with a vector database for applications requiring hybrid search capabilities.

Orama screenshot 1

Orama is an open-source web app and server that provides full-text and semantic search capabilities. It functions as a search engine and vector database that can be deployed as a server or integrated directly into applications. It is designed to handle both traditional keyword matching and AI-driven vector searches for a wide variety of data sets.

The software is written in TypeScript and JavaScript, making it compatible with various environments. It can be installed via package managers like npm, yarn, pnpm, and bun, or imported directly into a browser module or Deno environment. This flexibility allows it to run on the backend, in a serverless function, or entirely on the client side within a user's browser.

Key features

  • Support for full-text, vector, and hybrid search modes
  • Schema-based indexing with ten different data types including geopoints and vectors
  • Integration with TensorFlowJS for local embedding generation
  • Support for RAG and chat experiences via external LLM APIs
  • Ability to run in browser, Node.js, and Deno environments
  • Secure proxy plugin for calling OpenAI APIs from the client side
  • Custom similarity thresholds for vector match determination

Orama uses a schema-driven approach where developers define the properties and data types of their documents upon database creation. It supports complex data types such as arrays of strings, arrays of booleans, and specific vector dimensions for embeddings. The architecture allows for the addition of plugins to extend functionality, such as automating embedding generation during the insertion process using the embeddings plugin. This enables the creation of ChatGPT or Perplexity style experiences by combining retrieved context with chat models.

Developers can manage data using functions for single or multiple insertions and removals. The search functionality provides detailed results including elapsed time and similarity scores. By utilizing a secure proxy, the software allows for the safe handling of API keys when interacting with external AI models from the frontend.

It is a lightweight, flexible search solution for developers building AI-powered search tools or traditional search interfaces.

Last Modified
Software TypeWeb App / Server
Platform
Last Activity15 days ago
Repository Age4 years
LicenseApache-2.0
Open Source Alternative to
Open Source Software.io

Join our newsletter to get shiny new open source software delivered to your inbox. Unsubscribe anytime.