New Release: Ultralytics v8.4.118

:rocket: Ultralytics v8.4.118 is Here!

Ultralytics v8.4.118 introduces a standalone OpenAI-compatible LLM interface alongside Ultralytics YOLO, improves OBB training and CopyPaste performance, strengthens YOLOE validation, and delivers broad training, dataset, inference, and documentation fixes.

Explore the complete Ultralytics v8.4.118 release for all details.

:robot: New Standalone LLM Interface

The new LLM class provides a unified entry point for text and image-based requests to OpenAI-compatible language models:

from ultralytics import LLM

Key capabilities include:

  • OpenAI Responses and Chat Completions APIs
  • Synchronous and asynchronous requests
  • Local paths, URLs, data URLs, NumPy arrays, and PIL images
  • Reusable prompts, request overrides, and conversation state
  • API keys and OpenAI-compatible service endpoints
  • Independence from Ultralytics Platform and workflow-runtime components

This interface uses the optional openai dependency and was introduced in PR #25761 by @glenn-jocher. :brain:

:triangular_ruler: Better OBB Training

Mosaic, CutMix, and RandomPerspective augmentations now preserve oriented bounding-box angles when objects are clipped at image boundaries.

This prevents cropped objects from receiving incorrect rotation targets and should improve training consistency for rotated-object datasets. See PR #25723 by @Nikhi00718.

:high_voltage: Faster Augmentation

CopyPaste now batches instance concatenation rather than repeatedly copying increasingly large arrays. This avoids O(n²) growth and reduces overhead on images containing many objects.

The optimization comes from PR #25732 by @JESUSROYETH.

:brain: More Reliable YOLOE Workflows

YOLOE receives several validation and state-management improvements:

  • Visual prompts are validated before model state changes.
  • Flat prompts are supported for compatible batched image sources.
  • Invalid string labels and short or mismatched vocabularies fail earlier.
  • Gradient settings are preserved when converting convolution layers to linear layers.

These updates are covered by PR #25744 by @raimbekovm and PR #25747 by @raimbekovm.

:person_lifting_weights: Training and Inference Improvements

This release makes repeated and advanced workflows more predictable:

:card_index_dividers: Dataset and Prediction Fixes

Dataset handling is now broader and produces clearer errors:

  • Classification auto-splitting recognizes all supported formats, including JPEG, BMP, WebP, TIFF, AVIF, HEIC, and uppercase extensions.
  • Missing classification images raise a clear FileNotFoundError.
  • Original filenames survive EXIF correction.
  • Malformed grounding segmentation labels retain bounding-box fallbacks.
  • Export data defaults are standardized.

The corresponding changes are available in:

:books: Documentation, Testing, and Deployment

Documentation workflows and deployment guidance also receive several updates:

:raising_hands: New Contributor

A warm welcome to @doublecurry, who made their first contribution in PR #25749! :tada:

:package: Try v8.4.118

Upgrade to the latest release with:

pip install -U ultralytics

Please try the new LLM interface, OBB augmentation improvements, and workflow fixes, then share your feedback and any issues you encounter. You can review every commit in the full v8.4.117 to v8.4.118 changelog.

Thank you to the Ultralytics team and the wider YOLO community for continuing to test, improve, and contribute! :rocket: