Skip to content

Release v0.10.0

Latest

Choose a tag to compare

@RLKRo RLKRo released this 18 Feb 10:31
cdfae50

Changelog

Breaking Changes

  • Dropped support for python 3.8; added support for python 3.12 (#400);
  • Reworked DB architecture to support partials turn reads/writes (#93).
    Old Context storages are incompatible with the new ones.
    See tutorial Context Storages: 8 for more info;
  • Context.labels, Context.requests, Context.responses are now only
    lazily loaded (#93).
    Items from older turns can be loaded on demand.
    Their __getitem__ and get methods are now async.

Features

  • Added LLMResponse and LLMCondition classes that allow using LLMs
    (#376).
    See the new LLM Integration tutorials and LLM user guide for more info;
  • Added option to extract group slots partially (#394).
    See tutorial Slots: 2 for more information;
  • Message.original_message is replaced with Message.origin which
    stores both
    the original message and the interface from which the message originated
    (#398);
  • Added Context.current_turn_id field which stores the number of the
    current turn (#93);
  • Added Context.created_at, Context.updated_at timestamp fields
    (#93);
  • Added Context.turns property which allows iterating over
    requests/labels/responses by their turn ids (#93);
  • Context.labels, Context.requests, Context.responses now support
    slicing (#93).
    __getitem__, __setitem__ and __delitem__ methods can now accept
    slices of turn ids in addition to single turn id.
    get method can now accepts iterable of turn ids in addition to single
    turn id.

Documentation

  • Documentation is now versioned (#346, #409).
    You can select preferred version via the drop-down menu in the top-right
    corner.

Developer changes

  • Context now has field origin_interface to store name of the
    interface that created it (#398);
  • Added script docs_no_docker for building documentation without
    docker (ef11ff9);
  • Added in-RAM context storage to be the default one instead of a plain
    dict (#93);
  • Removed methods Context.add_request, Context.add_label and
    Context.add_response (#93).
    Use setters with Context.current_turn_id instead.