AnythingLLM runs locally or as a Docker container, managing the entire RAG pipeline internally. When a user uploads documents (such as PDFs, Markdown files, office documents, or web URLs) into a designated 'Workspace', the platform's built-in parsing engine extracts text, chunks it into context windows, and generates vector embeddings using either a local embedding model or an external API.
The vectors are stored in an embedded vector database (such as LanceDB or Chroma). When a user chats with the workspace, AnythingLLM retrieves the top matching document chunks, combines them with the system prompt, and routes the query to the user's selected LLM. Responses are streamed back into the chat window with interactive source citations. Users can switch between conversation modes ('Chat' for general answers or 'Query' for strict document grounding).