Create first version of the abstraction layer using Symfony AI v0.1.0
>>> [!note] Migrated issue <!-- Drupal.org comment --> <!-- Migrated from issue #3565674. --> Reported by: [marcus_johansson](https://www.drupal.org/user/385947) Related to !1077 >>> <p>[Tracker]<br> <strong>Update Summary: </strong>[One-line status update for stakeholders]<br> <strong>Short Description: </strong>[One-line issue summary for stakeholders]<br> <strong>Check-in Date: </strong>MM/DD/YYYY<br> <em>Metadata is used by the <a href="https://www.drupalstarforge.ai/" title="AI Tracker">AI Tracker.</a> Docs and additional fields <a href="https://www.drupalstarforge.ai/ai-dashboard/docs" title="AI Issue Tracker Documentation">here</a>.</em><br> [/Tracker]</p> <h3 id="summary-problem-motivation">Problem/Motivation</h3> <p>Symfony AI has its first <a href="https://github.com/symfony/ai/tree/v0.1.0">v0.1.0 tag</a>, meaning we have a version that will not change that we can start adding a shadow version of the AI 2.x branch to work against.</p> <p>With this we could in 2.x add a wrapper around Symfony AI for the abstraction layer. And as soon as the abstraction layer exists, do the same for agents or vdb providers. MCP already have started on integration.</p> <p>For 3.x we could remove and replace as much as possible for using Symfony AI vanilla as much as possible.</p> <p>We should start with this issue, to create a version that is using Symfony AI, to see what possible things that could be missing, to raise issues on Symfony AI's issue queue and how much we need to wrap/decorate it.</p> <p>We also need to set a rough UX how the setup process works like, since the providers are already bundled with Symfony AI. But first thing is to figure out how to get this working and if something is missing.</p> <h3 id="summary-proposed-resolution">Proposed resolution</h3> <ul> <li>Add a dependency to Symfony AI v0.1.0 in a branch.</li> <li>Try to create a wrapper using a derivative that creates plugins for each provider. Start with OpenAI or some of the biggers ones and work from there.</li> <li>Add bugs and missing feature issues (and code) to Symfony AI issue queue: <a href="https://github.com/symfony/ai/issues">https://github.com/symfony/ai/issues</a></li> </ul> > Related issue: [Issue #3574187](https://www.drupal.org/node/3574187) > Related issue: [Issue #3538499](https://www.drupal.org/node/3538499)
issue