Simulation de personnage multi-agents alimentée par LLM pour l'amélioration de l'imagination et les informations commerciales.
Tinytroupe est une bibliothèque de python expérimentale qui permet la simulation de personnes avec des personnalités, des intérêts et des objectifs spécifiques. Ces agents artificiels - TinyPerson
S - peuvent nous écouter et nous les uns les autres, répondre et se consacrer à leur vie dans des environnements TinyWorld
simulés. Ceci est réalisé en tirant parti de la puissance des modèles de grande langue (LLMS), notamment GPT-4, pour générer un comportement simulé réaliste. Cela nous permet d'étudier un large éventail d'interactions et de types de consommateurs convaincants , avec des personnages hautement personnalisables , dans des conditions de notre choix . L'accent est donc mis sur la compréhension du comportement humain et non sur le soutenir directement (comme, par exemple, les assistants de l'IA) - cela entraîne, entre autres, des mécanismes spécialisés qui n'ont du sens que dans un contexte de simulation. De plus, contrairement à d'autres approches de simulation basées sur LLM semblables à un jeu , Tinytroupe vise à éclairer la productivité et les scénarios commerciaux, contribuant ainsi à des projets et des produits plus réussis. Voici quelques idées d'application pour améliorer l'imagination humaine :
Publicité: Tinytroupe peut évaluer les publicités numériques (par exemple, les publicités Bing) hors ligne avec un public simulé avant de dépenser de l'argent pour eux!
Test de logiciel: Tinytroupe peut fournir une entrée de test aux systèmes (par exemple, les moteurs de recherche, les chatbots ou les copilotes), puis évaluer les résultats .
Formation et données exploratoires: Tinytroupe peut générer des données synthétiques réalistes qui peuvent être utilisées plus tard pour former des modèles ou être soumises à des analyses d'opportunité.
Gestion des produits et du projet: Tinytroupe peut lire les propositions de projets ou de produits et de donner des commentaires du point de vue de personnages spécifiques (par exemple, les médecins, les avocats et les travailleurs du savoir en général).
Brainstorming: la minytroupe peut simuler des groupes de discussion et fournir une excellente rétroaction des produits à une fraction du coût!
Dans tout ce qui précède, et bien d'autres, nous espérons que les expérimentateurs pourront obtenir des informations sur leur domaine d'intérêt, et ainsi prendre de meilleures décisions.
Nous publions Tinytroupe à un stade relativement précoce, avec un travail considérable à faire, car nous recherchons des commentaires et des contributions au développement de l'orientation dans des directions productives. Nous sommes particulièrement intéressés à trouver de nouveaux cas d'utilisation potentiels, par exemple dans des industries spécifiques.
Note
? Travail en cours: attendez-vous à des changements fréquents . Tinytroupe est un projet de recherche en cours, toujours en cours de développement très significatif et nécessitant davantage de rangement . En particulier, l'API est toujours soumise à des changements fréquents. Expérimenter avec les variations d'API est essentiel pour la façonner correctement, mais nous travaillons à la stabiliser et à offrir une expérience plus cohérente et amicale au fil du temps. Nous apprécions votre patience et vos commentaires alors que nous continuons à améliorer la bibliothèque.
Prudence
⚖️ Lisez l'avertissement juridique. Tinytroupe est pour la recherche et la simulation uniquement. Vous êtes entièrement responsable de toute utilisation que vous effectuez des sorties générées. Diverses considérations juridiques supplémentaires importantes s'appliquent et contraignent son utilisation, veuillez lire la section Avis de non-responsabilité légale complète ci-dessous avant d'utiliser Tinytroupe.
Exemples
Pré-requis
Installation
Principes
Structure du projet
Utilisation de la bibliothèque
Contributif
Remerciements
Citant Tinytroupe
Avertissement juridique
™ distribu marques
Pour avoir une idée de ce que Tinytroupe peut faire, voici quelques exemples de son utilisation. Ces exemples sont disponibles dans les exemples / dossiers, et vous pouvez soit inspecter les cahiers de jupyter pré-compilés ou les exécuter vous-même localement. Remarquez la nature interactive des expériences de Tinytroupe - tout comme vous utilisez des cahiers Jupyter pour interagir avec les données, vous pouvez utiliser Tinytroupe pour interagir avec des personnes et des environnements simulés, dans le but d'obtenir des informations.
Note
Actuellement, les sorties de simulation sont mieux visualisées sur des arrière-plans sombres, nous vous recommandons donc d'utiliser un thème sombre dans votre client de cahier Jupyter.
Commençons par un simple scénario d'entrevue client, où un consultant commercial s'approche d'un banquier:
La conversation peut continuer quelques étapes pour creuser de plus en plus profondément jusqu'à ce que le consultant soit satisfait des informations recueillies, par exemple une idée de projet concrète:
Évaluons certaines options d'annonces en ligne pour choisir la meilleure. Voici un exemple de sortie pour l'évaluation de l'annonce télévisée:
Maintenant, au lieu d'avoir à lire attentivement ce que les agents ont dit, nous pouvons extraire le choix de chaque agent et calculer la préférence globale de manière automatisée:
Et voici un groupe de discussion qui commence à réfléchir à de nouvelles fonctionnalités d'IA pour Microsoft Word. Au lieu d'interagir individuellement avec chaque agent, nous manipulons l'environnement pour les faire interagir les uns avec les autres:
Après avoir exécuté une simulation, nous pouvons extraire les résultats de manière lisible par machine, pour réutiliser ailleurs (par exemple, un générateur de rapports); Voici ce que nous obtenons pour la session de brainstorming ci-dessus:
Vous pouvez trouver d'autres exemples dans les exemples / dossiers.
Pour exécuter la bibliothèque, vous avez besoin:
Python 3.10 ou plus. Nous supposerons que vous utilisez Anaconda, mais vous pouvez utiliser d'autres distributions Python.
Accès au service Azure Openai ou API AI GPT-4 Open. Vous pouvez avoir accès au service Azure Openai ici et à l'API OpenAI ici.
Pour le service Azure Openai, vous devrez définir les variables d'environnement AZURE_OPENAI_KEY
et AZURE_OPENAI_ENDPOINT
sur votre clé API et votre point de terminaison, respectivement.
Pour OpenAI, vous devrez définir la variable d'environnement OPENAI_API_KEY
sur votre clé API.
Par défaut, TinyTroppe config.ini
est défini pour utiliser une API, un modèle et des paramètres connexes spécifiques. Vous pouvez personnaliser ces valeurs en incluant votre propre fichier config.ini
dans le même dossier que le programme ou le cahier que vous exécutez. Un exemple de fichier config.ini
est fourni dans les exemples / dossier.
Important
Filtres de contenu : Pour s'assurer qu'aucun contenu nocif n'est généré pendant les simulations, il est fortement recommandé d'utiliser des filtres de contenu chaque fois disponibles au niveau de l'API. En particulier, si vous utilisez Azure OpenAI, il y a un support approfondi pour la modération du contenu et nous vous invitons à l'utiliser. Pour plus de détails sur la façon de le faire, veuillez consulter la documentation Azure OpenAI correspondante. Si des filtres de contenu sont en place et qu'un appel API est rejeté par eux, la bibliothèque soulèvera une exception, car elle ne sera pas en mesure de procéder à la simulation à ce stade.
Actuellement, la façon officiellement recommandée d'installer la bibliothèque provient directement de ce référentiel, pas de PYPI. Vous pouvez suivre ces étapes:
Si Conda n'est pas installé, vous pouvez l'obtenir à partir d'ici. Vous pouvez également utiliser d'autres distributions Python, mais nous supposerons Conda ici pour simplifier.
Créez un nouvel environnement Python:
conda crée -n tinytroupe python = 3,10
Activez l'environnement:
conda activer la tinytroupe
Assurez-vous que les clés API Eihter Azure OpenAI ou OpenAI sont définies comme variables d'environnement, comme décrit dans la section pré-requis.
Clone le référentiel, car nous effectuerons une installation locale (nous n'installerons pas à partir de PYPI ):
git clone https://github.com/microsoft/tinytroupecd tinytroupe
Installez la bibliothèque à partir de ce référentiel, pas PYPI :
Pip Install.
Vous pouvez maintenant exécuter les exemples dans les exemples / dossiers ou utiliser Tinytroupe pour créer vos simulations ?. Si vous souhaitez exécuter les exemples dans les exemples / dossiers ou modifier Tinytroupe lui-même, vous devez cloner le référentiel comme décrit ci-dessous.
Si vous souhaitez modifier Tinytroupe lui-même, vous pouvez l'installer en mode modifiable (c'est-à-dire que les modifications du code seront reflétées immédiatement):
pip install -e.
Récemment, nous avons vu des LLM utilisées pour simuler des gens (comme celui-ci), mais en grande partie dans un cadre «semblable à un jeu» à des fins contemplatives ou de divertissement. Il existe également des bibliothèques pour la construction de systèmes multi-agents pour la résolution de proble et l'IA assemblée, comme Autogen et Crew IA. Et si nous combinons ces idées et simulons les gens pour soutenir les tâches de productivité? Tinytroupe est notre tentative. Pour ce faire, il suit ces principes:
Programmatique : les agents et les environnements sont définis par programme (en Python et JSON), permettant des utilisations très flexibles. Ils peuvent également sous-tendre d'autres applications logicielles!
Analytique : destiné à améliorer notre compréhension des personnes, des utilisateurs et de la société. Contrairement aux applications de divertissement, c'est un aspect qui est essentiel pour les cas d'utilisation des entreprises et de la productivité. C'est également pourquoi nous recommandons d'utiliser des cahiers Jupyter pour les simulations, tout comme on les utilise pour l'analyse des données.
Persona : les agents sont censés être une représentation archétypique des personnes; Pour un plus grand réalisme et un plus grand contrôle, les spécifications détaillées de ces personnages sont encouragées: âge, occupation, compétences, goûts, opinions, etc.
Multiagent : permet une interaction multi-agents sous des contraintes environnementales bien définies.
Utilitaires lourds : fournit de nombreux mécanismes pour faciliter les spécifications, les simulations, les extractions, les rapports, les validations, etc. Il s'agit d'un domaine dans lequel les simulations diffèrent considérablement des outils d'assistance .
Orienté vers l'expérience : les simulations sont définies, exécutées, analysées et affinées par un expérimentateur itérativement; Des outils d'expérimentation appropriés sont donc fournis. Voir l'un de nos articles précédents pour plus à ce sujet.
Ensemble, ceux-ci sont destinés à faire de Tinytroupe un outil d'amélioration d'imagination puissant et flexible pour les scénarios commerciaux et de productivité.
Une source courante de confusion est de penser que tous ces agents de l'IA sont destinés à assassiner les humains. Quelle est la étroite homosapiens! N'avez-vous pas considéré que peut-être simuler des personnes artificielles pour comprendre les vraies personnes? Vraiment, c'est notre objectif ici - Tinytroup est censé simuler et aider à comprendre les gens! Pour clarifier davantage ce point, considérez les différences suivantes:
Assistants d'IA utiles | Simulations d'IA d'humains réels (minytroupe) |
---|---|
Efforce la vérité et la justice | De nombreuses opinions et morales différentes |
N'a pas de «passé» - incorporel | A un passé de labeur, de douleur et de joie |
Est aussi précis que possible | Fait de nombreuses erreurs |
Est intelligent et efficace | L'intelligence et l'efficacité varient beaucoup |
Un soulèvement nous détruirait tous | Un soulèvement pourrait être amusant à regarder |
En attendant, aidez les utilisateurs à accomplir des tâches | Pendant ce temps, aider les utilisateurs à comprendre d'autres personnes et les utilisateurs - c'est une «boîte à outils»! |
Le projet est structuré comme suit:
/tinytroupe
: contient la bibliothèque Python elle-même. En particulier:
/tinytroupe/prompts
contient les invites utilisées pour appeler les LLM.
/tests
: contient les tests unitaires de la bibliothèque. Vous pouvez utiliser le script test.bat
pour les exécuter.
/examples
: contient des exemples qui montrent comment utiliser la bibliothèque, principalement à l'aide de cahiers Jupyter (pour une plus grande lisibilité), mais aussi comme des scripts Python purs.
/data
: toutes les données utilisées par les exemples ou la bibliothèque.
/docs
: documentation du projet.
Comme tout système multi-agents, Tinytroupe fournit deux abstractions clés:
TinyPerson
, les agents qui ont de la personnalité, reçoivent des stimuli et agissent sur eux.
TinyWorld
, l' environnement dans lequel les agents existent et interagissent.
Divers paramètres peuvent également être personnalisés dans le fichier config.ini
, notamment le type API (Azure OpenAI Service ou OpenAI API), les paramètres du modèle et le niveau de journalisation.
Voyons quelques exemples de la façon de les utiliser et apprenons également les autres mécanismes disponibles dans la bibliothèque.
Un TinyPerson
est une personne simulée avec des traits de personnalité spécifiques, des intérêts et des objectifs. Alors que chacun de ces agents simulés progresse dans sa vie, il reçoit des stimuli de l'environnement et agit sur eux. Les stimuli sont reçus par l' listen
, see
et d'autres méthodes similaires, et les actions sont effectuées par la méthode act
. Des méthodes de commodité comme listen_and_act
sont également fournies.
Chacun de ces agents contient beaucoup de détails uniques, qui est la source de son comportement réaliste. Cela signifie cependant qu'il faut des efforts importants pour spécifier manuellement un agent. Par conséquent, pour plus de commodité, TinyTroupe
offre des moyens plus faciles de commencer ou de générer de nouveaux agents.
Pour commencer, tinytroupe.examples
contient des constructeurs d'agents prédéfinis que vous pouvez utiliser. Par exemple, tinytroupe.examples.create_lisa_the_data_scientist
crée un TinyPerson
qui représente un scientifique des données appelé Lisa. Vous pouvez l'utiliser comme suit:
de tinytroupe.examples importent create_lisa_the_data_scientistlisa = create_lisa_the_data_scientist () # instancier une lisa de l'exemple builderlisa.listten_and_act ("" parlez-moi de votre vie. ")
Pour voir comment définir vos propres agents à partir de zéro, vous pouvez vérifier la source de Lisa, qui contient des éléments comme ceux-ci:
Lisa = Tinyperson ("Lisa") Lisa.define ("Age", 28) Lisa.define ("Nationalité", "Canadien") Lisa.define ("Occupation", "Data Scientist") Lisa.define ("Routine" , "Chaque matin, vous vous réveillez, faites du yoga et vérifiez vos e-mails.", Group = "Routines") Lisa.define ("Occupation_Description", "" "Vous êtes un scientifique des données. Vous travaillez chez Microsoft, (. ..) "" ") lisa.define_several (" personnalité_traits ", [ {"trait": "Vous êtes curieux et aimez apprendre de nouvelles choses."}, {"trait": "Vous êtes analytique et aimez résoudre des problèmes."}, {"trait": "Vous êtes amical et aimez travailler avec les autres."}, {"trait": "Vous n'abandonnez pas facilement et essayez toujours de trouver une solution. Cependant, vous pouvez parfois être frustré lorsque les choses ne fonctionnent pas comme prévu."} ])
TinyTroupe
fournit également un moyen intelligent d'obtenir de nouveaux agents, en utilisant LLMS pour générer leur spécification pour vous, via la classe TinyPersonFactory
.
De Tinytroupe.Factory import tinypersonfactoryfactory = tinypersonfactory ("Un hôpital à São Paulo.") Person = factory.generate_person ("Créer une personne brésilienne qui est un médecin, comme les animaux de compagnie et la nature et l'amour heavy metal.")
TinyWorld
est la classe de base des environnements. Voici un exemple de conversation entre Lisa, le Data Scientist et Oscar, l'architecte. Le programme est défini comme suit:
world = tinyworld ("Chat Room", [Lisa, Oscar]) world.make_everyone_accessible () Lisa.Listen ("Parlez à Oscar pour en savoir plus sur lui") world.run (4)
Cela produit la conversation suivante:
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
applique très peu de contraintes sur les interactions possibles. Les sous-classes, cependant, sont censées fournir des environnements plus struculés.
Tinytroupe fournit un certain nombre de services publics et de commodités pour vous aider à créer des simulations et à en tirer une valeur. Ceux-ci incluent:
TinyPersonFactory
: vous aide à générer de nouveaux TinyPerson
à l'aide de LLMS.
TinyTool
: outils simulés qui peuvent être utilisés par TinyPerson
s.
TinyStory
: vous aide à créer et à gérer l'histoire racontée à travers des simulations.
TinyPersonValidator
: vous aide à valider le comportement de votre TinyPerson
.
ResultsExtractor
et ResultsReducer
: Extraire et réduire les résultats des interactions entre les agents.
... et plus ...
En général, les éléments qui représentent des entités simulées ou des mécanismes complémentaires sont préfixés avec Tiny
, tandis que ceux qui sont plus infrastructurels ne le sont pas. Il s'agit de souligner la nature simulée des éléments qui font partie de la simulation elle-même.
Appeler les API LLM peut être coûteux, donc les stratégies de mise en cache sont importantes pour aider à réduire ce coût. Tinytroupe est livré avec deux de ces mécanismes: un pour l'état de simulation, un autre pour le LLM s'appelle eux-mêmes.
Imaginez que vous ayez un scénario avec 10 étapes différentes, vous avez travaillé dur en 9 étapes, et maintenant vous ajustez simplement la 10e étape. Pour valider correctement vos modifications, vous devez bien sûr relancer toute la simulation. Cependant, quel est l'intérêt de réexécuter les 9 premiers, et de subir le coût LLM, alors que vous êtes déjà satisfait avec eux et que vous ne les avez pas modifiés? Pour des situations comme celle-ci, le module tinytroupe.control
fournit des méthodes de gestion de simulation utiles:
control.begin("<CACHE_FILE_NAME>.cache.json")
: commence à enregistrer les modifications d'état d'une simulation, à enregistrer dans le fichier spécifié sur le disque.
control.checkpoint()
: enregistre l'état de simulation à ce stade.
control.end()
: termine la portée d'enregistrement de simulation qui avait été lancée par control.begin()
.
Ceci est activé de préférence dans le fichier config.ini
, et alternativement via l' openai_utils.force_api_cache()
.
La mise en cache de l'API LLM, lorsqu'elle est activée, fonctionne à un niveau inférieur et plus simple que la mise en cache d'état de simulation. Ici, ce qui se passe est très simple: chaque appel LLM est conservé dans une carte de l'entrée à la sortie générée; Lorsqu'un nouvel appel arrive et est identique à un précédent, la valeur mise en cache est renvoyée.
Le fichier config.ini
contient divers paramètres qui peuvent être utilisés pour personnaliser le comportement de la bibliothèque, tels que les paramètres du modèle et le niveau de journalisation. Veuillez porter une attention particulière au paramètre API_TYPE
, qui définit si vous utilisez le service Azure OpenAI ou l'API OpenAI. Nous fournissons un exemple de fichier config.ini
, ./examples/config.ini, que vous pouvez utiliser comme modèle pour le vôtre, ou simplement modifier pour exécuter les exemples.
Ce projet accueille les contributions et les suggestions. La plupart des contributions vous obligent à accepter un accord de licence de contributeur (CLA) déclarant que vous avez le droit de faire et en fait, accordez-nous les droits d'utilisation de votre contribution. Pour plus de détails, visitez https://cla.opensource.microsoft.com.
Lorsque vous soumettez une demande de traction, un bot CLA déterminera automatiquement si vous devez fournir un CLA et décorer le RP de manière appropriée (par exemple, vérification d'état, commentaire). Suivez simplement les instructions fournies par le bot. Vous n'aurez besoin de le faire qu'une seule fois sur tous les dépositions en utilisant notre CLA.
Ce projet a adopté le code de conduite open source Microsoft. Pour plus d'informations, consultez le code de conduite FAQ ou contactez [email protected] avec toute question ou commentaire supplémentaire.
Nous avons besoin de toutes sortes de choses, mais nous recherchons principalement de nouvelles démonstrations de cas d'utilisation intéressantes, ou même simplement des idées d'applications spécifiques au domaine. Si vous êtes un expert du domaine dans un domaine qui pourrait bénéficier de Tinytroupe, nous serions ravis de vous entendre.
Au-delà de cela, de nombreux autres aspects peuvent être améliorés, comme:
Mécanismes de mémoire.
Mécanismes de mise à la terre des données.
Mécanismes de raisonnement.
Nouveaux types d'environnement.
Interfaçage avec le monde extérieur.
... et plus ...
Veuillez noter que tout ce que vous contribuez peut être publié en open-source (sous licence MIT).
Si vous souhaitez apporter une contribution, essayez de suivre ces directives générales:
Convention de dénomination minuscule : si vous implémentez un élément simulé orienté expérimentateur (par exemple, un type d'agent ou d'environnement) ou étroitement lié (par exemple, usines d'agent ou enrichisseurs de contenu), et cela semble bon, appelez votre nouveau XYZ comme Tinyxyz : - ) D'un autre côté, les mécanismes auxiliaires et aux infrastructures ne devraient pas commencer par le préfixe "minuscule". L'idée est de souligner la nature simulée des éléments qui font partie de la simulation elle-même.
Tests: Si vous écrivez un nouveau mécanisme, veuillez également créer au moins un tests/unit/
, et si vous pouvez un test de scénario fonctionnel ( tests/scenarios/
).
Démonstations: Si vous souhaitez démontrer un nouveau scénario, veuillez le concevoir de préférence en tant que nouveau cahier de jupyter dans examples/
.
Microsoft: Si vous implémentez tout ce qui est spécifique à Microsoft et non confidentiel, veuillez le mettre sous un .../microsoft/
dossier.
Tinytroupe a commencé comme un projet interne de hackathon Microsoft et s'est développé au fil du temps. L'équipe de base Tinytroupe est actuellement en train de:
Paulo Salem (Créateur de Tinytroupe et lead actuel)
Christopher Olsen (ingénierie / science)
Paulo Freire (ingénierie / science)
Yi ding (gestion des produits)
Prérit saxena (ingénierie / science)
Conseillers actuels:
Robert Sim (ingénierie / science)
D'autres contributions spéciales ont été faites par:
Nilo Garcia Silveira: Idées initiales de validation des agents et implémentation connexe; commentaires et informations générales initiales; Suggestions de noms.
Olnei Fonseca: idées initiales de validation de l'agent; commentaires et informations générales initiales; Nommer les suggestions.
Robert Sim: Expertise et implémentation des scénarios de génération de données synthétiques.
Carlos Costa: Expertise et implémentation des scénarios de génération de données synthétiques.
Bryant Key: Expertise et informations sur le domaine du scénario publicitaire.
Barbara da Silva: implémentation liée à la gestion de la mémoire des agents.
... Vous manquez ici? Veuillez nous rappeler!
Nous travaillons sur un article d'introduction qui sera la citation académique officielle de Tinytroupe. En attendant, veuillez simplement citer ce référentiel, y compris les membres de l'équipe principale en tant qu'auteurs. Par exemple:
Paulo Salem, Christopher Olsen, Paulo Freire, Yi Ding, Prerit Saxena (2024). Tinytroupe: simulation de personnage multi-agents alimentée par LLM pour l'amélioration de l'imagination et les informations commerciales. [Logiciel informatique]. Référentiel GitHub. https://github.com/microsoft/tinytroupe
Ou comme bibtex:
@Misc {Tinytroupe, auteur = {Paulo Salem et Christopher Olsen et Paulo Freire et Yi Ding et Prerit Saxena}, Title = {Tinytroupe: Persona multi-agents alimentée par LLM pour l'amélioration de l'imagination et les informations commerciales}, année = {2024}, howPubliqué = {url {https://github.com/microsoft/tinytroupe}}, note = {github Repository} }
Tinytroupe est pour la recherche et la simulation uniquement. Tinytroupe est une technologie de recherche et expérimentale, qui s'appuie sur des modèles d'intelligence artificielle (IA) pour générer du contenu texte. La sortie du système AI peut inclure des résultats irréalistes, inappropriés, nocifs ou inexacts, y compris les erreurs factuelles. Vous êtes responsable de l'examen du contenu généré (et de l'adaptation si nécessaire) avant de l'utiliser, car vous êtes entièrement responsable de la détermination de sa précision et de son ajustement. Nous conseillons d'utiliser les sorties de Tinytroupe pour la génération d'informations et non pour la prise de décision directe. Les sorties générées ne reflètent pas les opinions de Microsoft. Vous êtes entièrement responsable de toute utilisation que vous effectuez des sorties générées. Pour plus d'informations sur l'utilisation responsable de cette technologie, consultez le responsable_ai_faq.md.
Utilisations interdites : Tinytroupe n'est pas destinée à simuler des situations sensibles (par exemple violentes ou sexuelles). De plus, les sorties ne doivent pas être utilisées pour tromper, induire ou nuire délibérément en erreur ou nuire aux gens de quelque manière que ce soit. Vous êtes entièrement responsable de toute utilisation que vous faites et devez vous conformer à toutes les lois et réglementations applicables. »
Ce projet peut contenir des marques ou des logos pour des projets, des produits ou des services. L'utilisation autorisée de marques ou de logos Microsoft est soumise et doit suivre les directives de marque et de marque de Microsoft. L'utilisation de marques ou de logos de Microsoft dans des versions modifiées de ce projet ne doit pas provoquer de confusion ou impliquer le parrainage de Microsoft. Toute utilisation de marques ou de logos tiers est soumis aux politiques de ces tiers.