sotopia-lab / sotopia-demo

MIT License
0 stars 0 forks source link

Agent mode and omniscient mode #4

Open XuhuiZhou opened 1 month ago

XuhuiZhou commented 1 month ago

The current chat mode for humans should be agent mode (we give them limited info and don't allow them to change things)

Let's have another chat mode we allow humans to see everything and all the info is editable.

bugsz commented 1 month ago

Do we want the scenario to be editable in free-form? Or we provide some editable fields to ensure the background format is correct

XuhuiZhou commented 1 month ago

I think for now let's just do the free form thing

XuhuiZhou commented 1 month ago

Re your point in the slack,

class EpisodeLog(JsonModel):
    # Note that we did not validate the following constraints:
    # 1. The number of turns in messages and rewards should be the same or off by 1
    # 2. The agents in the messages are the same as the agetns

    environment: str = Field(index=True)
    agents: list[str] = Field(index=True)
    tag: str | None = Field(index=True)
    models: list[str] | None = Field(index=True)
    messages: list[list[tuple[str, str, str]]]  # Messages arranged by turn
    reasoning: str
    rewards: list[tuple[float, dict[str, float]] | float]  # Rewards arranged by turn
    rewards_prompt: str

what if we initiate a special pseudo pk for the user-created environment and agent? If we are not planning to store the user-created environment and agent?

bugsz commented 1 month ago

That makes sense but what if the user got disconnected? We have to handle it either. After checking the render_for_human I found no primary key is needed, so that should not be a problem right now