> ## Documentation Index
> Fetch the complete documentation index at: https://docs.moorcheh.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Moorcheh Edge

> On-device vector search with moorcheh-edge and Docker.

## What is Moorcheh Edge?

Moorcheh Edge runs **locally on your machine** for fast vector upload and similarity search. The client sends float embedding vectors; the server binarizes them and searches on-device without cloud calls.

|                   |                                              |
| ----------------- | -------------------------------------------- |
| **PyPI package**  | `moorcheh-edge`                              |
| **CLI**           | `moorcheh-edge`                              |
| **Python import** | `from moorcheh_edge import MoorchehEdge`     |
| **Server image**  | `moorcheh/moorcheh-edge:latest` (Docker Hub) |
| **Default API**   | `http://localhost:8080`                      |
| **Data on disk**  | `~/.moorcheh-edge/data`                      |

<Note>
  Edge has **no API keys**. Start the server with `moorcheh-edge up`, then call the API on localhost.
</Note>

## Store modes

One **flat store** per container - no namespaces.

| Mode       | Who embeds                       | Dimension                | Set on       |
| ---------- | -------------------------------- | ------------------------ | ------------ |
| **text**   | Python client (BGE-base-en-v1.5) | **768**                  | First upload |
| **vector** | Your app (precomputed)           | **128–1536** (allowlist) | First upload |

You cannot mix text and vector modes in the same store. Use `moorcheh-edge clear-store` to reset.

## What you can do

* Upload text documents (client embeds locally) or precomputed vectors
* Search with a **text query** (CLI/SDK embed locally) or a **float query vector**
* **Answer questions (RAG)** - search + local LLM via Ollama (`qwen2.5:0.5b-instruct`); stream tokens with **`POST /answer/stream`**
* **Voice on edge hardware (Linux)** - STT/TTS and **`moorcheh-edge voice serve`** for kiosk mic/speaker (see [Voice CLI](/cli/voice/introduction))
* Delete items by id or wipe the entire store
* **Export catalog text** - `GET /export` returns all chunk text (no vectors) for sync to another app
* Check store health and quota via `/health`

## Prerequisites

* **Python 3.10+**
* **Docker** (Desktop or Engine)

No Ollama required for **search**. For **`answer` / RAG**, run `moorcheh-edge up --with-llm` on Linux - it installs Ollama and pulls **`qwen2.5:0.5b-instruct`** (\~400 MB). Text embedding uses FastEmbed (BGE) bundled with the Python package.

When search returns no matching passages, `/answer` and `/answer/stream` return a fixed *I don't have enough information to answer that question.* without calling the LLM.

## Install and run

```bash theme={null}
pip install moorcheh-edge
moorcheh-edge up
moorcheh-edge status
```

See [Quickstart](/quickstart) for upload, search, and answer.

## Documentation

| Section                                      | Use when                         |
| -------------------------------------------- | -------------------------------- |
| [Quickstart](/quickstart)                    | First run end-to-end             |
| [Arduino UNO Q](/guides/arduino-uno-q)       | Run on Arduino UNO Q             |
| [Limits](/limits)                            | Store cap, dimensions, and modes |
| [API reference](/api-references/health)      | HTTP integration                 |
| [Python client](/python-client/introduction) | Apps with `MoorchehEdge`         |
| [CLI](/cli/introduction)                     | Local ops with `moorcheh-edge`   |

## Data persistence

Items are stored under:

```
~/.moorcheh-edge/data/
  moorcheh_edge_store.json
```

`moorcheh-edge down` stops the container but **does not delete** this folder.
