Besoin d'un expert pour vous aider dans votre projet de développement Symfony ou PHP ? 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.

Image