Guide · Universal parser
Analyze any AI export — Llama, Qwen & beyond
Not every assistant ships a conversations.json. Local and open-weights models — Meta Llama, Alibaba Qwen, and the many tools built around them — store chats as simple role-based JSON or JSONL. AI Data Inspector reads that shape directly.
What the universal parser understands
- Message arrays — { messages: [{ role, content }, …] }, as produced by Ollama, Open WebUI, LLaMA-Factory and countless model runners.
- Bare-message JSON/JSONL — one { role, content } object per line. Consecutive lines are grouped into one conversation per file.
- ShareGPT style — { from: "human" | "gpt", value: "…" }, the interchange format used across open datasets.
- Nested parts — { role, parts: [{ text }] }, the Gemini-style message shape, works too.
Where the files come from
- Ollama — export your chat via the API or model logs; the messages structure drops straight into the analyzer.
- Open WebUI — chat export JSONL is role-based; the analyzer groups it into conversations.
- ShareGPT / open datasets — load the JSONL and each from/value turn is mapped to a user or assistant message.
- Anything similar — if it's role + text in JSON or JSONL, the universal parser has a strong chance of reading it. If something is missed, tell us and we'll add a pattern.
Try it
Drag a JSON or JSONL file straight onto the analyzer — no setup, no conversion, no upload. Conversations will be tagged as Llama, Qwen, or Other AI based on the model strings they contain.
Questions
What does the universal parser accept?
Any JSON or JSONL with role-based messages: arrays of {role, content}, {role, parts}, ShareGPT {from, value} lines, Ollama/Open WebUI exports and similar structures.
How does it tell Llama from Qwen or other models?
It reads the model string attached to assistant messages. If the name contains llama or qwen, the conversation is tagged accordingly; otherwise it lands in "Other AI".
Will it misread random JSON?
It only interprets objects that look like messages — role + content/value/text. Unrelated JSON is skipped, not mangled.
Is analyzing local-model logs private?
Completely. Parsing, scanning and search all run in your browser on your machine.