Inspiration

Manually creating diagrams is time-consuming and difficult. We wanted to simplify and automate this process, leveraging AI to combine raw data and intuitive visuals, so generate short summaries of any document and understand it through clear diagrams.

What it does

Knowledge_Viz is an intelligent visualization tool that: Automatically summarizes complex documents or code. Suggests and generates the most suitable diagram type. Produces high-quality and intuitive diagrams. Users can upload files, or paste website URLs to create clear, summaries and visualizations in seconds.

How we built it

Streamlit for the user interface SambaNova Cloud APIs using Meta-Llama-3.1-8B-Instruct to summarize input data. Mermaid.js to generate diverse diagrams, from flowcharts to Gantt charts. LangChain to extract content from URLs and preprocess data.

The LLM agentic process in Knowledge_Viz involves:

Input Analysis: User input (text, document, or code) is processed and summarized to identify key content and intent. The summarization is done recursively using LangSmith and LangGraph. Dynamic Decision: The LLM autonomously selects or uses user-chosen diagram types and generates Mermaid syntax based on input. Visualization: Mermaid code is rendered into a visual diagram and displayed alongside the input summary.

Challenges we ran into

Mermaid Graph Generation: Ensuring compatibility and error-free rendering of Mermaid.js syntax in real-time. Performance Optimization: Fetching large documents and processing them efficiently within user-friendly timeframes.

Accomplishments that we're proud of

Building a seamless pipeline that transforms input into visual knowledge with minimal user intervention.

What we learned

How to integrate multiple technologies (AI, visualization tools, web scraping) into a cohesive solution. Building good workflows to handle various input types efficiently.

What's next for Knowledge_Viz

Better Visuals: Enable users to edit generated diagrams directly within the app. Support for More Formats: Add input options like PDFs, spreadsheets, and databases.

Built With

  • langchain
  • mermaid
  • sambanova
  • streamlit
Share this project:

Updates