Créez des fonctionnalités basées sur l’IA dans Symfony

· Silas Joisten · Expertise · Temps de lecture: 2 minutes
AI and Symfony

L’IA transforme le développement web — et avec php-llm/llm-chain, les développeurs PHP peuvent facilement intégrer des fonctionnalités LLM puissantes dans leurs applications Symfony. Cet article vous montre comment démarrer grâce à des chatbots, des assistants intelligents, et plus encore.

Pourquoi utiliser l’IA avec Symfony ?

L’intelligence artificielle n’est plus un concept futuriste — elle fait désormais partie intégrante des technologies web modernes. Des chatbots à l’enrichissement de contenu, en passant par la recherche sémantique, les fonctionnalités pilotées par l’IA sont aujourd'hui partout. Les développeurs PHP ne sont pas en reste. Grâce à la bibliothèque php-llm/llm-chain, intégrer ces capacités dans un projet Symfony n’a jamais été aussi simple.

Introduction

php-llm/llm-chain est une bibliothèque native PHP qui permet d’interagir avec des modèles de langage de grande taille (LLM) comme :

Elle prend en charge plusieurs plateformes (OpenAI, Azure, Replicate, etc.) et permet de :

  • Générer du contenu

  • Appeler des outils externes (fonctions PHP) depuis un LLM

  • Créer des embeddings et effectuer des recherches sémantiques

  • Lier plusieurs appels à des LLM de manière logique

L’intégration Symfony est fournie via php-llm/llm-chain-bundle, qui gère automatiquement l’enregistrement des services, l’injection de dépendances, et la configuration via YAML.

Installation du Bundle Symfony

Installez le package via Composer :

composer require php-llm/llm-chain-bundle

Ajoutez votre clé API à .env :

OPENAI_API_KEY=your-api-key-here

Configurez le service dans config/packages/llm_chain.yaml :

llm_chain:
  platform:
    openai:
      api_key: '%env(OPENAI_API_KEY)%'

  chain:
    default:
      model:
        name: 'gpt4o-mini'

Utiliser l’IA dans un service Symfony

Voici un exemple simple de service Symfony qui envoie un message à un LLM et récupère une réponse :

use PhpLlm\LlmChain\ChainInterface;
use PhpLlm\LlmChain\Model\Message\Message;
use PhpLlm\LlmChain\Model\Message\MessageBag;
use PhpLlm\LlmChain\Model\Response\ResponseInterface;

final class SmartAssistant
{
    public function __construct(
        private ChainInterface $chain
    ) {
    }

    public function ask(string $question): ResponseInterface
    {
        $messages = new MessageBag(
            Message::forSystem('You are a helpful assistant.'),
            Message::ofUser($question),
        );

        return $this->chain->call($messages);
    }
}

Vous pouvez utiliser ce service dans un contrôleur, une commande console ou un worker.

Tool Calling : Rendez l’IA interactive

Vous souhaitez que le LLM appelle de vraies fonctions PHP ? Il suffit d’utiliser l’attribut #[AsTool] :

use PhpLlm\LlmChain\Toolbox\Attribute\AsTool;

#[AsTool('current_time', 'Returns the current server time')]
final class ClockTool
{
    public function __invoke(): string
    {
        return (new \DateTimeImmutable())->format('Y-m-d H:i:s');
    }
}

Le LLM peut maintenant décider de lui-même quand utiliser cette fonction pendant une conversation. C’est comme les plugins ChatGPT… mais en PHP.

Embeddings & Recherche

llm-chain prend également en charge les embeddings pour la recherche sémantique. Vous pouvez stocker les vecteurs dans :

Ces solutions sont idéales pour implémenter la génération augmentée par la récupération (RAG). Cette technique consiste à rechercher des documents pertinents avant de poser une question au LLM.

Tester : Projet démo Symfony

Envie d’essayer ? L’équipe php-llm/llm-chain fournit une application Symfony de démonstration avec un chatbot et une recherche vectorielle :

php-llm/llm-chain-symfony-demo

Maîtriser les coûts et les tokens

Les LLM ne sont pas gratuits. Voici quelques bonnes pratiques à suivre pour maîtriser ses coûts :

  • Mettre en cache les réponses répétitives

  • Utiliser des prompts courts

  • Surveiller l’utilisation des tokens via les logs

  • Limiter la taille des messages système

Conclusion

Avec quelques lignes de configuration et de code, vous pouvez intégrer des fonctionnalités IA puissantes à votre application Symfony. Que vous souhaitiez automatiser des tâches, répondre à des questions ou enrichir du contenu, llm-chain est un excellent point de départ.

