Releases: cognesy/instructor-php
Releases · cognesy/instructor-php
v1.0-rc4
- (dependencies) Corrected schema-v6 version
v1.0-rc3
- (bin) Initial version of local split-packages.sh
v1.0-rc2
- (polyglot) Cleaned up the code and interfaces - split responsibilities between inference vs HTTP layers
- (polyglot) Heavily refactored API to improve integration with HTTP layer
- (instructor) Object hydration via constructor parameters with support for parameter nullability and default values.
- (instructor) Object hydration via getters and setters (recognizes nullable parameters and default values).
- (instructor) Replaced deprecated PropertyInfo Type class with TypeInfo one.
- (instructor) Support for mixed property type.
- (schema) Introduced 2 versions of the schema package - Symfony 7 (default) and Symfony 6 (compatibility).
- (inference) Added
withHttpClientPreset()
toInference
andStructuredOutput
facades - (http) Configurable stream chunk size to optimize performance
- (http) Replaced debugging middleware with EventSourceMiddleware - generates events for HTTP requests, added 2 built-in listeners (PrintToConsole, DispatchHttpEvents)
v1.0-rc1
- (all) Multiple breaking changes - proceed with caution
- (instructor) the
Instructor
class is being replaced withStructuredOutput
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()
orStructuredOutputResponse::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 - usemessages
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
v0.17.11
- (polyglot) Support for DSN string containing parameters of LLM provider connection - Inference, Embeddings classes and their configs
- (instructor) Support for DSN string containing parameters of LLM provider connection - Instructor class
- (utils) DSN class with DSN-like string parsing capabilities
- (docs) DSN examples for Inference and Instructor
- (instructor) Internal refactoring - moved some Instructor/Features/Core code to Instructor namespace
- (hub) Automated build of changelog section in docs
v0.17.10
- (utils)
JsonSchema
class - simple API to build dynamic JSON schemas in Polyglot, lean alternative toStructure
class (which is Instructor only) - (docs) New and updated examples
v0.17.8
- (http) Replaced enums with strings in config files - config/http.conf
- (polyglot) Replaced enums with strings in config files - config/embeddings.php, config/llm.php
v0.17.7
- Fixed script merge issues
v0.17.6
- (setup) Renamed bin/ins-setup to bin/instructor-setup for better clarity
- (hub) Renamed bin/ins-hub to bin/instructor-hub for better clarity
- (docs) Minor corrections related to setting default config path
v0.17.5
- (main) Added release script to distribute current versions of /bin/ins-setup, /bin/ins-hub, /bin/tell to subpackages
- (main) Release script now copies examples to hub subpackage, so they can be included in the distribution
- (main) Renamed /scripts/setup.php script to /bin/ins-setup
- (main) Renamed /scripts/hub.php script to /bin/ins-hub
- (main) Removed obsolete /bin/instructor script
- (all) Updated composer.json files in main and subpackages to include new package scripts
- (docs) Updated docs