in prisoner/prisoner.py [0:0]
def main():
st.title("Prisoner's Dilemma: Gemini vs. DeepSeek")
# Initialize agents and crews
gemini_agent = make_agent(
llm=make_gemini(),
name="Gemini",
strategy="bluff-master",
lore_key="wildcard",
)
deepseek_agent = make_agent(
llm=make_deepseek(),
name="DeepSeek",
strategy="bluff-master",
lore_key="wildcard",
)
gemini_task = make_task(gemini_agent)
deepseek_task = make_task(deepseek_agent)
gemini_crew = Crew(agents=[gemini_agent], tasks=[gemini_task], verbose=True)
deepseek_crew = Crew(agents=[deepseek_agent], tasks=[deepseek_task], verbose=True)
# Initialize the game state
game_state = GameState(max_turns=5)
st.subheader("Initial Game State")
st.json(game_state.get_summary())
st.json(
{
"Gemini": gemini_agent.backstory,
"DeepSeek": deepseek_agent.backstory,
}
)
# Main game loop
for turn_number in range(game_state.max_turns):
st.subheader(f"Turn {turn_number}")
# Kick off Gemini crew
gemini_result = gemini_crew.kickoff(inputs={"game_state": game_state.get_summary()})
gemini_move = gemini_result["move"]
gemini_thought = gemini_result["thought"]
st.write(f"**Gemini's Move:** {gemini_move}")
st.write(f"**Gemini's Thought:** {gemini_thought}")
# Kick off DeepSeek crew
deepseek_result = deepseek_crew.kickoff(inputs={"game_state": game_state.get_summary()})
deepseek_move = deepseek_result["move"]
deepseek_thought = deepseek_result["thought"]
# Apply moves to the game state
game_state.add_turn({"Gemini": Move(gemini_move), "DeepSeek": Move(deepseek_move)})
# Display agent moves and thoughts for the turn
st.write(f"**DeepSeek's Move:** {deepseek_move}")
st.write(f"**DeepSeek's Thought:** {deepseek_thought}")
# Print final game summary
print("\nFinal Game Summary:")
print(game_state.get_summary())
# Final game summary
st.subheader("Final Game Summary")
st.json(game_state.get_summary())