Notre promotion d'été sur les formations PHP et Symfony est disponible: obtenez -25% pour toute formation ayant lieu du 7 juillet au 29 août Demandez-nous un devis dès maintenant


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

· Silas Joisten · 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.

cookie

Ce site utilise des cookies et vous donne le contrôle sur ceux que vous souhaitez activer. Lire la politique de confidentialité

Image