ieee-agentic-formatter

agent
Security Audit
Warn
Health Warn
  • No license — Repository has no license file
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Low visibility — Only 5 GitHub stars
Code Pass
  • Code scan — Scanned 6 files during light audit, no dangerous patterns found
Permissions Pass
  • Permissions — No dangerous permissions requested

No AI report is available for this listing yet.

SUMMARY

Agentic AI tool: transforms raw text/notes into a strictly compliant IEEE Conference Paper (.docx) using Claude AI and python-docx

README.md
IEEE Agentic Formatter logo

IEEE Agentic Formatter

Transform raw research notes, drafts, or Markdown into a strictly compliant,
two-column IEEE Conference Paper (.docx) — in seconds.

Version
Python
Ollama
Claude
License
Pages

Live Site  | 
Quick Start  | 
Local Mode  | 
Architecture  | 
IEEE Spec


What it does

One pipeline — from unstructured text to publication-ready IEEE paper:

  1. Paste raw notes, a rough draft, or bullet points — or upload a .txt, .md, or .docx file
  2. AI parses the content (local Ollama or Anthropic cloud) and extracts the full paper structure
  3. python-docx + OOXML renders a pixel-perfect IEEE two-column layout
  4. Download the .docx instantly from the browser

No API key required. Run fully offline with a local Ollama model.


Quick Start

# 1. Clone
git clone https://github.com/sunilgentyala/ieee-agentic-formatter.git
cd ieee-agentic-formatter

# 2. Install
pip install -r requirements.txt

# 3. Run  (no API key needed — uses local Ollama by default)
streamlit run app.py

Open http://localhost:8501, select Local (Ollama) in the sidebar, paste or upload your content, and click Generate IEEE Paper.


Local Mode (No API Key)

The app defaults to Local (Ollama) — zero cost, fully offline, no account needed.

Prerequisites

Install Ollama and pull a model:

ollama pull qwen2.5:7b    # recommended — best structured JSON output
# or
ollama pull llama3        # alternative

Sidebar options

Setting Default Notes
Backend Local (Ollama) Switch to Anthropic API for cloud
Local Model qwen2.5:7b Also supports llama3, mistral
Ollama URL http://localhost:11434 Change if Ollama runs on another port

How it works

parse_raw_text_local() sends the raw content to Ollama's OpenAI-compatible endpoint (/v1/chat/completions) with a strict JSON-schema system prompt. The response is parsed, validated by Pydantic v2, and fed directly into the python-docx formatter.


Cloud Mode (Anthropic API)

Switch the sidebar to Anthropic API for claude-opus-4-8 with adaptive thinking and forced tool use — highest quality output for complex or ambiguous inputs.

echo "ANTHROPIC_API_KEY=sk-ant-..." > .env
streamlit run app.py

Or enter the key directly in the sidebar at runtime.


Architecture

ieee-agentic-formatter/
├── agent/
│   ├── models.py        # Pydantic v2: IEEEPaper, Author, Section
│   └── text_parser.py   # parse_raw_text() — Anthropic
│                        # parse_raw_text_local() — Ollama
├── formatter/
│   └── docx_engine.py   # python-docx + OOXML IEEE layout engine
├── docs/
│   ├── index.html       # GitHub Pages site
│   ├── favicon.svg      # Address-bar logo
│   └── og-image.svg     # Social preview banner
├── app.py               # Streamlit UI (backend selector)
└── requirements.txt
Module Responsibility
agent/models.py Pydantic v2 schema — IEEEPaper, Author, Section
agent/text_parser.py Anthropic: streaming + tool_choice forced to structure_ieee_paper. Local: Ollama OpenAI-compat endpoint + JSON-mode prompting
formatter/docx_engine.py python-docx + OxmlElement injection for w:mirrorMargins, two-column w:cols, exact-leading paragraphs
app.py Streamlit: backend radio, model selector, text paste / file upload, live preview, download

IEEE Formatting Spec

Property Value
Page size Letter (8.5 x 11 in)
Margins 1 in all sides, mirrored (odd/even pages)
Title Times New Roman 24 pt, centered
Author block 10 pt name / 10 pt italic affiliation / 9 pt email
Abstract 9 pt bold-italic label (Abstract—) + 9 pt italic body
Keywords 9 pt bold-italic label (Index Terms—) + 9 pt italic body
Body columns 2 equal columns, 0.32 in gap, continuous section break
Body text Times New Roman 10 pt, justified, 0.15 in first-line indent, 12 pt exact leading
Section headings Level 1: I. INTRODUCTION centered bold; Level 2: A. Background left italic
References 8 pt Times New Roman, hanging indent, IEEE bracket style

Stack

Layer Technology
Local LLM Ollama (qwen2.5:7b, llama3, mistral) via OpenAI-compatible API
Cloud LLM claude-opus-4-8 with adaptive thinking + tool_choice
Structured output Pydantic v2 + JSON-mode prompting / Anthropic tool use
Document generation python-docx 1.1+ with raw OOXML injection
UI Streamlit 1.40+
Config python-dotenv

Releases

v1.1.0 — Local Ollama Backend (2026-06-26)

  • Local mode: run fully offline via Ollama — no API key required
  • parse_raw_text_local(): OpenAI-compatible Ollama endpoint + JSON-schema prompting
  • Streamlit sidebar: backend radio (Local / Anthropic), model selector, Ollama URL
  • Tested with qwen2.5:7b and llama3 on multi-section research drafts
  • openai>=1.0.0 added to requirements for Ollama client

v1.0.0 — Initial Release (2026-06-26)

  • Agentic parsing pipeline: Claude claude-opus-4-8 + forced tool_use + Pydantic v2 validation
  • Strict IEEE two-column .docx output via python-docx and OOXML
  • Multi-format input: plain text, .txt, .md, .docx upload
  • Streamlit UI with live structure preview and one-click download
  • GitHub Pages site with SVG favicon and social preview banner

Author

Sunil Gentyala

AI/ML Researcher  |  IEEE Member  |  HCLTech (HCL America Inc.)

Independent researcher specialising in agentic AI systems, multi-agent security frameworks,
federated learning, and quantum-safe protocols — with 8+ accepted IEEE publications.

IEEE
GitHub
LinkedIn


Contributors

Sunil Gentyala
Sunil Gentyala

Creator & Maintainer

License

MIT © 2026 Sunil Gentyala

Reviews (0)

No results found