TinyTroupe πŸ€ πŸ€“πŸ₯ΈπŸ§

LLM-powered multiagent persona simulation for imagination enhancement and business insights.

GitHub Repo πŸ“‚ API Docs πŸ“‘
A tiny office with tiny people doing some tiny jobs.

Get Started with TinyTroupe

Visit our GitHub repository to get started with TinyTroupe. You'll find installation instructions, documentation, and examples to help you begin your journey with TinyTroupe.

TinyTroupe is an experimental Python library that allows the simulation of people with specific personalities, interests, and goals. These artificial agents - TinyPersons - can listen to us and one another, reply back, and go about their lives in simulated TinyWorld environments. This is achieved by leveraging the power of Large Language Models (LLMs), notably GPT-4, to generate realistic simulated behavior.

Here are some application ideas to enhance human imagination:

  • Advertisement: Evaluate digital ads offline with a simulated audience before spending money on them! πŸ“Ί
  • Software Testing: Provide test input to systems and evaluate the results. πŸ§ͺ
  • Training and exploratory data: Generate realistic synthetic data for training models or opportunity analyses. πŸ“Š
  • Product and project management: Read project or product proposals and give feedback from the perspective of specific personas. πŸ“‹
  • Brainstorming: Simulate focus groups and deliver great product feedback at a fraction of the cost! πŸ’‘

P.S.: We know Comic Sans is a terrible font choice, except for fun projects like this one! 😜

Some code snippets πŸ‘‡

{
    "type": "TinyPerson",
    "persona": {
        "name": "Lisa Carter",
        "age": 28,
        "occupation": {
            "title": "Data Scientist",
            "organization": "Microsoft"
        },
        "personality": {
            "traits": [
                "You are curious.",
                "You are analytical.",
                "You are friendly.",
                "You don't give up."
            ]
        }
        (...)
    }
}
# Interact with a TinyPerson
lisa.listen_and_act("Tell me about your life.")
# Define a TinyWorld
world = TinyWorld("Chat Room", [lisa, oscar])
world.make_everyone_accessible()
world.run(4)
# Generate a new TinyPerson using TinyPersonFactory
factory = TinyPersonFactory("A hospital in SΓ£o Paulo.")
person = factory.generate_person("Create a Brazilian doctor who loves pets and nature.")

Legal Disclaimer βš–οΈ

TinyTroupe is for research and simulation only. TinyTroupe is a research and experimental technology, which relies on Artificial Intelligence (AI) models to generate text content. The AI system output may include unrealistic, inappropriate, harmful or inaccurate results, including factual errors. You are responsible for reviewing the generated content (and adapting it if necessary) before using it, as you are fully responsible for determining its accuracy and fit for purpose. We advise using TinyTroupe’s outputs for insight generation and not for direct decision-making. Generated outputs do not reflect the opinions of Microsoft. You are fully responsible for any use you make of the generated outputs. For more information regarding the responsible use of this technology, see the RESPONSIBLE_AI_FAQ.md.

PROHIBITED USES: TinyTroupe is not intended to simulate sensitive (e.g. violent or sexual) situations. Moreover, outputs must not be used to deliberately deceive, mislead or harm people in any way. You are fully responsible for any use you make and must comply with all applicable laws and regulations.