YAML Metadata Warning:empty or missing yaml metadata in repo card

Check out the documentation for more information.

Local Answer Engine

API-first Perplexity-style answer engine: search, extract, rank, synthesize, cite.

Quick Start

cp .env.example .env
uv sync
uv run uvicorn answer_engine.api:app --reload --host 127.0.0.1 --port 8000

Open http://127.0.0.1:8000/docs.

For a fully offline smoke test, set OFFLINE_MODE=true. That uses built-in fixture sources and does not call Tavily, SearXNG, OpenAI, or Ollama.

Providers

  • Search default: Tavily when TAVILY_API_KEY is present.
  • Search fallback: SearXNG at SEARXNG_URL.
  • LLM default: LLM_MODEL=openai/gpt-5.5.
  • LLM fallback: FALLBACK_LLM_MODEL=ollama/qwen3.6:35b.

If the configured LLM is unavailable, the service returns an extractive cited answer from the ranked sources rather than inventing an unsupported answer.

API

curl -sS http://127.0.0.1:8000/health

curl -sS http://127.0.0.1:8000/v1/providers

curl -sS -X POST http://127.0.0.1:8000/v1/answer \
  -H 'Content-Type: application/json' \
  -d '{"query":"Wie baut man lokal eine Perplexity-artige Answer Engine?","mode":"balanced"}'

Streaming uses Server-Sent Events:

curl -N -X POST http://127.0.0.1:8000/v1/answer/stream \
  -H 'Content-Type: application/json' \
  -d '{"query":"What is SearXNG useful for in local AI search?"}'

Tests

uv run pytest
uv run ruff check
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support