Releases: php-llm/llm-chain
Releases · php-llm/llm-chain
0.24.1
0.24.0
What's Changed
- fix: typo in README.md by @rixafy in #333
- fix: remove
dump
function call by @d0niek in #334 - ci: remove check for conventional commit message by @chr-hertel in #335
- refactor: rename
Embedder
toIndexer
and open input to iterable by @chr-hertel in #336 - feat: audio & document input support for Gemini by @valtzu in #339
- Allow
\Stringable
forMessage::ofUser()
andMessage:forSystem()
by @OskarStark in #340 - Allow mongodb/mongodb 2.0 by @OskarStark in #341
- feat: add MariaDB store by @valtzu in #342
- docs: add MariaDB in readme by @chr-hertel in #345
- chore: Allow arbitrary vector dimensions for MariaDB store by @valtzu in #348
- feat: Add Gemini Embeddings by @valtzu in #347
- fix: recursively remove
additionalProperties
from Gemini requests by @valtzu in #351 - fix: youtube transcript auth issue by using ready-made lib by @chr-hertel in #353
- Implement consistent Whisper task option for OpenAI and Azure bridges by @copilot-swe-agent in #350
- feat: Google structured output by @valtzu in #354
- feat: Allow any normalizable result from a tool by @valtzu in #355
- fix: youtube tool in dev examples by @chr-hertel in #357
- feat: Google Gemini server tools by @valtzu in #356
- feat: allow filtering down of examples in runner by @chr-hertel in #358
- fix: array shape by @OskarStark in #367
- feat!: add UUID to all messages by @OskarStark in #364
- feat: chat + message store by @chr-hertel in #208
- feat: implement document loader & transformer for store indexing by @chr-hertel in #343
- feat: Denormalize tool arguments by @valtzu in #359
- fix: resolve array tool arguments by @chr-hertel in #368
- refactor: rename
GOOGLE_API_KEY
toGEMINI_API_KEY
by @OskarStark in #369 - docs: Add comprehensive documentation for Google Gemini server tools by @OskarStark in #370
- fix(mongodb-store): add back conflict by @OskarStark in #373
- refactor: remove resolver interface for now by @chr-hertel in #375
- feat: open contract for more flexible normalizer configuration by @DZunke in #372
- feat: allow JsonSerializable objects in contract by @DZunke in #377
- tests: execute multiple subdirectories of examples at once by @chr-hertel in #378
- chore: remove occurrences of
empty()
by @alexandre-daubois in #374 - refactor!: improve types in platform api by @chr-hertel in #376
Breaking Changes
Embedder
was renamed toIndexer
and split into multiple services, see #336 and #343- all messages now need an ID, see #364
- YouTube transcipt tool now needs the additional lib
mrmysql/youtube-transcript
, see #353 - Platform returns a
ResponsePromise
now instead aResponseInterface
, see# 376
New Contributors
- @rixafy made their first contribution in #333
- @d0niek made their first contribution in #334
- @copilot-swe-agent made their first contribution in #350
- @alexandre-daubois made their first contribution in #374
Full Changelog: 0.23.0...0.24.0
0.23.0
What's Changed
- refactor: chain aware with interface by @chr-hertel in #327
- chore: add authors by @chr-hertel in #328
- feat: add option to keep tool messages by @philipheimboeck in #323
- test: to mock the ChainInterface we need to skip broken PHPUnit versions by @chr-hertel in #330
- Google Gemini tool support by @valtzu in #331
New Contributors
- @philipheimboeck made their first contribution in #323
- @valtzu made their first contribution in #331
Full Changelog: 0.22.0...0.23.0
0.22.0
What's Changed
- feat: allow codewithkyrian/chromadb-php 0.4 by @OskarStark in #322
- feat: implement Bedrock and model clients for Claude, Llama, and Nova by @bjalt in #312
- refactor: ease Bedrock init by @chr-hertel in #324
- fix: Symfony 7.3 compatibility of SingleCommand with output by @chr-hertel in #325
- refactor: Major Library Refactoring by @chr-hertel in #326
- feat: extend Claude support for images and pdf input by @chr-hertel in #298
- feat: add support for mistral by @chr-hertel in #291
Breaking Changes
- Sorting into three main sub compontents
Platform
,Chain
andStore
- High level implementation also went into those components, see
ChainInterface
as example Model
namespace went intoPlatform
- Bridges got sorted into
Platform
orStore
- Tool metadata moved from
Chain
toPlatform\Contract
- High level implementation also went into those components, see
- Implementation of
JsonSerializable
was dropped in favor of Symfony's serializer/normalizer - Removal of
LanguageModel
andEmbeddingsModel
interface in favor of baseModel
andCapabilities
- Renaming of
StructuredResponse
toObjectResponse
- Slimming down the
supports()
method ofModelClient
andResponseConverter
- Changing signature of
ModelClient
to already accepting the normalized request payload - Renaming interfaces to always contain the
Interface
suffix - Renaming exceptions to always contain the
Exception
suffix
See #326 for more.
New Contributors
Full Changelog: 0.21.2...0.22.0
0.21.2
What's Changed
- fix: flaky anthropic tool calls with empty text by @chr-hertel in #315
- refactor: simplify transformers implementation by adding specific Platform by @chr-hertel in #314
Full Changelog: 0.21.1...0.21.2
0.21.1
What's Changed
- refactor: making more test method calls static with rector by @chr-hertel in #294
- chore: split example folder structure into multiple subdirectories by @chr-hertel in #295
- chore: rename model toolbox examples to toolcall by @chr-hertel in #296
- chore: extend example runner to target subdirs only by @chr-hertel in #299
- docs: fix after example rename in #296 by @chr-hertel in #300
- docs: add Azure examples for Whisper and Embeddings by @chr-hertel in #302
- docs: fix azure examples in env by @chr-hertel in #303
- chore: remove specific huggingface example runner by @chr-hertel in #304
- test: fix makefile targets to run examples by @chr-hertel in #306
- fix: implement failing test and cleanup by @chr-hertel in #308
- Fix structured dto by @chr-hertel in #309
- fix: missing namespace when upserting in Pinecone store by @sarjon in #310
New Contributors
Full Changelog: 0.21.0...0.21.1
0.21.0
What's Changed
- chore: updating some composer metadata + normalize by @chr-hertel in #287
- test: fix namespaces and coverage by @chr-hertel in #289
- fix: JsonSchema required by @lvluoyue in #288
- feat: Add Raw Response Metadata Handling - GPT Token Usage Example by @DZunke in #270
- feat: adding basic Brave search tool and crawler by @chr-hertel in #290
- refactor: use lib specific exceptions instead of native ones by @chr-hertel in #293
New Contributors
Full Changelog: 0.20.0...0.21.0
0.20.0
What's Changed
- docs: fix typo with Embedder service by @Iyadhfaleh in #269
- feat: add support for Anthropic tool use by @soukicz in #209
- ci: update rector config for deprecations and skipping data provider … by @chr-hertel in #274
- fix: toolbox usage in claude model handler after renaming by @chr-hertel in #275
- fix: usage of Claude without system prompt by @chr-hertel in #272
- ci: reorder qa pipeline to shift commit check to last step by @chr-hertel in #273
- feat: bring in Llama 3.3 support with Azure by @chr-hertel in #276
- feat: add latest Claude model versions by @chr-hertel in #277
- ci: skip mongodb extension for now by @chr-hertel in #281
- refactor: rename Model::version to Model::name by @chr-hertel in #278
- feat: add new v4.1 models by @DZunke in #282
- feat: allow access of methods and read of properties through AsyncRes… by @chr-hertel in #284
- refactor: add more output to example runner by @chr-hertel in #283
- refactor: message content file handling [BC BREAK] by @chr-hertel in #285
- feat: add support for Hugging Face Inference API by @chr-hertel in #279
- feat: add support for TransformersPHP for model runtime in PHP by @chr-hertel in #280
New Contributors
Breaking Changes
- Renaming of
Model::version
toModel::name
with corresponding getter, see #278 - Rework of
Image
andAudio
content classes, see #285
Full Changelog: 0.19.0...0.20.0
0.19.0
What's Changed
- fix: handle void|null tool response graceful by @chr-hertel in #254
- fix: remove +x on example files by @chr-hertel in #253
- test: fix coverage again by @chr-hertel in #257
- feat: add whisper azure support by @chr-hertel in #252
- feat: support stringable system prompt by @chr-hertel in #259
- refactor: introduce execution reference in tool metadata by @chr-hertel in #260
- feat: introduce chain and memory tool metadata factory by @chr-hertel in #256
- refactor: rename toolbox to lowercase by @chr-hertel in #258
- test: fix namespaces and coverage usage by @chr-hertel in #261
- feat: support date time tool results by @chr-hertel in #263
- docs: add section about different tool metadata factories by @chr-hertel in #262
- feat: add object support for
MemoryFactory::addTool
by @chr-hertel in #264 - fix: exception message in
ToolMetadataException
by @chr-hertel in #265 - fix: complex json schema default by @chr-hertel in #267
- feat: add chain wrapper tool by @chr-hertel in #266
- docs: add section about chain in chain by @chr-hertel in #268
Breaking Changes
ToolBox
renamed toToolbox
in corresponding namespace, classes and variables, see #258- Tool's
Metadata
introduced a newExecutionReference
object instead$className
and$method
properties/arguments - Tool's interface
MetadataFactory::getMetadata
changed argument type frommixed
tostring
PhpLlm\LlmChain\Chain\ToolBox\ToolResultConverter::convert(...)
type declaration was narrowed down frommixed
to\JsonSerializable|\Stringable|array|float|string|null
, see #254
Full Changelog: 0.18.0...0.19.0
0.18.0
What's Changed
- refactor: ease toolbox instatiation by @chr-hertel in #248
- feat: extend Audio content for data urls and raw data by @chr-hertel in #250
- feat: add support for whisper on openai by @chr-hertel in #251
- refactor: introduce tool metadata factory interface by @chr-hertel in #249
Full Changelog: 0.17.0...0.18.0