Skip to main content

AGI

Project description

SkyAGI: Emerging human-behavior simulation capability in LLM

https://github.com/litanlitudan/skyagi/assets/4970420/a584b364-e659-476d-a884-932b3c04df61

PyPI

SkyAGI is a python package that demonstrates LLM's emerging capability in simulating believable human behaviors. Specifically, SkyAGI implements the idea of Generative Agents and delivers a role-playing game that creates a very interesting user experience.

Different from previous AI based NPC systems, SkyAGI's NPC generates very believable human responses. The interesting observations in this demo show a huge potential for rethinking game development in many aspects, such as NPC script writing.

To demonstrate this, SkyAGI provides example characters from The Big Bang Theory and The Avengers as a starting point. Users could also define customized characters by creating config json files like customized_character.json For details about the interesting observations, refer to the observations section.

Quick Start

Installation

pip install --upgrade skyagi

Or

make install

How to run

export OPENAI_API_KEY="..."
skyagi
# or
OPENAI_API_KEY="..." skyagi

For example if the OpenAI key is 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, then the exact command would be the following

# make sure no quote around the token
export OPENAI_API_KEY=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
skyagi
# or
OPENAI_API_KEY=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 skyagi

To use example agent configs, download it from here: https://github.com/litanlitudan/skyagi/tree/main/examples (pip install doesn't contain the agent configuration)

An example agent configuration (Sheldon) looks something like this:

{
    "name": "Sheldon",
    "age": 27,
    "personality": "Intelligent, rigid, socially challenged, quirky, and arrogant.",
    "memories": [
        "Sheldon is a theoretical physicist who works at Caltech.",
        "Sheldon has an eidetic memory and is highly intelligent, but struggles with social skills and sarcasm.",
        ...
        "Knock, knock, knock, Penny - This is the specific knock that Sheldon uses when he visits Penny's apartment, which he repeats three times.",
        "Bazinga! - This is Sheldon's catchphrase that he uses to indicate he was joking or playing a prank on someone."
    ],
    "current_status": "Sheldon is at the Cheesecake Factory"
}

Interesting observations in this demo

Here is a screenshot of a live demo using The Big Bang Theory example. demo From the conversation, we can observe three interesting points that have not been widely seen in previous systems:

  1. Leonard remembered that Penny had asked him to persuade Sheldon to go for a hike, which shows the capability of some kind of memory.
  2. Leonard changed his mind after Sheldon whispered to him and even tried to convince Penny to join the scientific effort, which shows that the agents had meaningful progress in the story even without human intervention.
  3. All the responses are quite human-like. As a user, it's quite hard to tell whether it's actually an AI behind the responses.

References

  1. https://arxiv.org/abs/2304.03442
  2. https://python.langchain.com/en/latest/use_cases/agent_simulations/characters.html#create-a-generative-character

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

skyagi-0.0.30.tar.gz (17.0 kB view details)

Uploaded Source

Built Distribution

skyagi-0.0.30-py3-none-any.whl (18.1 kB view details)

Uploaded Python 3

File details

Details for the file skyagi-0.0.30.tar.gz.

File metadata

  • Download URL: skyagi-0.0.30.tar.gz
  • Upload date:
  • Size: 17.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.3

File hashes

Hashes for skyagi-0.0.30.tar.gz
Algorithm Hash digest
SHA256 f0dd88b19675502851ebe644f2712e204dd159df8bf30c820ca95b669c89cffc
MD5 04046e527b35fe12d68d16117f92ce54
BLAKE2b-256 1157d83d0db6416c94947012d390c28e911a47dca21772c336f0c8d1d953e677

See more details on using hashes here.

File details

Details for the file skyagi-0.0.30-py3-none-any.whl.

File metadata

  • Download URL: skyagi-0.0.30-py3-none-any.whl
  • Upload date:
  • Size: 18.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.3

File hashes

Hashes for skyagi-0.0.30-py3-none-any.whl
Algorithm Hash digest
SHA256 69e49a922931b3036b7fb5a5325033a755df132645c5510685d91ef48ebd3956
MD5 22da066962bdc5457dc1b585c3309aea
BLAKE2b-256 67f2c2945924ef0d3cc328399807480dbe376db4ad876a8b3d1fdde31a5f86bc

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page