PRUEBALO AQUI
Open Canvas es una aplicación web de código abierto para colaborar con agentes para redactar mejor documentos. Está inspirado en "Canvas" de OpenAI, pero con algunas diferencias clave.
Código abierto : todo el código, desde el frontend hasta el agente de generación de contenido y el agente de reflexión, es de código abierto y tiene licencia MIT.
Memoria integrada : Open Canvas viene listo para usar con un agente de reflexión que almacena reglas de estilo e información del usuario en un almacén de memoria compartida. Esto permite que Open Canvas recuerde datos sobre usted a lo largo de las sesiones.
Comenzar desde documentos existentes : Open Canvas permite a los usuarios comenzar con un texto en blanco o un editor de código en el idioma de su elección, lo que les permite iniciar la sesión con su contenido existente, en lugar de verse obligados a comenzar con una interacción de chat. Creemos que esta es una UX ideal porque muchas veces ya tendrás algún contenido para comenzar y querrás iterar sobre él.
Memoria : Open Canvas tiene un sistema de memoria incorporado que generará automáticamente reflejos y recuerdos sobre usted y su historial de chat. Luego, estos se incluyen en interacciones de chat posteriores para brindar una experiencia más personalizada.
Acciones rápidas personalizadas : las acciones rápidas personalizadas le permiten definir sus propias indicaciones que están vinculadas a su usuario y persisten en todas las sesiones. Luego, estos pueden invocarse fácilmente con un solo clic y aplicarse al artefacto que está viendo actualmente.
Acciones rápidas prediseñadas : también hay una serie de acciones rápidas prediseñadas para tareas comunes de escritura y codificación que siempre están disponibles.
Control de versiones de artefactos : todos los artefactos tienen una "versión" asociada, lo que le permite viajar en el tiempo y ver versiones anteriores de su artefacto.
Código, Markdown o ambos : la vista de artefacto permite ver y editar tanto el código como el Markdown. Incluso puedes tener chats que generen código y artefactos de rebajas, y alternar entre ellos.
Representación y edición de rebajas en vivo : el editor de rebajas de Open Canvas le permite ver las rebajas renderizadas mientras edita, sin tener que alternar hacia atrás y hacia cuarto.
Puede utilizar nuestra versión implementada de forma gratuita visitando opencanvas.langchain.com
o
Puede clonar este repositorio y ejecutarlo localmente/implementarlo en su propia nube. Consulte la siguiente sección para conocer los pasos sobre cómo hacer esto.
Ejecutar o desarrollar Open Canvas es fácil. Comience clonando este repositorio y navegando al directorio.
clon de git https://github.com/langchain-ai/open-canvas.gitcd open-canvas
A continuación, instale las dependencias a través de Yarn:
instalación de hilo
Luego instale LangGraph Studio, que es necesario para ejecutar los gráficos localmente, o cree una cuenta LangSmith para implementarla en producción en LangGraph Cloud.
Después de eso, copie el contenido del archivo .env.example
en .env
y establezca los valores requeridos:
# Seguimiento de LangSmithLANGCHAIN_TRACING_V2=true LANGCHAIN_API_KEY=# Claves API de LLM# Anthropic usado para la reflexiónANTHROPIC_API_KEY=# OpenAI usado para la generación de contenidoOPENAI_API_KEY=# Implementación de LangGraph o servidor de desarrollo local a través de LangGraph Studio.# Si se ejecuta localmente, esta URL debe configurarse en el archivo `constants.ts`. # LANGGRAPH_API_URL=# Supabase para autenticación# Público clavesNEXT_PUBLIC_SUPABASE_URL= NEXT_PUBLIC_SUPABASE_ANON_KEY=
Finalmente, inicie el servidor de desarrollo:
desarrollador de hilo
Luego, abre localhost:3000 con tu navegador y comienza a interactuar.
También puede ver un breve video tutorial (2 minutos) sobre cómo configurar Open Canvas localmente aquí.
Open Canvas está diseñado para ser compatible con cualquier modelo LLM. La implementación actual tiene configurados los siguientes modelos:
Antrópico Claude 3 Haiku ? : Haiku es el modelo más rápido de Anthropic, ideal para tareas rápidas como editar su documento. Regístrese para obtener una cuenta Anthropic aquí.
Fuegos artificiales Llama 3 70B ? : Llama 3 es un modelo SOTA de código abierto de Meta, impulsado por Fireworks AI. Puede registrarse para obtener una cuenta aquí.
¿OpenAI GPT 4o Mini? : GPT 4o Mini es el modelo más nuevo y más pequeño de OpenAI. Puede registrarse para obtener una clave API aquí.
Si desea agregar un nuevo modelo, siga estos sencillos pasos:
Agregue o actualice las variables del proveedor del modelo en constants.ts
.
Instale el paquete necesario para el proveedor (por ejemplo, @langchain/anthropic
).
Actualice la función getModelNameAndProviderFromConfig
en src/agent/utils.ts
para incluir su nuevo nombre de modelo y proveedor.
Pruebe manualmente comprobando que puede:
4a. Generar un nuevo artefacto
4b. Generar un mensaje de seguimiento (sucede automáticamente después de generar un artefacto)
4c. Actualizar un artefacto a través de un mensaje en el chat.
4d. Actualizar un artefacto mediante una acción rápida
4e. Repita para texto/código (asegúrese de que ambos funcionen)
A continuación se muestra una lista de funciones que nos gustaría agregar a Open Canvas en un futuro próximo:
Renderizar React en el editor : Idealmente, si Open Canvas genera código React (o HTML), deberíamos poder renderizarlo en vivo en el editor. Editar : ¡Esto se encuentra ahora en la etapa de planificación!
Múltiples asistentes : los usuarios deberían poder crear múltiples asistentes, cada uno con su propio almacén de memoria.
Proporcionar a los asistentes 'herramientas' personalizadas : una vez que hayamos implementado RemoteGraph
en LangGraph.js, los usuarios deberían poder dar a los asistentes acceso para llamar a sus propios gráficos como herramientas. Esto significa que puede personalizar su asistente para tener acceso a eventos actuales, su propio gráfico de conocimiento personal, etc.
¿Tiene alguna solicitud de función? ¡Abre un problema!
¡Nos gustaría seguir desarrollando y mejorando Open Canvas y queremos tu ayuda!
Para empezar, hay un puñado de problemas de GitHub con solicitudes de funciones que describen mejoras y adiciones para mejorar aún más la UX de la aplicación. Hay tres etiquetas principales:
frontend
: esta etiqueta se agrega a los problemas que se centran en la interfaz de usuario y no requieren mucho o ningún trabajo por parte de los agentes.
ai
: esta etiqueta se agrega a los problemas que se centran en mejorar los agentes de LLM.
fullstack
: esta etiqueta se agrega a los problemas que requieren tocar tanto el código del frontend como del agente.
Si tiene preguntas sobre cómo contribuir, comuníquese conmigo por correo electrónico: brace(at)langchain(dot)dev
. Para errores o problemas generales con el código, abra un problema en GitHub.