Skip to content

Releases: jasonacox/TinyLLM

v0.16.4 - Document Generation

21 Sep 07:53
453c76d

Choose a tag to compare

What's Changed

  • Chatbot - Document Generation: End-to-end document creation (PDF, DOCX, XLSX, PPTX) with download links by @jasonacox in #31

Included Features:

  • Security - Download Route Hardening: The /download/{filename} endpoint now validates filenames to prevent path traversal.
    • Sanitizes input using os.path.basename() and rejects empty/./.. values.
    • Enforces allowed extensions: .pdf, .docx, .pptx, .xlsx.
    • Resolves real paths and ensures they stay within the generated_docs directory.
    • Returns 400 for invalid filenames and 404 for missing files.
  • Markdown Rendering:
    • PDF: Lightweight Markdown renderer (headings, bold/italic, bullet and numbered lists, Markdown tables).
      • Supports internal links: headings emit anchors, and [text](#anchor) links navigate within the PDF.
      • Fenced code blocks now render as shaded, monospaced sections with a small header (e.g., "Code (python)") instead of literal Markdown fences.
      • Fenced code blocks now render as shaded, monospaced sections with a small header (e.g., "Code (python)") instead of literal Markdown fences.
    • DOCX: Render a useful subset of Markdown (headings #..######, bullet/numbered lists, Markdown tables, inline bold/italic). Preserves table column structure and empty cells. Lists use built-in Word list styles.
    • XLSX: Spreadsheet-friendly Markdown rendering:
      • Headings styled and merged across columns for readability.
      • Bullet/numbered list items now in a single cell (e.g., • Item text, 1. Item text) with wrapping.
      • Tables with styled header row, borders, and wrapping; preserves empty cells to maintain column alignment.
      • Fenced code blocks (...) render as monospaced, shaded cells with wrapping.
      • Entire-line links [text](url) become clickable hyperlinks.
    • PPTX: Presentation-friendly behavior:
      • Added a PowerPoint-specific LLM prompt that requests a Markdown outline with # Presentation: and ## Slide N: sections, bullets, and tables.
      • Parser normalizes titles by stripping Presentation: and Slide N: prefixes so slides have clean titles.
      • Disabled native PowerPoint bullet styling on paragraphs to prevent double bullets when using manual prefixes; list items now render with a single bullet or number consistently.
  • Format Handling & UI:
    • Format aliases normalized (e.g., word|doc|docx -> docx, excel|spreadsheet|xlsx -> xlsx, powerpoint|ppt|pptx -> pptx).
    • /stats page lists supported document types and aliases.
  • Privacy & Reliability:
    • Generated filenames use UUID-based opaque IDs (no session identifiers).
    • Fixed route mounting order so Socket.IO is mounted last, preventing route interception of downloads.
    • Excel generator stability fixes (prevent infinite loops and Excel row overflow in extreme cases).

Example Usage

Write an algorithm in python to sort a list of number. Create a PDF to describe how it works.

Full Changelog: v0.16.3...v0.16.4

v0.16.3 - OpenAI Image Generation Support

03 Aug 07:18
15e3fa7

Choose a tag to compare

What's Changed

  • OpenAI Image Generation Support by @jasonacox in #30
  • Added OpenAI DALL-E image generation support with dedicated environment variables.
  • Added separate configuration for OpenAI image generation: OPENAI_IMAGE_API_KEY, OPENAI_IMAGE_API_BASE, OPENAI_IMAGE_MODEL, and OPENAI_IMAGE_SIZE.
  • Fixed "/image route not enabled" error by separating OpenAI image settings from LiteLLM proxy configuration.
  • Improved image generation route handling with automatic format detection for different providers (SwarmUI/OpenAI).
  • Container: jasonacox/chatbot:0.16.3

Full Changelog: v0.16.2...v0.16.3

v0.16.2 - Repetition Filter

25 Jun 06:36
ef14821

Choose a tag to compare

What's Changed

  • Add repetition filter settings and update version to 0.16.2 by @jasonacox in #29

0.16.2 - Repetition Filter Settings

  • Added environment variables for repetition filter: REPEAT_WINDOW and REPEAT_COUNT.
  • These control the window size and repeat count for the LLM output repetition filter. Users can now adjust these via environment variables to fine-tune anti-repetition behavior.
  • MovieBot: Improved get_movies_released_today() to return a RAG-ready context string, listing only movies with popularity over 10, and including title, year, rated, genre, and popularity.
  • MovieBot: Refactored and optimized code for genre/holiday logic, prompt formatting, and error handling.
  • MovieBot: Fixed bug with TypeError in holiday detection and improved SearxNG integration for internet movie searches.
  • Documentation: Updated Chatbot and Document Manager environment variable sections in the README to use consistent tables.
  • Documentation: Improved clarity, formatting, and consistency in README and environment variable documentation.

Full Changelog: v0.16.1...v0.16.2

v0.16.1 - Image Generation Settings

11 May 21:09
c36f5c4

Choose a tag to compare

What's Changed

  • Update configuration for image generation settings by @jasonacox in #28

  • Added environment variables for image generation settings: IMAGE_MODEL, IMAGE_CFGSCALE, IMAGE_STEPS, IMAGE_SEED, IMAGE_TIMEOUT, IMAGE_WIDTH, and IMAGE_HEIGHT.

  • Some suggestions based on models (see https://github.com/mcmonkeyprojects/SwarmUI/blob/master/docs/Model%20Support.md for more):

    • OfficialStableDiffusion/sd_xl_base_1.0 - use IMAGE_CFGSCALE=20 and IMAGE_STEPS=20
    • Flux/flux1-schnell-fp8 - use IMAGE_CFGSCALE=1 and IMAGE_STEPS=4
    • Flux/flux1-dev-fp8 - use IMAGE_CFGSCALE=1 and IMAGE_STEPS=20

Full Changelog: v0.16.0...v0.16.1

v0.16.0 - Image Generation

21 Apr 06:02
f68f8fd

Choose a tag to compare

What's Changed

  • Improve README.md: Add table of contents and fix typos by @bscott in #24
  • Major Refactor of Chabot - v0.16.0 by @jasonacox in #27
  • Refactor - To improve maintainability and prepare for future expansions, the chatbot code has been modularized.
  • Image Generation - The chatbot now uses the SwarmUI APIs to generate images. Users can request image generation using the explicit /image {prompt} command or indirectly by using the intent router. Intent router will allow fo user dialogue to adjust the image via prompt updates. Research and details here: #26
  • Upgrade note: This is a major version upgrade. You will need to reset your prompts for the image intent to work correctly.

New Contributors

Full Changelog: v0.15.24...v0.16.0

v0.15.24 - Intent Improvements

29 Mar 22:38

Choose a tag to compare

What's Changed - Chatbot

  • Improve the conversation context for intent routing.
  • Fix intent router to work with multi-modal (image) context. Updated internet search RAG to better handle conversation thread context answering.
  • Container: jasonacox/chatbot:0.15.24

Full Changelog: v0.15.22...v0.15.24

v0.15.22 - Intent Router

28 Mar 04:04
6d2e5bd

Choose a tag to compare

What's Changed

  • Add intent router functionality to chatbot by @jasonacox in #22
  • Chatbot - The chatbot now has simple heuristics (based on LLM queries) to determine the users intent and to route to the built-in functions to ground the response. This includes internet search functions /news, /stock, /weather and /search.
  • To activate set environmental variable INTENT_ROUTER=true or use the prompt command /intent on.
image

Full Changelog: v0.15.21...v0.15.22

v0.15.21

22 Mar 18:46
2f02195

Choose a tag to compare

What's Changed

  • Chatbot - The /search command has been added to allow the chatbot to search the internet to help answer your prompt. By default, the first 5 most relevant internet search results are added to the context #21 by @jasonacox

Usage: /search {opt:number} {query}

image

Full Changelog: v0.15.20...v0.15.21

v0.15.20 - Chatbot Model

01 Mar 17:08
a875d0b

Choose a tag to compare

What's Changed

  • Enhance model selection persistence in chatbot by @jasonacox in #20
  • Model selection behavior improved. Session will persist with selected model in that session even when refreshed. Last model selection will be remembered and auto-selected for any new sessions but will not impact existing sessions.

Full Changelog: v0.15.19...v0.15.20

v0.15.19 - Chatbot Docs

25 Feb 05:00
0e91462

Choose a tag to compare

What's Changed

  • v0.15.19 Chatbot Docs by @jasonacox in #19
  • Update URL reader to display reading status to user while processing document.

Full Changelog: v0.15.18...v0.15.19