Inspiration

Organizations hold valuable knowledge across PDFs, office documents, emails, images, spreadsheets, and web pages. However, turning these mixed formats into searchable and explainable knowledge usually requires several disconnected tools.

We wanted to build one visual workflow system that could extract, normalize, store, retrieve, and present this information without creating a large, hard-coded pipeline for every use case. The goal was to make each verified workflow reusable as a single Vertex and allow users to generate a new knowledge report by entering only a topic.

What it does

v2v: From Documents to an Interactive Knowledge Graph is a DAG-based AI workflow platform built in Go.

It can:

  • Extract text from PDF, HWP, DOC/DOCX, XLS/XLSX, email, and image inputs
  • Detect embedded images and process multiple images through an OCR loop
  • Combine document text and OCR results while preserving their original positions
  • Apply configurable chunking strategies based on document structure
  • Store and retrieve knowledge using Qdrant and other vector databases
  • Reuse completed workflows through Workflow Reference Vertices
  • Accept a topic dynamically when the user presses the Run button
  • Collect relevant web and document information
  • Discover major topics dynamically instead of using hard-coded categories
  • Generate an interactive radial knowledge graph as a static HTML report
  • Display detailed evidence when users select a graph node
  • Return and automatically download the generated artifact

In our final demonstration, the user enters OpenAI as the topic. v2v collects relevant information, chunks and stores it in Qdrant, retrieves grounded knowledge, discovers related subjects, and generates an interactive report containing areas such as ChatGPT, Codex, models, APIs, and the developer platform.

How we built it

We implemented the core platform in Go and designed every process as a reusable Vertex.

The solution was divided into independent workflows:

  1. Document and message text extraction
  2. Embedded-image OCR processing
  3. Configurable text chunking
  4. Qdrant vector storage
  5. Web and document information collection
  6. Vector knowledge retrieval and analysis
  7. Interactive HTML knowledge graph generation

Completed workflows are exposed through a workflow_ref Vertex. This allows a complex workflow to appear as one reusable block inside another workflow.

The final master workflow is:

Runtime Topic Input
  -> Web and Document Collection Workflow
  -> Chunking and Qdrant Storage Workflow
  -> Dynamic Qdrant Report Workflow
  -> HTML Artifact Output

We used:

  • Go for the workflow engine and Vertex implementations
  • Qdrant as the final vector knowledge store
  • Docker for local vector database environments
  • OCR and document parsing libraries for text extraction
  • Optional LLM-based analysis for topic discovery and summarization
  • HTML, CSS, SVG, and JavaScript for the interactive report
  • Codex with the 5.6 SOL model during development and workflow iteration

The architecture also supports pgvector, Weaviate, Milvus, OpenSearch, Elasticsearch, Chroma, Redis Vector, and Vespa.

Challenges we ran into

One major challenge was handling different document structures consistently. A PDF, spreadsheet, email, and HWP document have very different concepts of pages, sections, tables, images, and reading order.

Embedded images introduced another challenge. Documents can contain multiple images, so we needed a Loop Scope, image masking, OCR processing, and a final combination step that preserved the relationship between document text and image text.

Workflow reuse also required more than simply calling another workflow. Runtime values such as the topic had to propagate through nested payloads, URLs, headers, and downstream Workflow Reference Vertices.

We initially used predefined graph categories, but this produced rigid and shallow reports. We redesigned the process so major graph branches are discovered from retrieved evidence instead of being hard-coded.

Other challenges included:

  • Preventing unrelated knowledge from previous topics from contaminating reports
  • Avoiding unsupported metrics and hallucinated facts
  • Keeping the visual workflow readable as the number of steps increased
  • Returning generated files securely
  • Automatically downloading the final artifact from the v2v interface
  • Producing an interactive report that was more useful than a one-page static PDF

Accomplishments that we're proud of

We are proud that the final master workflow remains short and readable even though it performs collection, extraction, chunking, vector storage, retrieval, analysis, and report generation.

Instead of displaying every internal operation, v2v reuses verified workflows as individual Vertices. This makes the final DAG easier to understand, maintain, test, and extend.

We also successfully implemented:

  • Runtime topic input without hard-coded keywords
  • Text extraction for multiple document and message formats
  • OCR processing for multiple embedded images
  • Optional document-aware chunking strategies
  • Integration with several vector database types
  • Qdrant-based knowledge ingestion and retrieval
  • Dynamic topic discovery from collected evidence
  • An interactive radial knowledge graph with detailed node exploration
  • Automatic HTML artifact generation and download
  • A successful end-to-end OpenAI topic workflow with all five master Vertices completed

What we learned

We learned that workflow composition is more valuable than building one large pipeline. Separating extraction, chunking, storage, retrieval, and reporting makes each capability easier to validate and reuse.

We also learned that text extraction and knowledge generation should remain independent. Many environments can extract and store text without an LLM, while AI analysis can be added only where it provides clear value.

Vector retrieval alone is not enough to create a useful report. The system also needs source grouping, topic discovery, evidence filtering, and a presentation layer that helps users explore relationships.

Finally, static HTML can be a better output format than PDF for knowledge exploration. It can still be exported to PDF, but it also supports clickable nodes, detailed evidence panels, and richer navigation.

What's next for v2v: From Documents to an Interactive Knowledge Graph

Next, we plan to:

  • Add more structured web, API, news, and community data collectors
  • Improve source credibility scoring and duplicate-content detection
  • Add stronger citations and evidence traceability to every graph node
  • Introduce automated evaluation for extraction, retrieval, and report quality
  • Improve topic isolation and collection lifecycle management
  • Support additional embedding and reranking models
  • Add richer graph relationships beyond the current radial structure
  • Provide graph filtering, search, timeline, and comparison views
  • Expand PDF and presentation export options
  • Add collaboration, workflow versioning, and approval features
  • Make it easier to publish generated reports securely
  • Continue improving v2v as a reusable AI workflow platform for local, cloud, and enterprise environments

Built With

  • codex
  • go
  • gpt-5.6
  • mcp
  • openai
  • qdrant
  • rag
  • v2v
Share this project:

Updates