ESSAYEZ-LE ICI
Open Canvas est une application Web open source permettant de collaborer avec des agents pour mieux rédiger des documents. Il s'inspire du "Canvas" d'OpenAI, mais avec quelques différences clés.
Open Source : Tout le code, du frontend à l'agent de génération de contenu, en passant par l'agent de réflexion, est open source et sous licence MIT.
Mémoire intégrée : Open Canvas est livré immédiatement avec un agent de réflexion qui stocke les règles de style et les informations des utilisateurs dans une mémoire partagée. Cela permet à Open Canvas de mémoriser des faits vous concernant au fil des sessions.
Démarrer à partir de documents existants : Open Canvas permet aux utilisateurs de démarrer avec un texte vierge ou un éditeur de code dans la langue de leur choix, vous permettant ainsi de démarrer la session avec votre contenu existant, au lieu d'être obligé de démarrer par une interaction par chat. Nous pensons qu'il s'agit d'une UX idéale, car souvent, vous aurez déjà du contenu pour commencer et souhaiterez itérer dessus.
Mémoire : Open Canvas dispose d'un système de mémoire intégré qui générera automatiquement des réflexions et des souvenirs sur vous et votre historique de discussion. Ceux-ci sont ensuite inclus dans les interactions de chat ultérieures pour offrir une expérience plus personnalisée.
Actions rapides personnalisées : les actions rapides personnalisées vous permettent de définir vos propres invites qui sont liées à votre utilisateur et persistent au fil des sessions. Ceux-ci peuvent ensuite être facilement invoqués en un seul clic et s'appliquer à l'artefact que vous visualisez actuellement.
Actions rapides prédéfinies : il existe également une série d'actions rapides prédéfinies pour les tâches courantes d'écriture et de codage qui sont toujours disponibles.
Versionnement des artefacts : tous les artefacts sont associés à une "version", vous permettant de voyager dans le temps et de voir les versions précédentes de votre artefact.
Code, Markdown ou les deux : la vue des artefacts permet de visualiser et de modifier à la fois le code et le markdown. Vous pouvez même avoir des discussions qui génèrent du code et des artefacts de démarque, et basculer entre eux.
Rendu et édition de démarques en direct : l'éditeur de démarques d'Open Canvas vous permet d'afficher la démarque rendue pendant que vous éditez, sans avoir à basculer en arrière et en quatrième position.
Vous pouvez utiliser notre version déployée gratuitement en visitant opencanvas.langchain.com
ou
Vous pouvez cloner ce référentiel et l'exécuter localement/le déployer sur votre propre cloud. Consultez la section suivante pour connaître les étapes à suivre.
Exécuter ou développer Open Canvas est simple. Commencez par cloner ce référentiel et accédez au répertoire.
clone git https://github.com/langchain-ai/open-canvas.gitcd open-canvas
Ensuite, installez les dépendances via Yarn :
installation de fil
Installez ensuite LangGraph Studio, requis pour exécuter les graphiques localement, ou créez un compte LangSmith à déployer en production sur LangGraph Cloud.
Après cela, copiez le contenu du fichier .env.example
dans .env
et définissez les valeurs requises :
# LangSmith tracingLANGCHAIN_TRACING_V2=true LANGCHAIN_API_KEY=# Clés API LLM# Anthropic utilisée pour la réflexionANTHROPIC_API_KEY=# OpenAI utilisé pour la génération de contenuOPENAI_API_KEY=# Déploiement LangGraph ou serveur de développement local via LangGraph Studio.# Si elle est exécutée localement, cette URL doit être définie dans le fichier `constants.ts`. # LANGGRAPH_API_URL=# Supabase pour l'authentification# Clés publiquesNEXT_PUBLIC_SUPABASE_URL= NEXT_PUBLIC_SUPABASE_ANON_KEY=
Enfin, démarrez le serveur de développement :
développeur de fil
Ensuite, ouvrez localhost:3000 avec votre navigateur et commencez à interagir !
Vous pouvez également regarder une courte présentation vidéo (2 minutes) expliquant comment configurer Open Canvas localement ici.
Open Canvas est conçu pour être compatible avec n’importe quel modèle LLM. Le déploiement actuel comporte les modèles suivants configurés :
Anthropique Claude 3 Haïku ? : Haiku est le modèle le plus rapide d'Anthropic, idéal pour les tâches rapides telles que la modification de votre document. Créez un compte Anthropic ici.
Feux d'artifice Lama 3 70B ? : Llama 3 est un modèle open source SOTA de Meta, alimenté par Fireworks AI. Vous pouvez créer un compte ici.
OpenAI GPT 4o Mini ? : GPT 4o Mini est le modèle le plus récent et le plus petit d'OpenAI. Vous pouvez vous inscrire pour une clé API ici.
Si vous souhaitez ajouter un nouveau modèle, suivez ces étapes simples :
Ajoutez ou mettez à jour les variables du fournisseur de modèle dans constants.ts
.
Installez le package nécessaire pour le fournisseur (par exemple @langchain/anthropic
).
Mettez à jour la fonction getModelNameAndProviderFromConfig
dans src/agent/utils.ts
pour inclure votre nouveau nom de modèle et votre nouveau fournisseur.
Testez manuellement en vérifiant que vous pouvez :
4a. Générer un nouvel artefact
4b. Générer un message de suivi (se produit automatiquement après la génération d'un artefact)
4c. Mettre à jour un artefact via un message dans le chat
4j. Mettre à jour un artefact via une action rapide
4e. Répétez l’opération pour le texte/le code (assurez-vous que les deux fonctionnent)
Vous trouverez ci-dessous une liste de fonctionnalités que nous aimerions ajouter à Open Canvas dans un avenir proche :
Rendre React dans l'éditeur : Idéalement, si Open Canvas génère du code React (ou HTML), nous devrions pouvoir le restituer en direct dans l'éditeur. Edit : C'est en phase de planification maintenant !
Assistants multiples : les utilisateurs doivent pouvoir créer plusieurs assistants, chacun ayant sa propre mémoire.
Donner aux assistants des « outils » personnalisés : une fois que nous aurons implémenté RemoteGraph
dans LangGraph.js, les utilisateurs devraient pouvoir autoriser les assistants à appeler leurs propres graphiques comme outils. Cela signifie que vous pouvez personnaliser votre assistant pour avoir accès aux événements actuels, à votre propre graphique de connaissances personnelles, etc.
Avez-vous une demande de fonctionnalité ? Veuillez ouvrir un problème !
Nous aimerions continuer à développer et à améliorer Open Canvas et avons besoin de votre aide !
Pour commencer, il existe une poignée de problèmes GitHub avec des demandes de fonctionnalités décrivant des améliorations et des ajouts pour rendre l'UX de l'application encore meilleure. Il existe trois labels principaux :
frontend
: cette étiquette est ajoutée aux problèmes axés sur l'interface utilisateur et ne nécessitent pas beaucoup de travail, voire aucun, sur le ou les agents.
ai
: Ce label est ajouté aux problématiques axées sur l'amélioration du ou des agents LLM.
fullstack
: Cette étiquette est ajoutée aux problèmes qui nécessitent de toucher à la fois le code du frontend et de l'agent.
Si vous avez des questions sur la contribution, veuillez me contacter par e-mail : brace(at)langchain(dot)dev
. Pour les bogues/problèmes généraux avec le code, veuillez ouvrir un ticket sur GitHub.