Skip to content
View pntrungbk15's full-sized avatar
💭
I may be slow to respond.
💭
I may be slow to respond.

Block or report pntrungbk15

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
pntrungbk15/README.md
Phạm Ngọc Trung, AI Engineer. LLM, RAG and agentic systems; Document AI and vision-language models; computer vision and industrial AI; desktop AI products built on FluentQt.

I build AI systems end to end: data, models, evaluation, inference, and the software people use them through. For more than five years I have taken computer vision, Document AI and LLM applications from proof of concept to production, and I build independent desktop products on FluentQt, the Python UI framework I created.

  • LLMs, RAG and agents. Agentic RAG, hybrid and graph retrieval, reranking, structured output, and local inference with Ollama, vLLM, SGLang and llama.cpp.
  • Document AI. OCR, extraction with vision-language models, field localisation, validation and human review.
  • Computer vision and industrial AI. Detection, segmentation, tracking and anomaly detection, connected to cameras, PLCs, Modbus, MQTT and edge devices.
  • Application engineering. Python desktop software (PyQt5, FluentQt), FastAPI services, ONNX deployment and standalone builds.

Featured projects

The source of these projects is private. Each card opens a public showcase with documentation and screenshots of the real application.

Veyra: the inspection designer with a vision tool graph on a machined part and a surface-model result

Veyra is a commercial machine-vision and AI inspection platform, developed since 2022. It has 72 vision and AI tools, camera and PLC stations, OK/NG evidence and labelling, and Ultralytics and Anomalib training with parity-checked ONNX exports (55 of 60 models verified end to end on CPU).

FluentQt: gallery pages for dashboard layouts and charts

FluentQt is a Fluent Design UI framework for PyQt5 in Community and Pro editions, maintained since 2022. Community has 177 widgets in 12 families, theming, frameless windows, six languages and SQLite persistence. Pro adds data grids, charts, a node editor and computer-vision UI. The other seven featured applications are built on it.

ComicTranslator: the editor with a Japanese page translated into English

ComicTranslator translates manga and comics locally. It detects bubbles, runs multilingual OCR, translates with a GGUF LLM through llama.cpp, then inpaints and letters each page for review.
Pages shown: Pepper&Carrot episode 3 by David Revoy, CC BY 4.0.

Vietnamese Legal Intelligence: the knowledge graph of a law with its amending, detailing and cited documents

Vietnamese Legal Intelligence is a legal research workstation. It parses 3,765 legal documents into more than 100,000 provisions and stores 120,000 citations in a Neo4j knowledge graph. Hybrid retrieval combines BM25, multilingual E5 and rank fusion. Answers come from a local LLM, and each one is cited, checked against its sources, or declined.

Fluent Data Studio: the Analyze workspace with a generated chart of the top five products by revenue growth, its encodings in the inspector and its rows below

Fluent Data Studio answers plain-language questions about data in a way you can check. It copies files, databases and web APIs into a local DuckDB workspace, splits a request into requirements and runs each as a validated plan of typed operations, so every result shows what it answers and the SQL behind it. Charts stay editable, and kept results go onto a report.

AI Annotation Workbench: YOLOX-S detection proposals on a street photo, waiting for review, with their provenance in the inspector

AI Annotation Workbench labels images and video for computer vision: boxes, rotated boxes, polygons, keypoints and tags. 16 local ONNX models across 11 task families propose annotations on a laptop CPU, and nothing is exported until a person accepts it. It evaluates models with each task's metric and exports YOLO, COCO, DOTA, MOT and PaddleOCR.

ChessForge: six 3D chess boards with different frames, materials and sculpted piece sets

ChessForge is a 3D chess game and chess workstation. Its own OpenGL renderer draws five original sculpted piece sets, six boards and five arenas that differ in shape, not just colour, with original sound and music, a twelve-mission campaign, a cosmetic collection and a camera that glides between two players on one computer. It also reviews games with Stockfish, trains with puzzles and opening drills, and keeps a game library; its AI Lab sets up a private PyTorch runtime from one button (processor or NVIDIA GPU), trains a policy/value network in a separate process, runs MCTS self-play and lets you play against your own models.

Audio Story: the Script page with scenes and their audio state, the script with speakers and delivery notes, the line inspector and the scene's waveform

