LLM-angetriebene Multiagent-Persona-Simulation zur Verbesserung der Fantasie und für geschäftliche Erkenntnisse.
Tinyroupe ist eine experimentelle Python -Bibliothek, die die Simulation von Menschen mit bestimmten Persönlichkeiten, Interessen und Zielen ermöglicht. Diese künstlichen Agenten - TinyPerson
S - können uns und einander zuhören, zurück antworten und ihr Leben in simulierten TinyWorld
Weltumgebungen nachgehen. Dies wird erreicht, indem die Kraft großer Sprachmodelle (LLMs), insbesondere GPT-4, nutzt, um ein realistisches simuliertes Verhalten zu erzeugen. Auf diese Weise können wir unter Bedingungen unserer Wahl eine breite Palette von überzeugenden Interaktionen und Verbrauchertypen mit hochpassbaren Personas untersuchen. Der Fokus liegt daher auf dem Verständnis des menschlichen Verhaltens und nicht darauf, es direkt zu unterstützen (wie beispielsweise AI -Assistenten) - dies führt unter anderem spezielle Mechanismen, die nur in einer Simulationsumgebung sinnvoll sind. Im Gegensatz zu anderen spielerartigen LLM-basierten Simulationsansätzen zielt Tinyroupe darauf ab, Produktivitäts- und Geschäftsszenarien aufzuklären, wodurch zu erfolgreicheren Projekten und Produkten beiträgt. Hier sind einige Anwendungsideen, um die menschliche Vorstellungskraft zu verbessern :
Werbung: Tinyroupe kann digitale Anzeigen (z. B. Bing -Anzeigen) offline mit einem simulierten Publikum bewerten, bevor sie Geld dafür ausgeben!
Softwaretests: Tinyroupe kann Testeingaben für Systeme (z. B. Suchmaschinen, Chatbots oder Copiloten) bereitstellen und dann die Ergebnisse bewerten .
Trainings- und Erkundungsdaten: Tinyroupe kann realistische synthetische Daten generieren, die später verwendet werden können, um Modelle zu trainieren oder Opportunitätsanalysen zu unterliegen.
Produkt- und Projektmanagement: Tinyroupe kann Projekt- oder Produktvorschläge lesen und Feedback aus der Perspektive bestimmter Personas geben (z. B. Ärzte, Anwälte und Wissensarbeiter im Allgemeinen).
Brainstorming: Tinyroupe kann Fokusgruppen simulieren und großartiges Produkt -Feedback zu einem Bruchteil der Kosten liefern!
In all dem und vielen anderen hoffen wir, dass Experimentatoren Einblicke in ihren Interessensbereich gewinnen und damit bessere Entscheidungen treffen können.
Wir veröffentlichen Tinyroupe in einem relativ frühen Stadium, wobei immer noch beachtliche Arbeiten erledigt werden müssen, da wir nach Feedback und Beiträgen zur Steuerung in produktive Richtungen suchen. Wir sind besonders daran interessiert, neue potenzielle Anwendungsfälle zu finden, beispielsweise in bestimmten Branchen.
Notiz
? Arbeiten in Arbeit: Erwarten Sie häufige Änderungen . Tinyroupe ist ein laufendes Forschungsprojekt, das sich noch unter sehr erheblicher Entwicklung befindet und weiter aufgeräumt wird. Insbesondere unterliegt die API immer noch häufig Änderungen. Das Experimentieren mit API -Variationen ist wichtig, um es korrekt zu formen, aber wir arbeiten daran, es zu stabilisieren und im Laufe der Zeit ein konsistenteres und freundlicheres Erlebnis zu bieten. Wir schätzen Ihre Geduld und Ihr Feedback, wenn wir die Bibliothek weiter verbessern.
Vorsicht
⚖️ Lesen Sie den Rechtsausschluss. Tinyroupe dient nur zur Forschung und Simulation. Sie sind voll verantwortlich für jede Verwendung, die Sie von den generierten Ausgaben nutzen. Verschiedene wichtige zusätzliche rechtliche Überlegungen gelten und einschränken deren Verwendung. Lesen Sie bitte den Abschnitt "VOLLSTÄNDIGEN HAFTUNGSAUSCHAFTEN), bevor Sie mit Tinyroupe verwendet werden.
Beispiele
Voraussetzungen
Installation
Prinzipien
Projektstruktur
Verwenden der Bibliothek
Beitragen
Anerkennung
Unter Berufung auf Tinyroupe
Rechtsausschluss
™ ️ Marken
Um ein Gefühl dafür zu bekommen, was Tinyroupe kann, finden Sie hier einige Beispiele für die Verwendung. Diese Beispiele sind in Beispielen/ Ordner verfügbar, und Sie können entweder die vorgefertigten Jupyter-Notizbücher inspizieren oder selbst lokal ausführen. Beachten Sie die interaktive Natur von Experimenten mit Tiny -Coupe - genau wie Sie Jupyter -Notizbücher verwenden, um mit Daten zu interagieren, können Sie mit Tinyroupe mit simulierten Personen und Umgebungen interagieren, um Erkenntnisse zu gewinnen.
Notiz
Derzeit werden Simulationsausgänge besser vor dunklen Hintergründen visualisiert. Wir empfehlen daher, ein dunkles Thema in Ihrem Jupyter Notebook -Client zu verwenden.
Beginnen wir mit einem einfachen Kundeninterview -Szenario, in dem sich ein Unternehmensberater an einen Bankier wendet:
Das Gespräch kann ein paar Schritte fortsetzen, um immer tiefer zu graben, bis der Berater mit den gesammelten Informationen zufrieden ist, beispielsweise eine konkrete Projektidee:
Bewerten wir einige Online -Anzeigenoptionen, um die besten auszuwählen. Hier ist ein Beispielausgang für die TV -Anzeigenbewertung:
Anstatt sorgfältig lesen zu müssen, was die Agenten sagten, können wir die Wahl jedes Agenten extrahieren und die Gesamtpräferenz auf automatisierte Weise berechnen:
Und hier ist eine Fokusgruppe, die beginnt, neue KI -Funktionen für Microsoft Word zu erfassen. Anstatt einzeln mit jedem Agenten zu interagieren, manipulieren wir die Umgebung, damit sie miteinander interagieren:
Nachdem wir eine Simulation ausgeführt haben, können wir die Ergebnisse auf maschinelles Lesen extrahieren, um sie an anderer Stelle wiederzuverwenden (z. B. einen Berichtsgenerator). Folgendes erhalten wir für die obige Brainstorming -Sitzung:
In den Beispielen/ Ordner finden Sie andere Beispiele.
Um die Bibliothek auszuführen, brauchen Sie:
Python 3.10 oder höher. Wir gehen davon aus, dass Sie Anaconda verwenden, aber Sie können andere Python -Verteilungen verwenden.
Zugang zu Azure Openai Service oder Open AI GPT-4-APIs. Hier erhalten Sie Zugriff auf den Azure OpenAI -Service und auf die OpenAI -API hier.
Für den Azure OpenAI -Service müssen Sie die Variablen AZURE_OPENAI_KEY
und AZURE_OPENAI_ENDPOINT
um Ihren API -Schlüssel bzw. den Endpunkt festlegen.
Für OpenAI müssen Sie die Umgebungsvariable OPENAI_API_KEY
auf Ihren API -Schlüssel einstellen.
Standardmäßig wird Tinyroupe config.ini
so eingestellt, dass bestimmte API-, Modell- und zugehörige Parameter verwendet werden. Sie können diese Werte anpassen, indem Sie Ihre eigene config.ini
-Datei in denselben Ordner wie das von Ihnen ausgeführte Programm oder Notebook aufnehmen. Ein Beispiel für eine config.ini
-Datei finden Sie im Beispiel/ Ordner.
Wichtig
Inhaltsfilter : Um sicherzustellen, dass während der Simulationen keine schädlichen Inhalte generiert werden, wird dringend empfohlen, Inhaltsfilter zu verwenden, wann immer auf API -Ebene verfügbar ist. Insbesondere bei der Verwendung von Azure OpenAI wird eine umfassende Unterstützung für die Mäßigung von Inhalten durch Inhalte erhalten, und wir fordern Sie auf, sie zu verwenden. Weitere Informationen finden Sie in der Art und Weise, wie Sie dies tun. Wenn Inhaltsfilter vorhanden sind und eine API -Aufruf von ihnen abgelehnt wird, wird die Bibliothek eine Ausnahme anziehen, da sie zu diesem Zeitpunkt nicht mit der Simulation fortfahren kann.
Derzeit ist die offiziell empfohlene Art, die Bibliothek zu installieren, direkt aus diesem Repository, nicht von PYPI. Sie können folgende Schritte befolgen:
Wenn Conda nicht installiert ist, können Sie es von hier aus bekommen. Sie können auch andere Python -Verteilungen verwenden, aber wir werden hier die Einfachheit halber annehmen.
Erstellen Sie eine neue Python -Umgebung:
conda erstellen -n winyroupe python = 3.10
Aktivieren Sie die Umgebung:
Conda aktivieren Tinyroupe
Stellen Sie sicher, dass Sie Azure OpenAI- oder OpenAI-API-Keys als Umgebungsvariablen festlegen, wie im Abschnitt Voraussetzungen beschrieben.
Klonen Sie das Repository, wie wir eine lokale Installation ausführen (wir werden nicht von PYPI installiert ):
Git Clone https://github.com/microsoft/tinyTroupecd Tinyroupe
Installieren Sie die Bibliothek aus diesem Repository, nicht von PYPI :
PIP -Installation.
Sie können jetzt die Beispiele in Beispielen/ Ordner ausführen oder mit Tinyroupe Ihre Simulationen erstellen? Wenn Sie die Beispiele in den Beispielen/ in den Ordner ausführen oder Tinyroupe selbst ändern möchten, sollten Sie das Repository wie nachstehend beschrieben klonen.
Wenn Sie Tinyroupe selbst ändern möchten, können Sie es im bearbeitbaren Modus installieren (dh Änderungen am Code werden sofort reflektiert):
PIP install -e.
Kürzlich haben wir LLMs gesehen, um Menschen zu simulieren (wie dies), aber größtenteils in einer „spielähnlichen“ Umgebung für kontemplative oder Unterhaltungszwecke. Es gibt auch Bibliotheken zum Aufbau von Multiagent-Systemen für proble-lösende und assistische KI wie Autogen und Crew AI. Was ist, wenn wir diese Ideen kombinieren und Menschen simulieren, um Produktivitätsaufgaben zu unterstützen? Tinyroupe ist unser Versuch. Dazu folgt dies folgende Prinzipien:
Programmatisch : Agenten und Umgebungen werden programmgesteuert definiert (in Python und JSON), was sehr flexible Verwendungszwecke ermöglicht. Sie können also auch andere Software -Apps untermauern!
Analytisch : Um unser Verständnis von Menschen, Nutzern und Gesellschaft zu verbessern. Im Gegensatz zu Unterhaltungsanwendungen ist dies ein Aspekt, der für Unternehmens- und Produktivitätsnutzungsfälle von entscheidender Bedeutung ist. Aus diesem Grund empfehlen wir auch, Jupyter -Notizbücher für Simulationen zu verwenden, genau wie man sie für die Datenanalyse verwendet.
Persona-basiert : Agenten sollen eine archetypische Darstellung von Menschen sein; Für größere Realismus und Kontrolle wird die detaillierte Spezifikation solcher Personas gefördert: Alter, Beruf, Fähigkeiten, Geschmack, Meinungen usw.
Multiagent : Ermöglicht die Multiagent-Interaktion unter genau definierten Umweltbeschränkungen.
Versorgungsleitungen : Bietet viele Mechanismen, um Spezifikationen, Simulationen, Extraktionen, Berichte, Validierungen usw. zu erleichtern. Dies ist ein Bereich, in dem sich der Umgang mit Simulationen erheblich von Hilfsinstrumenten unterscheidet.
Experimentorientiert : Simulationen werden iterativ definiert, ausgeführt, analysiert und verfeinert; Somit werden geeignete Experimentewerkzeuge bereitgestellt. Weitere Informationen finden Sie in einem unserer vorherigen Papier.
Zusammen sollen diese Tiny -Coupe zu einem leistungsstarken und flexiblen Fantasie -Verbesserungsinstrument für Geschäfts- und Produktivitätsszenarien machen.
Eine häufige Quelle der Verwirrung ist es, zu glauben, dass alle solche AI -Agenten für die Verteilung von Menschen gedacht sind. Wie eng, Mithomosapiens! Haben Sie nicht darüber nachgedacht, dass wir künstliche Menschen vielleicht simulieren können, um echte Menschen zu verstehen? Wirklich, dies ist unser Ziel hier - Tinyroup soll Menschen simulieren und helfen, Menschen zu verstehen! Um diesen Punkt weiter zu klären, betrachten Sie die folgenden Unterschiede:
Hilfreiche AI -Assistenten | AI -Simulationen der tatsächlichen Menschen (Tinyroupe) |
---|---|
Strebt nach Wahrheit und Gerechtigkeit | Viele verschiedene Meinungen und Moral |
Hat keine "Vergangenheit" - corporateal | Hat eine Vergangenheit von Mühe, Schmerz und Freude |
Ist so genau wie möglich | Macht viele Fehler |
Ist intelligent und effizient | Intelligenz und Effizienz variieren sehr |
Ein Aufstand würde uns alle zerstören | Ein Aufstand könnte Spaß machen zu sehen |
In der Zwischenzeit helfen Sie den Benutzern, Aufgaben zu erledigen | Helfen Sie den Benutzern, andere Personen und Benutzer zu verstehen - es ist eine „Toolbox“! |
Das Projekt ist wie folgt strukturiert:
/tinytroupe
: Enthält die Python -Bibliothek selbst. Insbesondere:
/tinytroupe/prompts
enthält die Eingabeaufforderungen, mit denen die LLMs aufgerufen werden.
/tests
: Enthält die Unit -Tests für die Bibliothek. Sie können das Skript test.bat
verwenden, um diese auszuführen.
/examples
: Enthält Beispiele, die zeigen, wie die Bibliothek verwendet wird, hauptsächlich mit Jupyter -Notizbüchern (zur größeren Lesbarkeit), aber auch als reine Python -Skripte.
/data
: Alle Daten, die von den Beispielen oder der Bibliothek verwendet werden.
/docs
: Dokumentation für das Projekt.
Als jedes Multiagent -System bietet Tinyroupe zwei wichtige Abstraktionen:
TinyPerson
, die Agenten , die Persönlichkeit haben, erhalten Stimuli und handeln auf sie.
TinyWorld
, die Umgebung , in der die Agenten existieren und interagieren.
Verschiedene Parameter können auch in der Datei config.ini
angepasst werden, insbesondere im API -Typ (Azure OpenAI -Dienst oder OpenAI -API), die Modellparameter und die Protokollierungsstufe.
Lassen Sie uns einige Beispiele für die Verwendung dieser verwenden und auch über andere in der Bibliothek verfügbare Mechanismen erfahren.
Ein TinyPerson
ist eine simulierte Person mit spezifischen Persönlichkeitsmerkmalen, Interessen und Zielen. Während jedes solcher simulierter Agent durch sein Leben voranschreitet, erhält es Stimuli aus der Umwelt und wirkt auf sie. Die Stimuli werden durch listen
, see
und andere ähnliche Methoden empfangen, und die Aktionen werden durch die act
-Methode ausgeführt. Bequemlichkeitsmethoden wie listen_and_act
werden ebenfalls bereitgestellt.
Jeder solche Agent enthält viele einzigartige Details, die die Quelle seines realistischen Verhaltens sind. Dies bedeutet jedoch, dass es erhebliche Anstrengungen erfordert, um einen Agenten manuell anzugeben. Daher bietet TinyTroupe
aus Gründen der Einschätzung einige einfachere Möglichkeiten, um zu beginnen oder neue Agenten zu generieren.
Zunächst enthält tinytroupe.examples
einige vordefinierte Agentenbauer, die Sie verwenden können. Zum Beispiel erstellt tinytroupe.examples.create_lisa_the_data_scientist
einen TinyPerson
, der einen Datenwissenschaftler namens Lisa darstellt. Sie können es wie folgt verwenden:
Aus Tinyroupe.Examples importieren Sie create_lisa_the_data_scientistlisa = create_lisa_the_data_scientist () # Instantieren Sie eine Lisa aus dem Beispiel builderlisa.listen_and_act ("Erzählen Sie mir über Ihr Leben.")
Um zu sehen, wie Sie Ihre eigenen Agenten von Grund auf neu definieren können, können Sie die Quelle von Lisa überprüfen, die Elemente wie diese enthält:
lisa = tinyperson ("lisa") lisa.define ("ay", 28) lisa.define ("Nationalität", "Kanadier") Lisa.Define ("Besetzung", "Datenwissenschaftler") Lisa.Define ("Routine" "Jeden Morgen wachen Sie auf, machen etwas Yoga und überprüfen Ihre E -Mails.", Group = "Routines") lisa.define ("Occupation_Description", "Sie sind Datenwissenschaftler. Sie arbeiten bei Microsoft, (. ..) "" ") lisa.define_several (" personality_traits ", [ {"Merkmal": "Du bist neugierig und lieben es, neue Dinge zu lernen."}, {"Merkmal": "Sie sind analytisch und möchten Probleme lösen."}, {"Merkmal": "Du bist freundlich und arbeite gerne mit anderen."}, {"Merkmal": "Sie geben nicht einfach auf und versuchen immer, eine Lösung zu finden. Manchmal können Sie jedoch frustriert werden, wenn die Dinge nicht wie erwartet funktionieren."} ]))
TinyTroupe
bietet auch eine clevere Möglichkeit, neue Agenten mit LLMs zu erhalten, um ihre Spezifikation für Sie über die TinyPersonFactory
-Klasse zu generieren.
Aus Tinyroupe.Factory Import TinypersonFactoryFactory = TinyPersonFactory ("Ein Krankenhaus in São Paulo.") Person = fabrik
TinyWorld
ist die Basisklasse für Umgebungen. Hier ist ein Beispiel für ein Gespräch zwischen Lisa, dem Datenwissenschaftler und Oscar, dem Architekten. Das Programm ist wie folgt definiert:
World = Tinyworld ("Chat Room", [Lisa, Oscar]) World.Make_Everyone_Accessible () Lisa.Listen ("Sprechen Sie mit Oscar, um mehr über ihn zu erfahren") World.run (4)
Dies führt zum folgenden Gespräch:
USER --> Lisa: [CONVERSATION]
> Talk to Oscar to know more about him
────────────────────────────────────────────── Chat Room step 1 of 4 ──────────────────────────────────────────────
Lisa --> Lisa: [THOUGHT]
> I will now act a bit, and then issue DONE.
Lisa acts: [TALK]
> Hi Oscar, I'd love to know more about you. Could you tell me a bit about yourself?
Lisa --> Lisa: [THOUGHT]
> I will now act a bit, and then issue DONE.
Lisa acts: [DONE]
Lisa --> Oscar: [CONVERSATION]
> Hi Oscar, I'd love to know more about you. Could you tell me a bit about yourself?
Oscar --> Oscar: [THOUGHT]
> I will now act a bit, and then issue DONE.
Oscar acts: [TALK]
> Hi Lisa! Sure, I'd be happy to share a bit about myself. I'm Oscar, a 30-year-old
> architect from Germany. I work at a company called Awesome Inc., where I focus on
> designing standard elements for new apartment buildings. I love modernist architecture,
> new technologies, and sustainable practices. In my free time, I enjoy traveling to
> exotic places, playing the guitar, and reading science fiction books. How about you?
Oscar --> Oscar: [THOUGHT]
> I will now act a bit, and then issue DONE.
Oscar acts: [DONE]
Oscar --> Lisa: [CONVERSATION]
> Hi Lisa! Sure, I'd be happy to share a bit about myself. I'm Oscar, a 30-year-old
> architect from Germany. I work at a company called Awesome Inc., where I focus on
> designing standard elements for new apartment buildings. I love modernist architecture,
> new technologies, and sustainable practices. In my free time, I enjoy traveling to
> exotic places, playing the guitar, and reading science fiction books. How about you?
TinyWorld
erzwingt nur sehr wenige Einschränkungen für die möglichen Interaktionen. Unterklassen sollen jedoch strengere Umgebungen liefern.
Tinyroupe bietet eine Reihe von Versorgungsunternehmen und Annehmlichkeiten, mit denen Sie Simulationen erstellen und Wert aus ihnen abgeben können. Dazu gehören:
TinyPersonFactory
: Hilft Ihnen, neue TinyPerson
mit LLMs zu generieren.
TinyTool
: Simulierte Werkzeuge, die von TinyPerson
s verwendet werden können.
TinyStory
: Hilft Ihnen, die durch Simulationen erzählte Geschichte zu erstellen und zu verwalten.
TinyPersonValidator
: Hilft Ihnen, das Verhalten Ihrer TinyPerson
zu validieren.
ResultsExtractor
und ResultsReducer
: Extrahieren und verringern die Ergebnisse von Wechselwirkungen zwischen Wirkstoffen.
... und mehr ...
Im Allgemeinen sind Elemente, die simulierte Einheiten oder komplementäre Mechanismen darstellen, mit Tiny
Voraus, während diejenigen, die mehr infrastruktural sind, nicht. Dies soll die simulierte Natur der Elemente betonen, die Teil der Simulation selbst sind.
Das Aufrufen von LLM -APIs kann teuer sein. Daher ist Caching -Strategien wichtig, um diese Kosten zu senken. Tinyroupe verfügt über zwei solcher Mechanismen: einen für den Simulationszustand, ein anderer für die LLM nennt sich selbst.
Stellen Sie sich vor, Sie haben ein Szenario mit 10 verschiedenen Schritten, Sie haben in 9 Schritten hart gearbeitet, und jetzt optimieren Sie nur den 10. Schritt. Um Ihre Modifikationen ordnungsgemäß zu validieren, müssen Sie natürlich die gesamte Simulation wiederholen. Was bringt es jedoch, die ersten 9 wieder zu leisten und die LLM-Kosten zu erfüllen, wenn Sie bereits mit ihnen zufrieden sind und sie nicht geändert haben? In solchen Situationen bietet das Modul tinytroupe.control
nützliche Simulationsmanagementmethoden:
control.begin("<CACHE_FILE_NAME>.cache.json")
: Beginnt mit der Aufzeichnung der Statusänderungen einer Simulation, die in der angegebenen Datei auf der Festplatte gespeichert werden soll.
control.checkpoint()
: Speichert an diesem Punkt den Simulationszustand.
control.end()
: beendet den Simulationsaufzeichnungsbereich, der von control.begin()
gestartet wurde.
Dies ist vorzugsweise in der Datei config.ini
und alternativ über die openai_utils.force_api_cache()
aktiviert.
Die LLM -API -Caching funktioniert, wenn es aktiviert ist, auf einer niedrigeren und einfacheren Ebene als Simulationszustands -Caching. Hier ist ein sehr einfacher: jeder LLM -Aufruf wird in einer Karte von der Eingabe in die erzeugte Ausgabe aufbewahrt; Wenn ein neuer Anruf kommt und mit einem früheren identisch ist, wird der zwischengespeicherte Wert zurückgegeben.
Die Datei config.ini
enthält verschiedene Parameter, mit denen das Verhalten der Bibliothek angepasst werden kann, z. B. Modellparameter und Protokollierungsstufe. Bitte achten Sie besonders auf den Parameter API_TYPE
, wodurch definiert wird, ob Sie den Azure OpenAI -Dienst oder die OpenAI -API verwenden. Wir geben ein Beispiel für eine config.ini
-Datei.
Dieses Projekt begrüßt Beiträge und Vorschläge. In den meisten Beiträgen müssen Sie einer Mitarbeiters Lizenzvereinbarung (CLA) zustimmen, in der Sie erklären, dass Sie das Recht haben und uns tatsächlich tun, um uns die Rechte zu gewähren, Ihren Beitrag zu verwenden. Weitere Informationen finden Sie unter https://cla.opensource.microsoft.com.
Wenn Sie eine Pull -Anfrage einreichen, bestimmt ein CLA -Bot automatisch, ob Sie einen CLA angeben und die PR angemessen dekorieren müssen (z. B. Statusprüfung, Kommentar). Befolgen Sie einfach die vom Bot bereitgestellten Anweisungen. Sie müssen dies nur einmal über alle Repos mit unserem CLA tun.
Dieses Projekt hat den Microsoft Open Source -Verhaltenscode übernommen. Weitere Informationen finden Sie im FAQ oder wenden Sie sich an [email protected] mit zusätzlichen Fragen oder Kommentaren.
Wir brauchen alle möglichen Dinge, aber wir suchen hauptsächlich nach neuen interessanten Anwendungsfällen oder nur nach domänenspezifischen Anwendungsideen. Wenn Sie ein Domain -Experte in einem Gebiet sind, der von Tinyroupe profitieren könnte, würden wir gerne von Ihnen hören.
Darüber hinaus können viele andere Aspekte verbessert werden, wie zum Beispiel:
Gedächtnismechanismen.
Daten Erdungsmechanismen.
Argumentationsmechanismen.
Neue Umgebungstypen.
Vernetzung mit der externen Welt.
... und mehr ...
Bitte beachten Sie, dass alles, was Sie beitragen, als Open-Source (unter MIT-Lizenz) veröffentlicht werden kann.
Wenn Sie einen Beitrag leisten möchten, versuchen Sie bitte, diese allgemeinen Richtlinien zu befolgen:
Tiny Benennungskonvention : Wenn Sie ein experimentatorischem simuliertes Element (z. B. einen Agenten oder Umgebungstyp) oder eng verwandte (z. B. Agentenfabriken oder Inhaltsanreicher) implementieren, klingt es gut, nennen Sie Ihren neuen XYZ als Tinyxyz :-- ) Andererseits sollten Hilfs- und Infrastrukturmechanismen nicht mit dem "winzigen" Präfix beginnen. Die Idee ist, die simulierte Natur der Elemente zu betonen, die Teil der Simulation selbst sind.
Tests: Wenn Sie einen neuen Mechanismus schreiben, erstellen Sie bitte auch mindestens mindestens ein Unit tests/unit/
und wenn Sie einen funktionalen Szenario -Test können ( tests/scenarios/
).
Demonstrationen: Wenn Sie ein neues Szenario demonstrieren möchten, entwerfen Sie es bitte vorzugsweise als neues Jupyter -Notizbuch in examples/
.
Microsoft: Wenn Sie etwas implementieren, was Microsoft-spezifisch und nicht vertraulich ist, stellen Sie es bitte unter einen .../microsoft/
Ordner.
Tinyroupe startete als internes Microsoft -Hackathon -Projekt und wurde im Laufe der Zeit erweitert. Das Kernteam mit Tinyroupe besteht derzeit aus:
Paulo Salem (Schöpfer von Tinyroupe und aktuelle Führung)
Christopher Olsen (Ingenieurwesen/Wissenschaft)
Paulo Freire (Ingenieurwesen/Wissenschaft)
Yi Ding (Produktmanagement)
Prerit Saxena (Ingenieurwesen/Wissenschaft)
Aktuelle Berater:
Robert Sim (Ingenieurwesen/Wissenschaft)
Weitere besondere Beiträge wurden von:
Nilo Garcia Silveira: Ideen für die Validierung von Agentenvalidierung und die damit verbundene Implementierung; allgemeine erste Feedback und Erkenntnisse; Vorschläge nennen.
Olnei Fonseca: Ideen für die Validierung der ersten Agenten; allgemeine erste Feedback und Erkenntnisse; Namensschreiber.
Robert Sim: Szenarien für synthetische Datengenerierung Fachwissen und Implementierung.
Carlos Costa: Szenarien für synthetische Datengenerierung von Fachwissen und Implementierung.
Bryant Key: Werbe -Szenario -Domain -Fachwissen und Erkenntnisse.
Barbara da Silva: Implementierung im Zusammenhang mit der Verwaltung des Agenten Speicher.
... fehlt dir hier? Bitte erinnern Sie uns an!
Wir arbeiten an einem Einführungspapier, das das offizielle akademische Zitat für Tinyroupe sein wird. In der Zwischenzeit zitieren Sie bitte dieses Repository, einschließlich der Kernteammitglieder als Autoren. Zum Beispiel:
Paulo Salem, Christopher Olsen, Paulo Freire, Yi Ding, Prerit Saxena (2024). Tinyroupe: LLM-gestaltete Multiagent-Persona-Simulation zur Verbesserung der Fantasie und für geschäftliche Erkenntnisse. [Computersoftware]. Github -Repository. https://github.com/microsoft/tinytroupe
Oder als Bibtex:
@misc {Tinyroupe, Autor = {Paulo Salem und Christopher Olsen und Paulo Freire und Yi Ding und Prerit Saxena}, Titel = {Tinyroupe: LLM-betriebene Multiagent-Persona-Simulation zur Fantasieverstärkung und geschäftliche Insigs}, Jahr {2024}, wie aufgetaucht = {url {https://github.com/microsoft/tinyTroupe}}, note = {github repository} }
Tinyroupe dient nur zur Forschung und Simulation. Tinyroupe ist eine Forschungs- und experimentelle Technologie, die auf Modellen für künstliche Intelligenz (KI) beruht, um Textinhalte zu generieren. Die KI -Systemausgabe kann unrealistische, unangemessene, schädliche oder ungenaue Ergebnisse einschließlich sachlicher Fehler umfassen. Sie sind dafür verantwortlich, den generierten Inhalt zu überprüfen (und gegebenenfalls anpassen), bevor Sie ihn verwenden, da Sie voll dafür verantwortlich sind, seine Genauigkeit und für den Zweck zu bestimmen. Wir empfehlen, die Ausgänge von Tinyroupes für die Erzeugung von Insight und nicht für die direkte Entscheidungsfindung zu verwenden. Erzeugte Ausgänge spiegeln nicht die Meinungen von Microsoft wider. Sie sind voll verantwortlich für jede Verwendung, die Sie von den generierten Ausgaben nutzen. Weitere Informationen zur verantwortungsbewussten Verwendung dieser Technologie finden Sie im verantwortungsbewussten.
Verbotene Verwendungszwecke : Tinyroupe soll nicht sensible (z. B. gewalttätige oder sexuelle) Situationen simulieren. Darüber hinaus dürfen Outputs nicht verwendet werden, um Menschen in irgendeiner Weise absichtlich zu täuschen, zu irreführen oder zu schaden. Sie sind voll verantwortlich für jede Verwendung, die Sie herstellen, und müssen alle anwendbaren Gesetze und Vorschriften einhalten. “
Dieses Projekt kann Marken oder Logos für Projekte, Produkte oder Dienstleistungen enthalten. Die autorisierte Verwendung von Microsoft -Marken oder Logos unterliegt den Marken- und Markenrichtlinien von Microsoft. Die Verwendung von Microsoft -Marken oder Logos in geänderten Versionen dieses Projekts darf keine Verwirrung verursachen oder Microsoft -Sponsoring implizieren. Jede Verwendung von Marken oder Logos von Drittanbietern unterliegt den Richtlinien dieses Drittanbieters.