The Wikantik project utilizes a specialized suite of Python-based GenAI tools to automate article drafting, knowledge graph extraction, and cross-reference linking. These tools are designed to run locally, prioritizing privacy and data sovereignty by leveraging Ollama for LLM inference.
The toolset is organized as a modular Python package (genaitools), designed for extensibility and high-throughput batch processing.
LLMClient (Abstraction Layer): A unified interface that routes requests to either a local Ollama instance or an OpenAI-compatible API (e.g., vLLM or OpenWebUI).OllamaClient (Native Implementation): Communicates with the Ollama /api/generate and /api/embeddings endpoints. It includes automatic word counting and token budget management to prevent context window overflows.StructuralSpinePageFilter: A specialized utility that ensures all generated Markdown files adhere to the Wikantik "Structural Spine" (mandatory YAML frontmatter, canonical IDs, and valid relative links).To maximize GPU utilization, tools like link_builder.py and batch_builder.py utilize asynchronous execution patterns. While LLM generation is often sequential per topic, the Embedding generation and Web fetching phases are fully concurrent, significantly reducing the bottleneck of RAG (Retrieval-Augmented Generation) operations.
The most advanced feature of the toolset is the Deep Research pipeline, which transforms raw web search results into high-signal LLM context.
BeautifulSoup or Trafilatura to remove:
The link_builder.py tool uses this same extraction pipeline to create an internal knowledge web. It computes cosine similarity between the embeddings of the current article and the existing wiki corpus, automatically inserting [Relative Links](PageName) for highly correlated concepts.
The tools are optimized for local execution on commodity GPU hardware (16GB+ VRAM recommended).
qwen3:14b or qwen3:32b for superior reasoning and adherence to complex Markdown schemas.nomic-embed-text (768 dimensions) for efficient semantic search.num_gpu: Controlled offloading of model layers to the GPU.num_ctx: Dynamic context window adjustment (typically 16k or 32k) to balance memory usage with document length.think blocks: Supports Chain-of-Thought (CoT) models, allowing the tool to "reason" through a document outline before generating the actual prose.The tools are invoked via a CLI interface:
# Generate a high-quality article with deep research
python simple_publisher.py -t "Topic" --deep-research -o Topic.md
# Build a massive tutorial from a YAML outline
python document_builder.py -i outline.yaml -o Tutorial.md --smooth
# Run a semantic linking pass across the whole wiki
python link_builder.py --dir ./docs/wikantik-pages --similarity 0.7
By combining a clean Python architecture with the local power of Ollama and a robust content extraction pipeline, Wikantik maintains a high bar for "Human-Vetted" quality while scaling content production to match the needs of a modern knowledge base.