RemyBlog
DeepTutorDeepTutor Ollamalocal AI tutor

How to Install DeepTutor with Ollama as a Local AI Tutor

Learn to install HKUDS DeepTutor in Docker, connect Ollama chat and embedding models, and test its quiz, solve, research and visualize modes.

Portrait of Luis Chavez-Mattos
Edited by Luis Chavez-Mattos, Director, Product··RSS

For Engineering and IT

Tiny figurines are snapping modular blocks onto the pages of a giant open notebook.

How do you install DeepTutor and connect it to Ollama?

Run DeepTutor in Docker with host networking so the container can reach Ollama on your machine. Open the web UI on port 3782, go to Settings, then Providers, and add Ollama with your local URL and no API key. Enable the language and embedding service types, add one tool-capable chat model and one embedding model, test both, and apply. After that, DeepTutor's quiz, solve, research and visualize modes run entirely on your own hardware.

TL;DR

  • DeepTutor is an open source learning workspace from HKUDS that lets you chat, upload documents, generate quizzes, run research and work through problems step by step.
  • The easiest install is Docker with host networking, which lets the container see a local Ollama server.
  • Your chat model must support tool use, so check this before you configure anything.
  • You need two Ollama models: a language model and an embedding model, added separately under Settings.
  • The real value is in the purpose-built modes (quiz, solve, research, visualize, video lessons), not the plain chat box.
  • Reasoning-heavy models respond slowly in these workflows, and the project is still evolving, so expect some rough edges in the UI.

What is DeepTutor?

DeepTutor is an open source project from HKUDS that packages several learning workflows into one interface. You can chat with it, upload your own documents and ask questions about them, generate quizzes, run research, and solve multi-step problems. It also has a reading mode for YouTube videos and a memory you can inspect.

It is not tied to Ollama. It also supports LM Studio, cloud API models and custom endpoints. Ollama is the simplest route if you want a private, offline setup.

What do you need before installing?

Three things: Docker, a running Ollama server, and two pulled models.

The demo that this guide draws on ran on an Ubuntu machine with a single Nvidia RTX card with 48GB of VRAM. The models were a 27 billion parameter Qwen model for language and a Nomic embedding model for embeddings. You do not necessarily need that much hardware. Pick a chat model that fits your GPU or RAM, and keep in mind that larger and reasoning-style models run slower.

The one hard requirement on the language side is tool use. DeepTutor's workflows rely on it, so a model without tool support will not work well. Check what you have installed:

ollama list
ollama show <your-model-name>

Recent Ollama versions list capabilities in the show output, including tools. If your model lacks it, pick another.

For embeddings, pull a dedicated embedding model. The Nomic embedding model is one option:

ollama pull nomic-embed-text

An embedding model converts text into numerical vectors, which is how DeepTutor searches your uploaded documents.

How do you run DeepTutor in Docker?

Docker is the easiest install path. Use the image and run command from the project's repository, and start the container with host networking. Host networking matters here. It lets the container reach Ollama on localhost without extra port mapping or address tweaks.

Once the container is up, check the logs. You should see:

ServiceAddress
Backendlocalhost, port 8001
Frontend (web UI)localhost, port 3782

Open the frontend address in your browser. At this point DeepTutor runs, but no model is attached, so nothing useful will happen until you add a provider.

How do you add Ollama as a provider?

The settings menu sits in the top left corner of the interface and is easy to miss. The walkthrough author called out the navigation as something the project could improve.

  1. Open Settings, then Providers.
  2. Click Add provider. You will see many options across language models, embeddings, voice, search and more, plus a custom API endpoint.
  3. Choose Ollama. It covers both language and embedding service types.
  4. Enter your local Ollama URL. Localhost works. Ollama's default port is 11434. No API key is needed.
  5. Apply changes, then select the language and embedding service types.
  6. Run the provider test. A green result means DeepTutor can see both models.
  7. Apply changes again.

