Open Source AI
AI is the widest category on this site, and that is the first thing to get straight: the tools here are not variations on one product but different layers of a stack, from chat interfaces you run yourself to the model runtimes beneath them, vector databases, document parsers, embedding servers, voice and face models, and agent frameworks. Open source also means different things across that stack; some projects ship model weights you can run and fine-tune, others only wrap a model you still have to supply. What open source consistently buys you is a boundary you control: prompts, documents, and embeddings stay on hardware you own, running a version you pin rather than a model that shifts under you overnight.

Ollama
Run open LLMs locally with a simple CLI, REST API, and model library

Dify
Open-source LLM app development platform for workflows, RAG pipelines, and agent apps

Open WebUI
Self-hosted AI platform for running local and API-backed models offline

Firecrawl
API that scrapes live sites into clean Markdown for AI agents

PaddleOCR
OCR toolkit for turning PDFs and images into structured, LLM-ready JSON and Markdown

LobeChat
Self-hosted AI agent workspace for organizing, scheduling, and reporting on agents 24-7

GPT4All
Private local AI chatbot for desktops and laptops, with no API calls or GPUs required

MinerU
High-accuracy document parsing for PDFs, Office files, images, and web pages into Markdown or JSON

AnythingLLM
Local-first AI app for chatting with documents, agents, and multi-user workspaces
Our picks
Which tools you need depends on your layer of the stack; these cover the four most common ones.
Self-hosted AI workspace: Open WebUI Open WebUI is the closest thing here to a private ChatGPT you host yourself. It connects to a local Ollama instance or any OpenAI-compatible API, adds built-in retrieval across nine vector databases so you can chat with your own documents, and gates shared instances with role-based access control. It installs via Docker or Kubernetes and is designed to run entirely offline.
Local model runtime: Ollama Most local chat apps need an engine underneath, and Ollama is the common choice. It pulls and runs open models from a single command, exposes a REST API plus Python and JavaScript libraries, and can import your own weights through a Modelfile. Built on llama.cpp, it keeps inference and your data on hardware you control.
Turnkey offline chat: GPT4All If you want private AI without running a server or owning a GPU, GPT4All runs language models directly on a desktop or laptop, with no API calls required. Its LocalDocs feature points the chat at your own files for grounded answers processed locally, and native installers cover Windows, macOS, and Linux.
Vector search for retrieval: Qdrant When you are building retrieval rather than chatting, Qdrant stores and searches embeddings with dense, sparse, and multivector queries, plus JSON payload filtering on text, numeric, geo, and boolean conditions. Written in Rust with REST and gRPC APIs, it runs locally in a container or scales out with sharding and replication.
Finding your layer of the open source AI stack
Treating AI as a single buying decision is the fastest way to waste a week here. It is really several decisions, and the first is which layer you need. Want a private ChatGPT? That is a chat interface, such as Open WebUI, LibreChat, LobeChat, or AnythingLLM, usually paired with a runtime like Ollama that actually loads the model. The desktop apps Jan and GPT4All bundle both together. Building search or retrieval instead? You want a vector database such as Qdrant, Milvus, or Chroma plus an embedding model. Turning documents into text points to OCR tools like PaddleOCR or MinerU, and wiring up agents visually points to Flowise or Dify.
Next, look at how open each option really is, because the label hides a lot. Some tools bundle a model and just work offline, as GPT4All does on a laptop with no GPU. Others, like Open WebUI or LibreChat, are interfaces with no model of their own; they need weights served by Ollama or an external API before they do anything. And a model being downloadable is not the same as it being freely licensed. Several projects here ship under custom terms rather than a standard open source license, sometimes with field-of-use or commercial restrictions, so read the model license separately from the code.
Then price the operational reality against your real workload, not a demo. Local inference is bounded by memory and accelerators: small models run on CPUs or consumer GPUs, larger ones need high-memory hardware, and quantization trades some accuracy for room to fit. If you are grounding answers in private documents, decide between retrieval, which keeps source material in a vector store you can update and audit, and fine-tuning, which changes style and behavior but is harder to correct. Retrieval is usually the safer first step.
Related categories
Frequently asked questions
What is the difference between a local chat app and a model runtime?+
You usually need both. A runtime like Ollama downloads and executes the actual model and exposes an API. A chat app like Open WebUI, LibreChat, or LobeChat is the interface you talk to, adding conversations, document upload, and user accounts on top. Some desktop tools such as GPT4All and Jan bundle the two together, which is why they run with no separate setup.
Do I need a GPU to run these models locally?+
Not always. GPT4All is built to run on ordinary desktops and laptops with no GPU required, and Ollama, through the llama.cpp backend, runs small and mid-size models on CPUs or consumer graphics cards. Larger models need high-memory accelerators. Quantized versions cut the memory required at some cost to quality, so benchmark your real prompts and documents before buying hardware.
When do I need a vector database instead of just an embedding model?+
An embedding model, from a library like Sentence Transformers or served by Text Embeddings Inference, turns text into vectors. A vector database such as Qdrant, Milvus, Chroma, or Weaviate stores those vectors and searches them fast at scale, with metadata filtering and hybrid keyword matching. For a small prototype, Chroma running in memory is enough; for production retrieval over lots of data, a dedicated database earns its place.
Is open source AI the same as open weights?+
No, and the difference matters. A project can open its code while keeping weights closed, publish weights under a restrictive license, or release only an inference wrapper around a model you supply. If you need to run offline or fine-tune, you need the weights and a workable license. Check which artifacts a project actually ships, and read the model license apart from the code license.
Can I reuse my existing OpenAI or Anthropic prompts with these tools?+
Often, yes. Many tools speak the OpenAI API format: Jan exposes an OpenAI-compatible server locally, Ollama offers a REST API, and Open WebUI and LibreChat connect to both local models and OpenAI-compatible endpoints. Expect to adjust, though, since different models tokenize and respond differently, so prompts tuned for one model usually need re-testing against a local one.
How do I let a local model answer from my own documents?+
That is retrieval-augmented generation, and several tools build it in. Open WebUI includes RAG across nine vector databases, AnythingLLM answers with source citations, GPT4All's LocalDocs points chat at your files, and Khoj adds semantic search across PDFs, Markdown, and Notion. The pattern is the same: your documents are embedded and searched locally, and only the relevant passages are fed to the model.
Which of these actually run fully offline?+
The offline-first desktop apps do: GPT4All and Jan keep models and conversations on your machine, and Ollama runs as a local runtime with no external calls. Server tools like AnythingLLM and Open WebUI are also designed to run entirely offline when paired with a local model. Anything that reaches a hosted API, for models or telemetry, is the part to check before assuming privacy.
Do the open source AI licenses here allow commercial use?+
It varies more than in most categories, so check per project. Tools under Apache 2.0 or MIT, like Ollama, AnythingLLM, and Qdrant, are permissive. Others ship under custom terms, such as LobeChat's community license or MinerU's own license, that can add conditions. Read the license covering weights, fine-tuned derivatives, and generated output, not only the source code, before shipping a product.