• (all) Multiple breaking changes - proceed with caution
  • (instructor) the Instructor class is being replaced with StructuredOutput class; the old class will be kept for some time to allow for a smooth transition.
  • (all) Common conventions for working with StructuredOutput, Inference, and Embeddings classes
  • (examples) All examples have been updated to use the new StructuredOutput class and recommended create(), generate() methods
  • (docs) Updated documentation to reflect the new StructuredOutput class and its usage
  • (instructor) Extracted structured output config into a separate file config/structured.php (and removed from config/llm.php)
  • (instructor) Added structured output config object
  • (instructor) Cleaned up ChatTemplate class
  • (instructor) Response and response streams are now cached after the first call, so multiple calls to StructuredOutputResponse::response() or StructuredOutputResponse::stream() do not cause re-processing (deserialization, validation, transformation) of the response value
  • (instructor) StructuredOutput class offers fluent API for creating structured output requests
  • (instructor) StructuredOutputResponse now offers getXxx() methods for getting the response value as a specific type (e.g. getString(), getInt(), getFloat(), getBool(), getArray(), getObject())
  • (instructor) Removed input argument from StructuredOutput methods and StructuredOutputRequest class - use messages instead - (examples) Added StructuredOutput fluent API example
  • (polyglot) Added fluent API calls to Inference class
  • (polyglot) Added fluent API calls to Embeddings class
  • (polyglot) Corrections in inference drivers, fixed defects in JSON/JSON Schema modes
  • (polyglot) Fixed error in selection of embeddings driver
  • (polyglot) Added withDebug() support to Embeddings class
  • (polyglot) Added experimental support for HuggingFace inference API
  • (all) Multiple changes, improvements and refactorings in the codebase
  • (all) Updated docs and examples to reflect the latest changes