Spaces:
Sleeping
Sleeping
| ### Step 1: Define Multiple Players with LLM Backend | |
| ```python | |
| from agentreview.agent import Player | |
| from agentreview.backends import OpenAIChat | |
| # Describe the environment (which is shared by all players) | |
| environment_description = "It is in a university classroom ..." | |
| # A "Professor" player | |
| player1 = Player(name="Professor", backend=OpenAIChat(), | |
| role_desc="You are a professor in ...", | |
| global_prompt=environment_description) | |
| # A "Student" player | |
| player2 = Player(name="Student", backend=OpenAIChat(), | |
| role_desc="You are a student who is interested in ...", | |
| global_prompt=environment_description) | |
| # A "Teaching Assistant" player | |
| player3 = Player(name="Teaching assistant", backend=OpenAIChat(), | |
| role_desc="You are a teaching assistant of the module ...", | |
| global_prompt=environment_description) | |
| ``` | |
| ### Step 2: Create a Language Game Environment | |
| You can also create a language model-driven environment and add it to the ChatArena: | |
| ```python | |
| from agentreview.environments.conversation import Conversation | |
| env = Conversation(player_names=[p.name for p in [player1, player2, player3]]) | |
| ``` | |
| ### Step 3: Run the Language Game using Arena | |
| `Arena` is a utility class to help you run language games: | |
| ```python | |
| from agentreview.arena import Arena | |
| arena = Arena(players=[player1, player2, player3], | |
| environment=env, global_prompt=environment_description) | |
| # Run the game for 10 steps | |
| arena.run(num_steps=10) | |
| # Alternatively, you can run your own main loop | |
| for _ in range(10): | |
| arena.step() | |
| # Your code goes here ... | |
| ``` | |
| You can easily save your gameplay history to file: | |
| ```python | |
| arena.save_history(path=...) | |
| ``` | |
| and save your game config to file: | |
| ```python | |
| arena.save_config(path=...) | |
| ``` | |