Symfony est prêt pour l’ère de l’intelligence artificielle. Et vous ?

Prêts à créer des applications Symfony plus intelligentes ?

Commencez dès aujourd’hui avec llm-chain — des fonctionnalités basées sur l’IA en seulement quelques lignes de code.

Cela pourrait aussi vous intéresser

Illustration of Developer
Silas Joisten Nouveau

La révolution de l’expérience développeur en 2026

L’expérience développeur est plus importante que jamais. Découvrez comment de meilleurs outils, des flux de travail plus intelligents et une culture de l’apprentissage peuvent transformer la manière dont les équipes conçoivent des logiciels.

En savoir plus
Nicolas Grekas with a mic in his right hand raising his left hand on stage at SymfonyCon Amsterdam 2025
Jules Daunay

Symfony 8 : Stabilité, sécurité et innovation au service des développeurs

À l’occasion du lancement de Symfony 8, nous avons rencontré Nicolas Grekas, figure emblématique de l'open-source et contributeur majeur du framework. Entre nouveaux composants JSON, durcissement de la sécurité et intégration native avec PHP 8.4, Nicolas nous explique pourquoi cette version 8 s'inscrit dans la continuité des versions précédentes de Symfony, sans bousculer les entreprises. Un point complet pour comprendre les nouveautés et aborder votre montée de version sereinement.

En savoir plus
Why PHP?
Silas Joisten

Pourquoi PHP est le meilleur choix pour le backend des logiciels d'entreprise ?

Découvrez pourquoi PHP est une technologie de premier plan pour les applications d'entreprise. Il offre des performances élevées, dispose d'un vaste écosystème de développeurs, permet de réduire les coûts opérationnels et fait preuve d'une fiabilité éprouvée.

En savoir plus
Formation Symfony UX FR
Elise Hamimi

Des interfaces plus modernes : maîtrisez Symfony UX avec la nouvelle formation officielle de SensioLabs

En quelques années à peine, Symfony UX a été plébiscité par les utilisateurs de Symfony. Parfaitement adapté aux priorités actuelles des développeurs, il permet de créer simplement des interfaces interactives et performantes, sans quitter le confort du framework. Il était temps de l'ajouter à notre catalogue de formations. C’est pourquoi nous lançons officiellement notre nouvelle formation Symfony UX.

En savoir plus
A yellow and white smiley on the ground with feets in sneakers
Rémi Brière

L'Agilité en entreprise - 3. Donner du sens à l’agilité avec l’Evidence-Based Management

Les frameworks agiles comme Scrum ou Kanban sont bien connus pour aider les équipes à mieux se concentrer sur la création de valeur et à s’adapter plus facilement aux changements. Mais l’agilité ne s’arrête pas à l’échelle des équipes : certaines approches s’adressent aussi aux décideurs et aux organisations. Parmi elles, l’Evidence-Based Management propose un autre angle de vue : piloter la valeur et les progrès de manière structurée, basée sur des éléments concrets.

En savoir plus
Fabien Potencier
Elise Hamimi

SymfonyCon Amsterdam 2025 : Notre bilan et les moments forts

Après une première édition emblématique en 2019, SymfonyCon a fait son grand retour à Amsterdam. Dès les premières minutes, on sentait l’énergie d’un rendez-vous très attendu : plus de 1 200 participants, 39 nationalités, les retrouvailles avec la communauté, de belles découvertes… et une ambiance de folie. Cette année, l’événement avait une saveur toute particulière puisqu’il s’agissait de l’édition spéciale anniversaire des 20 ans de Symfony. SensioLabs y était : on vous raconte tout !

En savoir plus
Chart going up
Silas Joisten

Les bonnes raisons de tester votre application, expliqué à votre manager

Découvrez pourquoi les tests représentent un investissement stratégique et non un coût. Cet article explique à votre manager la valeur métier des tests, pourquoi ils sont essentiels pour le ROI, comment ils réduisent vos risques et améliorent votre agilité. Des explications claires, chiffres et cas concrets à l'appui.

En savoir plus
Code happy in lights
Imen Ezzine

La Revue de Code : Types, Organisation et Bonnes Pratiques

La Revue de Code (ou code review) est une étape essentielle du cycle de développement logiciel, permettant d’améliorer la qualité du code, de réduire les bugs et d’encourager le partage des connaissances au sein de l’équipe. GitLab et GitHub, deux des plateformes de gestion de code les plus populaires, offrent des fonctionnalités avancées pour faciliter ce processus. Cet article aborde les différents types de revues de code, comment s’organiser, et comment tirer partie des templates et check-lists pour améliorer l’efficacité des PR (Pull Requests).

En savoir plus
Image