If you later serve models through vLLM or SGLang for production use, the custom endpoint option is the place to connect them.

How do you add the language and embedding models?

Providers and models are separate steps. You can reach each from the left-hand menu, or from the language model entry in settings.

Language model:

  1. Click Add model, pick the Ollama provider, and continue.
  2. DeepTutor retrieves the model list from Ollama. Open the model ID dropdown and choose your chat model.
  3. Apply changes. Use the Test button to confirm the model responds.

Embedding model:

  1. Open Embedding models and click Add model.
  2. Choose the Ollama provider, continue, and select your embedding model.
  3. Test it, then apply changes.

Go back to the main app. Your Ollama model should appear as the active model, and you can switch to any other configured model from the same selector.

Why use DeepTutor instead of a plain chat window?

In plain chat mode, DeepTutor behaves like any other chatbot. Ask it to explain an attention mechanism in three sentences and you get a normal answer. A reasoning-heavy model will think for a while first, so expect a delay.

The difference shows up in the mode menu. Chat is the default. The others are quiz, solve, research, visualize and video lessons. Each one runs a purpose-built workflow instead of a single prompt and response. The model follows both your instruction and the tool's own workflow logic.

How do the learning modes work?

Quiz. Ask for something like five questions of mixed difficulty on a topic. You can adjust the question count and difficulty in a settings panel before sending. DeepTutor generates the questions, lets you answer, checks each answer, and gives an explanation before you move to the next. You can optionally use an AI judge model to double-check answers. Checking is done by the model, so it takes a moment on a slow local setup.

Solve. Use this for problems that need several steps of reasoning. It works through the problem like a tutor, step by step, then gives the answer. The demo used a logic puzzle.

Research. Pick an output type: study notes, a report, a comparison or a learning path. You can also set the depth. Deeper settings use more tokens and more time. Given a question, it first produces a research outline, and you then start the research from there.

Visualize. This turns a prompt into a diagram or interactive page. The render mode defaults to auto, or you can choose a chart, Mermaid or SVG output. The demo produced an animated diagram of the phases of the moon, and you can keep chatting with the result to refine it.

There are further features beyond these four, including voice and a task board with a calendar, which push it toward a full tutor workspace. The demo did not test those in depth.

Is a local DeepTutor setup worth it?

It depends on what you want. If you already run Ollama, setup takes a few minutes, and the privacy benefit is real: your documents and questions stay on your machine. The ready-made workflows save you from building your own prompts and tooling for quizzes, step-by-step solving and research outlines.

The trade-offs are practical. Local reasoning models can be slow inside multi-step workflows. Quality depends entirely on the model you choose. The interface has some awkward spots, and the project is still changing, so details may differ from this walkthrough as new versions ship. You could also build similar behavior with a plain model and your own skills or prompts. DeepTutor's pitch is that it arrives ready to use.

Frequently Asked Questions

5 questions

Does DeepTutor only work with Ollama?

No. It also supports LM Studio, cloud-based API models and custom API endpoints. Ollama is a good fit if you want a fully local, offline-capable setup with no API keys.

Why does my model need tool use support?

DeepTutor's workflows depend on the model calling tools as part of its steps. A model without tool support may fail or behave poorly in modes like quiz and solve. Check the model's capabilities in Ollama before adding it.

Why use host networking in Docker?

Host networking lets the DeepTutor container reach the Ollama server running on your machine through localhost. Without it, you would need to configure container-to-host addressing yourself.

Why is my local tutor slow?

Reasoning-style models think at length before answering, and DeepTutor's workflows add planning and answer-checking steps on top. Try a smaller or less verbose model, and use shallower research settings to cut time and token use.

Do I need an API key for Ollama in DeepTutor?

No. For a local Ollama server you enter the provider URL and leave the API key empty.

How we source, write, and correct our articles. Editorial standards

Related articles

Straight to your inbox.
New pieces as they publish. No noise.