Morphic
AI-powered answer engine with a generative UI
Morphic is an open-source AI-powered answer engine featuring a generative interface. It searches the web and composes interactive, sourced answers and can be self-hosted with various model providers.
Key features
- Generative answer interface
- Web search with citations
- Multiple model provider support
- Self-hostable with Docker
Pros & cons
Strengths
- Modern interactive UI
- Flexible model backends
Trade-offs
- Requires external search API keys
Morphic replaces
Last reviewed Aug 26, 2026 · 823 words
Morphic costs money per question even when it is "self-hosted", and knowing exactly where is the entire setup. The container is a Next.js front end; every answer it produces is one call to a web search API followed by one or more calls to a language model, and neither runs inside the container unless you point them at services you also host. The good news is that both halves can be swapped for self-hosted ones: SearXNG for search and Ollama for the model turn Morphic into a private answer engine where the only thing leaving your network is the query hitting public search engines through SearXNG.
Two keys, or two containers
Out of the box Morphic expects a Tavily key for search and an OpenAI key for the model, both set in .env.local or the compose environment. Provider support is broad: Anthropic, Google, Groq, Azure and OpenAI-compatible endpoints all work by setting their keys, and the model picker in the UI lists whichever ones have credentials. Chat history is optional and needs Redis, either an Upstash URL or a local instance.
The minimal hosted-keys version:
services:
morphic:
image: ghcr.io/miurla/morphic:latest
ports:
- "3000:3000"
environment:
OPENAI_API_KEY: sk-your-key
TAVILY_API_KEY: tvly-your-key
NEXT_PUBLIC_BASE_URL: https://ask.example.com
USE_LOCAL_REDIS: "true"
LOCAL_REDIS_URL: redis://redis:6379
depends_on:
- redis
redis:
image: redis:alpine
Confirm the image path and variable names against the Morphic repository; the project moves quickly and renames things between releases. 1 GB of RAM is plenty for the app itself, because the heavy lifting happens elsewhere.
Fully local: SearXNG plus Ollama
Switching search to SearXNG is two variables: SEARCH_API=searxng and SEARXNG_API_URL=http://searxng:8080. The gotcha is on the SearXNG side, where the JSON output format is disabled by default; add json to the formats list under search in settings.yml or every query returns a 403. Switching the model is OLLAMA_BASE_URL=http://ollama:11434 plus enabling the model in Morphic's model list.
The honest caveat is model quality. Morphic asks the model to decide when to search, extract what matters from a dozen result snippets and write a cited answer, which is tool-use and long-context work. Small quantised models produce answers that look right and cite the wrong source; the experience improves sharply with a capable open-weight model at 8 billion parameters or more and a GPU that fits it. The self-hosted AI stack post covers sizing that box. Run on CPU, a single question takes tens of seconds, and the "generative UI" starts to feel like a loading spinner.
What the generative UI actually adds
Compared with pasting a question into a chat window, Morphic streams the answer with inline citations, shows the sources it used as cards, offers related questions, and has separate tabs for image and video results. Follow-up questions keep the search context. Shared links reproduce the full answer for anyone who opens them. It is closer to Perplexity than to a chat UI, and closer to a chat UI than to a search engine, which is why it is filed under search but competes with the answer features in Open WebUI.
Perplexica is the direct rival: the same idea, built around SearXNG from the start, with a slightly plainer interface and less provider flexibility. If you already run SearXNG and Ollama and do not care about the polish, Perplexica is quicker to stand up. Morphic wins on interface and on the breadth of model backends.
The cost per question, roughly
With hosted keys: Tavily's free tier covers around 1,000 searches a month at last check, and a small OpenAI model costs fractions of a cent per answer, so a household of curious people spends a few dollars a month. Fully local: the marginal cost is electricity for a GPU that is probably already on, plus the one-time price of that GPU. The privacy difference is the real one. Hosted keys mean two third parties see every question; local means only the search engines SearXNG fans out to, and they see it without your identity attached.
What I'd do
Start with the hosted-keys compose to learn what the tool is, because the setup is 10 minutes and the free tiers cover the experiment. If it earns a place, move search to SearXNG the same week (it is 2 variables and 1 line in a YAML file) and keep a hosted model for quality until a local one on real hardware answers well enough. Put it behind a login on the reverse proxy; an open answer engine with your API keys behind it is a bill waiting to happen. And if it becomes "the way I search", it has replaced a habit Google spent 25 years building, which is worth the GPU.
Compare Morphic
16 head-to-head comparisons.
Similar search engines apps
Elasticsearch
Search EnginesDistributed search and analytics engine
Replaces Algolia, Splunk
Meilisearch
Search EnginesFast, typo-tolerant search engine for applications
Replaces Algolia, Elasticsearch
Milvus
Search EnginesOpen-source vector database built for scalable similarity search
Replaces Pinecone, Elasticsearch
SearXNG
Search EnginesPrivacy-respecting metasearch engine aggregating many sources
Replaces Google Search, Bing
Vane
Search EnginesAI-powered search engine, formerly Perplexica
Replaces Google Search
Qdrant
Search EnginesHigh-performance open-source vector search engine
Replaces Pinecone, Algolia