Magmalabs präsentiert die beste Schnittstelle im Chatgpt-Stil für GPT, geschrieben in Rails 7 mit Cabeready und StimulusReflex!
Magmaachat ist im Wesentlichen immer noch ein Beweis für das Konzept, aber viele Showstopper-Fehler wurden in Magmalabs im eigenen Haus herausgeschüttelt, wo wir es als unsere Unternehmens-Chatgpt-Lösung verwenden.
Schließlich sollten wir Devise für viele weitere Authentifizierungs- und Benutzerverwaltungsoptionen integrieren. Im Moment müssen Sie sich jedoch für die Verwendung eines Google -Kontos anmelden.
Ein Gespräch ist eine Instanz eines Chats zwischen einem Menschen und einem Bot. Ein Bot ist ein anthropomorphisierter digitaler persona/autonomer Agent, der in Magmaachat konfiguriert ist und mithilfe der OpenAI -API für Chat -Abschluss (auch bekannt als Chatgpt) zum Leben erweckt wurde.
Der Standard -Bot ist Gerald. Mit ihm zu sprechen ist wie direkt mit Chatgpt zu sprechen, er hat keine besondere Richtlinie. Wenn Sie ein Administrator sind, können Sie zu /admin/bots gehen und experimentieren, um zusätzliche Bots mit benutzerdefinierten Anweisungen zu erstellen, mit denen sie spezielle Rollen und/oder Persönlichkeiten übernehmen können.
Da Benutzer mit Bots chatten, machen Bots passiv Beobachtungen über den Benutzer und die Konversation und speichern diese als Erinnerungen in der thoughts . Wenn Marqo aktiviert ist, werden Gedanken auch als Vektoren gespeichert, damit sie mithilfe der Tensorsuche abgefragt werden können. Ein wesentlicher Bestandteil der integrierten Programme von Bots ist es, menschlich zu handeln und sich daran zu erinnern, wer Sie sind. Bots, die als freundlich konfiguriert sind, fragen Sie oft proaktiv, wie es Ihnen heute geht, und verfolgen Sie frühere Gesprächsthemen. Aktive Minderung verhindert, dass Bots ihre Gespräche mit Haftungsausschlüssen „als Sprachmodell“ verurteilt.
Damit Sie beim Chatten nie abrupt die Token ausgehen, wird das an OpenAI gesendete Konversations -Transkript mit Fenster geführt. Das heißt, wenn ein Gespräch lang genug wird, werden frühere Nachrichten nicht in den Kontext enthalten. Wenn Sie spüren, dass das Gespräch einen wichtigen Kontext verliert, beginnen Sie einfach eine neue. Da Bots Speicher haben, sollten Sie nicht zu viel aus den vorherigen Gesprächen wiederholen müssen.
Ein Hintergrundprozess fügt automatisch Analysemetadaten zu Gesprächen hinzu. Wir werden diesen Prozess irgendwann Konfigurationsoptionen hinzufügen, damit er nur auf Bedarf oder in regelmäßigen Abständen statt nach jedem Nachrichtenaustausch ausgeführt wird.
Typ /public , um nicht authentifizierte Besucher ein Gespräch zur Verfügung zu stellen.
Die Texteingabe für das Chating kann zwischen einzelnen Zeilen- und Wachstumsmodi umgedreht werden, um maximale Benutzerfreundlichkeit zu erzielen. Geben Sie einfach ein /grow um umzuschalten. Im Grow -Modus gibt CMD+EINGABE Ihre Nachricht ein (oder drücken Sie die Send -Taste.)
Ihr Bot kann mit Ihnen sprechen. Klicken Sie einfach auf ihren Avatar, um den Nachrichteninhalt mit elf Labors -API laut vorzulesen. (Benötigt die Einstellung XI_API_KEY -Umgebungsvariablen.)
Alle Eingabeaufforderungen werden in config/prompts.yml gespeichert und es ist geplant, sie zur Laufzeit editierbar zu machen.
Die Seite "Benutzereinstellungen" ist dynamisch mit Einträgen in der i18n YAML -Datei konfiguriert. Dies wird nicht als süß oder klug gemacht, aber mit Blick auf Edelstein-basierte Plugins für die Plattform, die Benutzereinstellungen zur Laufzeit dynamisch hinzufügen kann, ohne ihre eigenen Benutzer vorhanden zu haben.
Ein dynamischer Texthelfer, der von GPT selbst unterstützt wird, wird verwendet, um statischen Text in der Benutzeroberfläche zu generieren. Dies bedeutet, dass Sie Ihre App sofort internationalisieren können, indem Sie die bevorzugte Sprache in den Benutzereinstellungen ändern. Administratoren können Freeform-Text eingeben, während normale Benutzer einen Dropdown mit vorab genehmigten Auswahloptionen erhalten.
Wir planen, in den kommenden Monaten weiterhin Funktionen (und Außencode-Mitwirkende! Hinweis, Hinweis) hinzuzufügen, da wir uns bemühen, Magmaachat zur besten Plattform der Welt für den Aufbau von GPT-Backed-Apps zu machen.
Hier sind einige der coolen Funktionen, die wir uns vorstellen:
Ruby 3.2.1
Benötigt Docker
Verwenden Sie die Datei docker-compose.yml.example als Anleitung für Ihre eigene Konfiguration.
Konfigurieren von Umgebungsvariablen
cp .env.example .env.localStarten Sie die App
docker-compose up --build Stellen Sie sicher, dass Sie die Variable Set OPENAI_ACCESS_TOKEN -Umgebung haben. (Entwickler verwenden Sie eine .env.local -Datei im Stamm des Projekts.)
Derzeit ist Google OAuth die einzige unterstützte Authentifizierungsmethode. Sie benötigen GOOGLE_CLIENT_ID und GOOGLE_CLIENT_SECRET -Umgebungsvariablen.
Wenn Sie Marqo verwenden, stellen Sie sicher, dass die Variable MARQO_URL -Umgebungsvariable festgelegt wird, da der MemoryAnnotator sonst nicht ausgeführt wird.
Die Administratorrechte werden einfach mit dem admin -Booleschen Attribut für User erteilt. Es gibt momentan keine Admin -Benutzeroberfläche. Wenn Sie also Ihren Benutzernadministratorrechten angeben möchten, tun Sie dies über die Konsole.
Sobald Sie Administratorrechte haben, können Sie auf /admin/bots zugreifen, um zusätzliche Bots zu erstellen, die über nur Gerald hinausgehen, den Standard -GPT -Assistenten, der automatisch erstellt wurde. Beachten Sie, dass Bots veröffentlicht werden müssen, um auf dem neuen Chat-Bildschirm für Nicht-Adminampfer-Benutzer anzuzeigen. Draft -Bots werden den Administratorbenutzern angezeigt, damit sie vor der Veröffentlichung getestet und verfeinert werden können.
Geben Sie /Debuggen von jeder Chat -Eingabe ein, um die Sichtbarkeit versteckter Nachrichten mit Inline -Anweisungen an die Bots von der Plattform zu umschalten.
Wir suchen aktiv nach Mitwirkenden für das Projekt, und der Code ist mit Todos übersät, die Möglichkeiten für unabhängige Forschung und/oder Verbesserung der Funktionen bieten.
Wir müssen Ihnen darauf hinweisen, dass Sie durch die Einreichung eines Pull -Antrags alle Rechte oder Ansprüche auf Änderungen, die dem Magmaachat -Projekt eingereicht wurden, ablehnen und das Urheberrecht dieser Änderungen an Obie Fernandez & Wearemagma -Gruppe zuweisen, sollten Sie diese Rechte nicht übertragen oder nicht bereit sein, diese Rechte zu übertragen (wie Ihre Beschäftigungsvereinbarung mit Ihrem Arbeitgeber möglicherweise solche Maßnahmen vorliegen), wir können gegen eine Ziehanfrage eine Pull -Anfrage vorlegen. Eröffnen Sie stattdessen ein Problem und lassen Sie die Aufgabe von einer anderen Partei übernehmen. Dies ist eher eine gängige Praxis für solche Projekte als ein außergewöhnliches Ereignis. Dieser Abschnitt ist im Wesentlichen ein legalistischer Ausdruck, der vermittelt: "Wenn Sie uns eine PR vorlegen, wird dieser Code zu unserem Eigentum". In Wirklichkeit beabsichtigen dies die meisten Menschen, 99,9% der Fälle zu passieren, und wir hoffen, dass es Sie nicht davon abhält, Beiträge zum Projekt zu leisten.