php-llm/llm-chain-bundle
php-llm/llm-chain-bundle helps PHP developers compose LLM workflows as reusable, maintainable chains. Connect prompts, tools, and model calls through a fluent API to build multi-step AI pipelines with less boilerplate and clearer orchestration.
model.options are enablers for structured tool calling and richer model configuration (stop sequences, tool lists, sampling parameters). If the roadmap contains assistants, agents, or structured extraction, this release makes those cheaper to prototype.chore!: PHP LLM becomes Symfony AI is a breaking change. This should trigger a deliberate decision about pinning, migration timing, and how much internal code touches the package's namespaces — a build-vs-buy consideration that is now also a when-to-migrate consideration.Consider it when:
model.options array-argument fix unblocks passing structured option sets rather than single scalars.Look elsewhere when:
!-marked breaking release in the changelog, churn is the norm, not the exception.For executives: We can add LLM-powered features without betting the product on a single AI vendor. This library gives us a provider-neutral layer so model choice stays a config change, and it is being folded into the Symfony project — a credible, well-governed open-source home, which improves our long-term maintenance confidence and lowers the risk of the dependency being abandoned. The trade-off is maturity: the project is pre-1.0 and just completed a rename to "Symfony AI," so we should expect migration work on our side. Recommended posture: adopt behind a thin internal interface, pin the version, and treat upgrades as planned work rather than background noise.
For engineering: Two concrete wins in 0.25.0 — tool input and output now route through the autowired serializer, so typed DTOs in tool signatures work without hand-written serialization glue; and model.options now accepts array arguments, so multi-value configuration (tool lists, stop sequences, sampling params) is expressible. One thing to plan for: PHP LLM becomes Symfony AI is flagged breaking — expect package name, namespace, and likely config-key changes. Pin to 0.24.x or commit to the rename, but do not float across it mid-sprint. Also note this is a Symfony bundle; if we consume it from Laravel, we own the bridge code and should say so out loud before we commit.
How can I help you explore Laravel packages today?