Audio Story produces narrated audio stories, Vietnamese first. The author plans, casts and writes with an OpenAI-compatible LLM whose proposals they accept or reject; local text-to-speech (VieNeu-TTS, Piper) voices each line, and episodes are mixed to BS.1770 loudness and exported as a package ready for YouTube.

Applied AI from industry work

Independent re-implementations of systems I built professionally. They use synthetic data only and contain no production code or customer data.

DocFlow IDP: the extraction workspace with a bill of lading, every extracted value outlined on the page and listed with its confidence, page and box

DocFlow IDP turns a mixed PDF packet of shipping documents into validated structured data. It classifies and segments the pages, extracts schema fields, locates each value with a separate bounding-box pass, checks business rules (totals, dates, ISO 6346 container check digits) and routes doubtful values to a human review queue with an audit trail. Every model call goes through one backend contract, so an offline baseline and VLM backends are interchangeable.

T-Shirt Quality Inspection: the inspection page with the pipeline stage strip, an annotated T-shirt and the results panel with seven checks

T-Shirt Quality Inspection checks a printed T-shirt from one top-down photograph: QR job identification, millimetre calibration, garment segmentation and landmarks, size measurement, print alignment to the artwork, and SSIM and ΔE difference analysis. Seven checks decide PASS or FAIL, and each one states its value, limit and reason. The re-implementation uses deterministic, weight-free computer vision on synthetic photographs and is built with FluentQt.

Date Code Inspector: a carton's dot-matrix date code read character by character, with the extracted MFG and EXP dates, the validation checklist and a GOOD verdict

Date Code Inspector reads the production and expiry dates printed on cartons, bottles, pouches and cans, character by character, then validates them against the product's rules and decides GOOD or NG with the failed rule named. On its synthetic demo set, 22 of 22 verdicts match the ground truth and 597 of 600 characters are read correctly. Built with FluentQt.

More re-implementations

Project What it does
SNY Septa Line Inspection Surface inspection of a coated technical knit with seven cameras
Betty An agentic RAG assistant that turns a conversation and a screenshot into a structured, estimated work ticket
ScanDoc AI Document AI for scanned logistics documents: 88.9 % field accuracy on held-out synthetic scans
WebIntel Logistics Web crawling with layered structured extraction: 97.5 % field accuracy on held-out synthetic sites

Research implementations. Results and write-ups of detection models I implemented: YOLO (v1 to v11 and YOLOX), RYOLO (oriented detection), YOLO-Seg (instance segmentation), EAST and CRAFT (scene-text detection).

Stack

LLM, VLM and RAG: Gemini, Vertex AI, Ollama, vLLM, SGLang, llama.cpp, LoRA/QLoRA, pgvector, Neo4j. ML and vision: PyTorch, TensorFlow, ONNX Runtime, OpenCV, Ultralytics, Anomalib. Software: Python, C#, SQL, TypeScript, FastAPI, Flask, Django, PyQt5, PySide6, FluentQt, Next.js. Industrial and edge: PLC integration, OPC UA, Modbus RTU/TCP, MQTT, ESP32, STM32, NVIDIA Jetson. Data: PostgreSQL, SQLite, DuckDB, MongoDB, MinIO.

Background

M.Sc. and B.Eng. in Electrical and Electronics Engineering (Automation), Ho Chi Minh City University of Technology.

Phạm Ngọc Trung, AI Engineer

pntrungbk15@gmail.com · Ho Chi Minh City, Vietnam

Pinned Loading

  1. betty-ai betty-ai Public

    Betty: an LLM assistant that turns a conversation and a screenshot into a structured, estimated work ticket (FastAPI + web UI).

  2. docflow-idp docflow-idp Public

    DocFlow IDP: shipping-document PDFs to validated structured data with a human-in-the-loop review workspace.

  3. mfg-exp-reading mfg-exp-reading Public

    Date Code Inspector: reads printed production and expiry dates on packaging with OCR and validation. Built with FluentQt.

  4. sny-septa-line-inspection sny-septa-line-inspection Public

    SNY Septa Line Inspection: seven-camera surface inspection for a coated technical knit. Built with FluentQt.

  5. tshirt-quality-in tshirt-quality-in Public

    T-shirt Quality Inspection: checks a printed T-shirt from one top-down photo (QR job, measurement, print alignment). Built with FluentQt.

  6. scandoc-ai scandoc-ai Public

    Document AI for scanned logistics documents: enhancement, OCR, extraction, validation and localisation. Portfolio docs; benchmark on held-out synthetic scans.