<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Plugin on Antoine Boucher</title><link>https://antoineboucher.info/CV/blog/fr/tags/plugin/</link><description>Recent content in Plugin on Antoine Boucher</description><generator>Hugo</generator><language>fr</language><lastBuildDate>Sat, 01 Jun 2024 10:00:00 -0400</lastBuildDate><atom:link href="https://antoineboucher.info/CV/blog/fr/tags/plugin/index.xml" rel="self" type="application/rss+xml"/><item><title>Plugin ChatGPT avec FastAPI — plan d’implémentation</title><link>https://antoineboucher.info/CV/blog/fr/posts/fastapi-chatgpt-plugin-overview/</link><pubDate>Sat, 01 Jun 2024 10:00:00 -0400</pubDate><guid>https://antoineboucher.info/CV/blog/fr/posts/fastapi-chatgpt-plugin-overview/</guid><description>&lt;p&gt;Les &lt;strong&gt;plugins&lt;/strong&gt; de style OpenAI exposent une API HTTP décrite par un document &lt;strong&gt;OpenAPI&lt;/strong&gt; pour que ChatGPT puisse appeler vos outils de façon contrôlée. &lt;strong&gt;FastAPI&lt;/strong&gt; génère OpenAPI automatiquement, ce qui colle bien à ce modèle.&lt;/p&gt;
&lt;h2 id="1-définir-lapi-dans-fastapi"&gt;1. Définir l’API dans FastAPI&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Les routes renvoient du &lt;strong&gt;JSON&lt;/strong&gt; avec des formes stables (éviter le texte libre ambigu quand la structure compte).&lt;/li&gt;
&lt;li&gt;Ajoutez &lt;strong&gt;résumés et descriptions&lt;/strong&gt; sur les chemins et les champs — ça aide le modèle à choisir le bon outil.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="2-publier-openapijson"&gt;2. Publier &lt;code&gt;openapi.json&lt;/code&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;FastAPI sert &lt;strong&gt;&lt;code&gt;/openapi.json&lt;/code&gt;&lt;/strong&gt; par défaut ; le manifeste du plugin pointe vers cette URL (ou une copie statique versionnée).&lt;/li&gt;
&lt;li&gt;Gardez les schémas &lt;strong&gt;stricts&lt;/strong&gt; : énumérations, champs obligatoires et exemples réduisent les mauvais appels.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="3-manifeste-du-plugin"&gt;3. Manifeste du plugin&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Hébergez &lt;strong&gt;&lt;code&gt;ai-plugin.json&lt;/code&gt;&lt;/strong&gt; (ou le format exigé par la doc développeur OpenAI actuelle) en &lt;strong&gt;HTTPS&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Le manifeste référence l’URL de base de l’API et l’emplacement d’OpenAPI.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="4-authentification"&gt;4. Authentification&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Préférez &lt;strong&gt;OAuth&lt;/strong&gt; ou &lt;strong&gt;clés API&lt;/strong&gt; comme documenté pour votre intégration ; ne commitez jamais de secrets.&lt;/li&gt;
&lt;li&gt;Validez les jetons dans les dépendances ou le middleware FastAPI.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="5-déploiement"&gt;5. Déploiement&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Point de terminaison &lt;strong&gt;HTTPS&lt;/strong&gt; joignable depuis les serveurs OpenAI.&lt;/li&gt;
&lt;li&gt;Journalisation et &lt;strong&gt;idempotence&lt;/strong&gt; pour les routes à effets de bord.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="6-tests-manuels"&gt;6. Tests manuels&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Appelez les routes avec &lt;code&gt;curl&lt;/code&gt; ou HTTPie en utilisant les mêmes charges que le modèle enverra.&lt;/li&gt;
&lt;li&gt;Itérez sur les descriptions et contraintes avant d’ouvrir le trafic.&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;Les détails évoluent avec les mises à jour de la plateforme OpenAI — suivez toujours la doc la plus récente sur &lt;strong&gt;plugins / tools / actions&lt;/strong&gt; pour la prod.&lt;/p&gt;</description></item><item><title>Plugin OpenAI D2C — diagrammes PlantUML, Mermaid et D2</title><link>https://antoineboucher.info/CV/blog/fr/posts/d2c-openai-diagram-plugin/</link><pubDate>Tue, 06 Sep 2022 10:00:00 -0400</pubDate><guid>https://antoineboucher.info/CV/blog/fr/posts/d2c-openai-diagram-plugin/</guid><description>&lt;p&gt;GitHub : &lt;a href="https://lnkd.in/en3dSVuQ"&gt;https://lnkd.in/en3dSVuQ&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;URL du plugin : &lt;a href="https://lnkd.in/exVNZMnT"&gt;https://lnkd.in/exVNZMnT&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;D2COpenAIPlugin&lt;/strong&gt; est un plugin pour ChatGPT qui permet de générer des diagrammes avec &lt;strong&gt;PlantUML&lt;/strong&gt;, &lt;strong&gt;Mermaid&lt;/strong&gt; et &lt;strong&gt;D2&lt;/strong&gt;. Il enrichit ChatGPT en offrant un moyen fluide de créer des diagrammes variés.&lt;/p&gt;
&lt;p&gt;Pour un flux &lt;strong&gt;prompt dans le chat&lt;/strong&gt; (modèle AIPRM, exemples de séquences cache hit/miss, astuces d’outils canvas), voir &lt;strong&gt;&lt;a href="https://antoineboucher.info/CV/blog/fr/posts/chatgpt-airprm-sequence-diagrams/"&gt;Diagrammes avec ChatGPT et AIPRM&lt;/a&gt;&lt;/strong&gt; — complémentaire à cette approche par plugin.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://antoineboucher.info/CV/blog/posts/d2c-openai-diagram-plugin/images/1692387139389.jpeg" alt="1692387139389.jpeg"&gt;&lt;/p&gt;
&lt;p&gt;🤖 ChatGPT UML Plugins - DEMO&lt;/p&gt;</description></item><item><title>D2COpenAIPlugin</title><link>https://antoineboucher.info/CV/blog/fr/projects/d2copenaiplugin/</link><pubDate>Mon, 06 Sep 2021 22:42:23 +0800</pubDate><guid>https://antoineboucher.info/CV/blog/fr/projects/d2copenaiplugin/</guid><description>&lt;h1 id="d2copenaiplugin"&gt;D2COpenAIPlugin&lt;/h1&gt;
&lt;p&gt;Consultez le projet &lt;a href="https://github.com/antoinebou12/D2COpenAIPlugin/tree/main"&gt;sur GitHub&lt;/a&gt;.&lt;br&gt;
Démo en ligne : &lt;a href="https://openai-uml-plugin.vercel.app"&gt;openai-uml-plugin.vercel.app&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Rejoignez la &lt;a href="https://openai.com/waitlist/plugins"&gt;liste d’attente des extensions ChatGPT&lt;/a&gt;.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;D2COpenAIPlugin est une extension pour ChatGPT qui permet de générer des diagrammes avec &lt;strong&gt;PlantUML&lt;/strong&gt; ou &lt;strong&gt;Mermaid&lt;/strong&gt;, directement depuis la conversation.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://raw.githubusercontent.com/antoinebou12/UMLOpenAIPlugin/main/docs/DiagramGeneratorPlugin.gif" alt="https://github.com/antoinebou12/UMLOpenAIPlugin/docs/DiagramGeneratorPlugin.gif"&gt;
&lt;img src="https://github.com/antoinebou12/D2COpenAIPlugin/assets/13888068/638e6ef6-b006-4f63-a7b8-b765fc0d8a41" alt="image"&gt;&lt;/p&gt;
&lt;h2 id="fonctionnalités"&gt;Fonctionnalités&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Diagrammes PlantUML ou Mermaid&lt;/li&gt;
&lt;li&gt;Intégration avec ChatGPT&lt;/li&gt;
&lt;li&gt;Interface orientée création de schémas&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="installation-aperçu"&gt;Installation (aperçu)&lt;/h2&gt;
&lt;p&gt;Prérequis typiques : Python 3.10+, FastAPI, uvicorn. Cloner le dépôt, installer les dépendances (poetry ou &lt;code&gt;requirements-dev.txt&lt;/code&gt;), configurer les variables d’environnement et un jeton bearer, puis lancer l’API (par ex. &lt;code&gt;uvicorn app:app --host 127.0.0.1 --port 5003&lt;/code&gt;).&lt;/p&gt;</description></item></channel></rss>