Documentation

Dependencies

The Personal (self-hosted) edition requires two external services. Vector search is handled inside A1KnowHow—no separate vector database to install.

Overview

You need:

  1. Docling-serve — Content extraction for uploaded documents
  2. Ollama — Local LLM and embedding models

Vector search uses sqlite-vec, stored in the same SQLite database as PocketBase (pb_data/data.db). Configure vector.type: sqlite-vec in config.yaml (the default). No extra container or service is required.

Docling-serve

Docling-serve handles content extraction and chunking from various document formats (PDF, DOC, etc.).

Installation

Using Docker

docker run -p 5001:5001 -e DOCLING_SERVE_ENABLE_UI=1 quay.io/docling-project/docling-serve

Manual Installation

  1. Install Python 3.12+
  2. Install Docling: pip install "docling-serve[ui]"
  3. Run the server: docling-serve --port 5001 (or another port; set importer.url to match)

Read more about Docling-serve in the Docling-serve documentation.

Configuration

  • Default port in example.config.yaml: 5001
  • URL: Configure in A1KnowHow as http://localhost:5001 (must match the port Docling-serve listens on)
  • Docker Compose sample: Docling-serve on port 8000 — use http://docling:8000 in importer.url

Verification

Test Docling-serve is running (replace the port if you use something other than 5001):

curl http://localhost:5001/

Ollama

Ollama provides local LLM and embedding models for A1KnowHow.

Installation

macOS

brew install ollama

Linux

curl -fsSL https://ollama.com/install.sh | sh

Windows

Download from https://ollama.com/download

Starting Ollama

ollama serve

Required Models

A1KnowHow requires two models from Ollama:

1. Qwen3.5 (Chat Model)

ollama pull qwen3.5

This model is used for:

  • Chat conversations with documents
  • AI agent responses
  • Document editing assistance

2. EmbeddingGemma (Embedding Model)

ollama pull embeddinggemma

This model is used for:

  • Creating vector embeddings for documents
  • Semantic search functionality
  • Document similarity matching

LLM Models

You can pull and change the model in the `config.yaml` file. Any model that can run locally and supports `tools` are good for Chat models. For chat title generation, it is recommended to use a smaller model.

Configuration

  • Default Port: 11434
  • URL: Configure in A1KnowHow as http://localhost:11434

Verification

Test Ollama is running:

curl http://localhost:11434/api/tags

Verify models are installed:

ollama list

You should see both qwen3.5 and embeddinggemma in the list.

Version Requirements

  • Docling-serve: Latest version recommended
  • Ollama: Version 0.1.0 or later

Service URLs Summary

Configure these URLs in config.yaml (see Configuration):

  • Docling-serve: http://localhost:5001 (native; Docker Compose sample uses http://docling:8000)
  • Ollama: http://localhost:11434

Vector storage (vector.type: sqlite-vec) needs no URL—embeddings live in pb_data/data.db.

Next Steps

Once all dependencies are installed and running:

  1. Configure Configuration in A1KnowHow
  2. Follow the Docker Setup guide if using Docker
  3. Start A1KnowHow and verify all services are connected

Troubleshooting

Docling-serve Issues

  • Check Python version (3.8+ required)
  • Verify the port in importer.url is not in use and matches Docling-serve
  • Start Docling-serve before pocketrag serve; startup fails if the importer URL is unreachable
  • Check service logs for errors

Ollama Model Issues

  • Verify models are downloaded: ollama list
  • Re-download if needed: ollama pull <model-name>
  • Check available disk space for models