Magmalabs présente la meilleure interface de style chatppt pour GPT, écrite dans Rails 7 avec CableReady et StimulusReflex!
Magmachat est essentiellement encore une preuve de concept, mais de nombreux bogues Showstopper ont été secoués en interne à Magmalabs où nous l'utilisons comme solution de chatppt d'entreprise.
Finalement, nous devrions intégrer Devise pour beaucoup plus d'options d'authentification et de gestion des utilisateurs, mais pour l'instant, vous devez vous connecter à l'aide d'un compte Google.
Une conversation est un exemple de chat entre un humain et un bot. Un bot est un personnage numérique / agent autonome anthropomorphisé configuré dans Magmachat et a pris vie en utilisant l'API d'Openai pour l'achèvement du chat (aka chatgpt).
Le bot par défaut est Gerald. Il ne lui parlait que de parler directement à Chatgpt, il n'a pas de directive spéciale. Si vous êtes administrateur, vous pouvez vous rendre sur /admin/bots et expérimenter la création de robots supplémentaires avec des directives personnalisées qui les font jouer des rôles et / ou des personnalités spécialisées.
Alors que les utilisateurs discutent avec des bots, les bots font passivement des observations sur l'utilisateur et la conversation et les stockent comme des souvenirs dans le tableau thoughts . Si Marqo est activé, les pensées sont également stockées en tant que vecteurs afin qu'ils puissent être interrogés à l'aide de la recherche du tenseur. Une partie essentielle de la programmation intégrée des bots est d'agir de type humain et de se rappeler qui vous êtes. Les robots configurés pour être amicaux vous demanderont souvent de manière proactive comment vous allez aujourd'hui et suivez les sujets de conversation précédents. L'atténuation active empêche les robots de joncher leurs conversations avec des avertissements «en tant que modèle de langue».
Pour que vous ne manquiez jamais brusquement de jetons pendant le chat, la transcription de la conversation envoyée à OpenAI est fendue. Cela signifie que si une conversation devient assez longue, les messages antérieurs ne seront pas inclus dans le contexte. Si vous sentez que la conversation perd un contexte vital, commencez-en un nouveau. Parce que les robots ont de la mémoire, vous ne devriez pas avoir à répéter trop à partir des conversations précédentes.
Un processus d'arrière-plan ajoute automatiquement des métadonnées d'analyse aux conversations. Nous allons éventuellement ajouter des options de configuration à ce processus afin qu'il ne soit que sur la demande, ou à des intervalles périodiques plutôt qu'après chaque échange de messages.
Type /public pour mettre une conversation à la disposition des visiteurs non authentifiés.
L'entrée de texte pour le chat peut être basculée entre les modes de ligne unique et de croissance, pour une convivialité maximale. Tapez /grow pour basculer. En mode Grow, CMD + ENTER soumet votre message (ou appuyez sur le bouton Envoyer.)
Votre bot peut vous parler. Cliquez simplement sur leur avatar pour que le contenu du message lise à haute voix en utilisant API Eleven Labs. (Nécessite le réglage de la variable d'environnement XI_API_KEY .)
Toutes les invites sont stockées dans config/prompts.yml et le plan est de les rendre éventuellement modifiables au moment de l'exécution.
La page Paramètres utilisateur est configurée dynamiquement avec des entrées dans le fichier YAML i18n. Cela n'est pas fait pour être mignon ou intelligent, mais en tenant compte des plugins basés sur des gemmes à la plate-forme, en mesure d'ajouter dynamiquement les paramètres utilisateur lors de l'exécution sans avoir à avoir ses propres modèles orientés utilisateur.
Une aide à texte dynamique, soutenue par GPT elle-même, est utilisée pour générer du texte statique dans l'interface utilisateur. Cela signifie que vous pouvez instantanément internationaliser votre application en modifiant la langue préférée dans les paramètres utilisateur. Les administrateurs peuvent entrer du texte Freeform, tandis que les utilisateurs normaux obtiennent une liste déroulante avec des options de sélection pré-approuvées.
Nous prévoyons de continuer à ajouter des fonctionnalités (et des contributeurs de code extérieurs! Indice, indice) à un rythme rapide au cours des prochains mois, alors que nous nous efforçons de faire de Magmachat la meilleure plate-forme mondiale pour créer des applications soutenues par GPT.
Voici quelques-unes des fonctionnalités intéressantes que nous envisageons:
Ruby 3.2.1
Nécessite docker
Utilisez le fichier docker-compose.yml.example comme guide pour votre propre configuration.
Configurer les variables d'environnement
cp .env.example .env.localtirez l'application
docker-compose up --build Assurez-vous que vous disposez d'un ensemble de variables d'environnement OPENAI_ACCESS_TOKEN . (Développeurs, utilisez un fichier .env.local à la racine du projet.)
À l'heure actuelle, la seule méthode d'authentification prise en charge est Google Oauth. Vous aurez besoin GOOGLE_CLIENT_ID et GOOGLE_CLIENT_SECRET Environ Variables Set.
Si vous utilisez Marqo, assurez-vous de définir la variable d'environnement MARQO_URL , sinon le MemoryAnnotator ne s'exécutera pas.
Les privilèges d'administration sont accordés simplement avec l'attribut booléen admin sur User . Il n'y a pas d'interface utilisateur d'administration pour le moment, donc si vous souhaitez donner vos droits d'administration utilisateur, faites-le via la console.
Une fois que vous avez des droits d'administration, vous pourrez accéder /admin/bots pour créer des robots supplémentaires au-delà de Gerald, l'assistant GPT par défaut qui est créé automatiquement. Notez que les robots doivent être publiés afin de s'afficher dans le nouvel écran de chat pour les utilisateurs non-administratifs. Les projets de robots apparaissent aux utilisateurs de l'administrateur afin qu'ils puissent être testés et affinés avant la publication.
Tapez / débogage de toute entrée de chat pour basculer la visibilité des messages cachés contenant des instructions en ligne aux bots de la plate-forme.
Nous recherchons activement des contributeurs au projet, et le code est jonché de todos qui présentent des opportunités de recherche indépendante et / ou d'amélioration des fonctionnalités.
Nous devons vous conseiller qu'en soumettant une demande de traction, vous désavouez tous les droits ou réclamations à toute modification soumise au projet Magmachat et attribuer le droit d'auteur de ces modifications à Obie Fernandez & Weetemagma Group, Inc. Si vous ne pouvez pas être en mesure de transférer ces droits (car votre accord d'emploi avec votre employeur peut interdire une telle action), nous conseillons à soumettre une demande de traction. Au lieu de cela, veuillez ouvrir un problème et laisser la tâche à entreprendre par une autre partie. Il s'agit d'une pratique courante pour de tels projets, plutôt qu'un événement exceptionnel. Cette section est essentiellement une expression légaliste transmettant que "si vous nous soumettez un PR, ce code devient notre propriété". En réalité, c'est ce que la plupart des gens ont l'intention de se produire 99,9% du temps, et nous espérons que cela ne vous dissuade pas de contribuer au projet.