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 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.