Skip to content
ATLURI0001Public

Latest commit

Β 

History

5 Commits

Folders and files

Repository files navigation

🧠 Oriel

Semantic search, built for AI

Oriel is a semantic search engine designed to help AI applications find meaning, not just keywords. Built in Rust for speed and reliability, it turns embeddings from your favorite neural network or encoder into a fast, filterable, production-ready search layer.


✨ Features

  • Semantic Vector Search β€” find results by meaning using dense vector embeddings, not exact keyword matches
  • Payload Filtering β€” attach structured metadata to your vectors and filter results with rich conditions
  • Fast & Reliable β€” written in Rust for high performance, low latency, and safety even under heavy load
  • Simple API β€” a clean interface for storing, searching, and managing your data
  • Docker-Ready β€” ship and run Oriel anywhere with the included Dockerfile

πŸš€ Getting Started

Run with Docker

docker build -t oriel .
docker run -p 6333:6333 oriel

Build from Source

Oriel is written in Rust β€” you'll need the Rust toolchain installed.

git clone https://github.com/ATLURI0001/Oriel.git
cd Oriel
cargo build --release
cargo run --release

πŸ“¦ Project Structure

β”œβ”€β”€ .config/       # Project configuration
β”œβ”€β”€ config/        # Runtime configuration files
β”œβ”€β”€ docs/          # Documentation
β”œβ”€β”€ lib/           # Core library code
β”œβ”€β”€ openapi/       # OpenAPI / API specification
β”œβ”€β”€ src/           # Main application source
β”œβ”€β”€ tests/         # Test suite
β”œβ”€β”€ tools/         # Developer tooling and scripts
β”œβ”€β”€ Cargo.toml     # Rust package manifest
└── Dockerfile     # Container build definition

πŸ› οΈ Usage

Once running, connect to Oriel using its API to store vectors with an optional payload, then query by similarity:

# Example β€” adjust to Oriel's actual client/API
from oriel_client import OrielClient

client = OrielClient(url="http://localhost:6333")

client.upsert(
    collection="my_data",
    points=[{"id": 1, "vector": [0.1, 0.2, 0.3, 0.4], "payload": {"category": "example"}}]
)

results = client.search(collection="my_data", query_vector=[0.1, 0.2, 0.3, 0.4], limit=5)

Update this section with Oriel's actual client library and endpoint details once finalized.

🀝 Contributing

Contributions are welcome! Please open an issue to discuss significant changes before submitting a pull request.

  1. Fork the repo
  2. Create your feature branch (git checkout -b feature/my-feature)
  3. Commit your changes
  4. Push to the branch and open a PR

πŸ“„ License

This project is licensed under the terms of the license included in the LICENSE file.

πŸ“¬ Contact

Have questions or suggestions? Open an issue on this repository.

Releases

Packages

Contributors

Languages