¡Magmalabs presenta la mejor interfaz de estilo chatgpt para GPT, escrita en Rails 7 con CableReady y StimulusReflex!
Magmachat es esencialmente una prueba de concepto, pero muchos errores de showstopper se han sacudido internamente en Magmalabs, donde lo estamos utilizando como nuestra solución de chatgpt corporativa.
Eventualmente debemos integrar el diseño para muchas más opciones de autenticación y administración de usuarios, pero por ahora debe iniciar sesión utilizando una cuenta de Google.
Una conversación es una instancia de una charla entre un humano y un bot. Un bot es una personalidad digital/agente autónomo antropomorfizado configurado en Magmachat y traído a la vida utilizando la API de OpenAI para completar el chat (también conocido como chatgpt).
El bot predeterminado es Gerald. Hablar con él es como hablar directamente con ChatGPT, no tiene una directiva especial. Si es un administrador, puede ir a /admin/bots y experimentar con la creación de bots adicionales con directivas personalizadas que los hacen asumir roles y/o personalidades especializados.
A medida que los usuarios están chateando con bots, los bots hacen observaciones pasivamente sobre el usuario y la conversación y los almacenan como recuerdos en la tabla thoughts . Si Marqo está habilitado, los pensamientos también se almacenan como vectores para que se puedan consultar utilizando la búsqueda de tensor. Una parte esencial de la programación incorporada de los bots es actuar como humano y recordar quién eres. Los bots que están configurados para ser amigables a menudo le preguntarán de manera proactiva cómo lo está haciendo hoy y hará un seguimiento de los temas de conversación anteriores. Active Mitigation evita que los bots ensucien sus conversaciones con las renuncias de "como modelo de idioma".
Para que nunca se quede sin tokens mientras chatea, la transcripción de conversación que se envía a OpenAi está ventana. Eso significa que si una conversación se vuelve lo suficientemente larga, los mensajes anteriores no se incluirán en el contexto. Si siente que la conversación está perdiendo un contexto vital, simplemente comience uno nuevo. Debido a que los bots tienen memoria, no debería tener que repetir demasiado de las conversaciones anteriores.
Un proceso de fondo agrega automáticamente metadatos de análisis a las conversaciones. Eventualmente agregaremos opciones de configuración a este proceso para que solo se ejecute a pedido, o a intervalos periódicos en lugar de después de cada intercambio de mensajes.
Tipo /public para hacer una conversación a disposición de los visitantes no autenticados.
La entrada de texto para chatear se puede alternar entre los modos de una sola línea y de crecimiento, para la máxima usabilidad. Simplemente escriba /grow para alternar. En modo de crecimiento, CMD+Enter envía su mensaje (o presione el botón Enviar).
Tu bot puede hablar contigo. Simplemente haga clic en su avatar para que el contenido del mensaje lea en voz alta usando once API Labs. (Requiere configurar la variable de entorno XI_API_KEY .)
Todas las indicaciones se almacenan en config/prompts.yml y el plan es eventualmente hacerlas editables en tiempo de ejecución.
La página de configuración del usuario está configurada dinámicamente con entradas en el archivo YAML I18N. Esto no se hace para ser lindo o inteligente, sino con el ojo hacia los complementos basados en GEM a la plataforma que puede agregar dinámicamente la configuración del usuario en tiempo de ejecución sin tener que tener sus propias plantillas orientadas al usuario.
Un ayudante de texto dinámico, respaldado por el propio GPT, se utiliza para generar texto estático en la interfaz de usuario. Esto significa que puede internacionalizar instantáneamente su aplicación cambiando el lenguaje preferido en la configuración del usuario. Los administradores pueden ingresar el texto de Freeform, mientras que los usuarios normales obtienen un menú desplegable con las opciones de selección previamente aprobadas.
Planeamos continuar agregando características (¡y colaboradores externos del código! Sugerencia, sugerir) a un ritmo rápido en los próximos meses, ya que nos esforzamos por hacer de Magmachat la mejor plataforma del mundo para construir aplicaciones respaldadas por GPT.
Estas son algunas de las características interesantes que estamos imaginando:
Ruby 3.2.1
Requiere Docker
Use el archivo docker-compose.yml.example como guía para su propia configuración.
Configurar variables de entorno
cp .env.example .env.localEnciende la aplicación
docker-compose up --build Asegúrese de tener un conjunto de variables de entorno OPENAI_ACCESS_TOKEN . (Desarrolladores, use un archivo .env.local en la raíz del proyecto).
En este momento, el único método de autenticación admitido es Google Oauth. Necesitará un conjunto de variables de entorno GOOGLE_CLIENT_ID y GOOGLE_CLIENT_SECRET .
Si está utilizando Marqo, asegúrese de establecer la variable de entorno MARQO_URL , de lo contrario el MemoryAnnotator no se ejecutará.
Los privilegios de administración se otorgan simplemente con el atributo booleano admin en User . No hay UI de administración en este momento, por lo que si desea darle a su usuario los derechos de administrador, hágalo a través de la consola.
Una vez que tenga derechos de administrador, podrá acceder /admin/bots para crear bots adicionales más allá de solo Gerald, el asistente de GPT predeterminado que se crea automáticamente. Tenga en cuenta que los bots deben publicarse para aparecer en la nueva pantalla de chat para usuarios no administrativos. El borrador de los bots aparece a los usuarios administrativos para que puedan ser probados y refinados antes de la publicación.
Escriba /depuración de cualquier entrada de chat para alternar la visibilidad de los mensajes ocultos que contienen instrucciones en línea a los bots desde la plataforma.
Estamos buscando activamente contribuyentes al proyecto, y el código está lleno de TODO que presentan oportunidades para la investigación independiente y/o la mejora de las características.
Debemos informarle que al presentar una solicitud de extracción, usted rechace cualquier derecho o reclamo a cualquier cambio enviado al Proyecto Magmachat y asigne los derechos de autor de esos cambios a Obie Fernández y Wearemagma Group, Inc. Si no puede ser posible o no está dispuesto a transferir esos derechos (como un acuerdo de empleo con su empleador puede prohibir dicha acción). En su lugar, abre amablemente un problema y deje la tarea que debe emprender otra parte. Esta es una práctica común para tales proyectos, en lugar de una ocurrencia excepcional. Esta sección es esencialmente una expresión legalista que transmite que "si envía un PR a nosotros, ese código se convierte en nuestra propiedad". En realidad, esto es lo que la mayoría de las personas pretenden suceder el 99.9% del tiempo, y esperamos que no le disuade de hacer contribuciones al proyecto.