v0.4.0-alpha
pola-rs/polarsv0.4.0-alphaJan 29, 2025by paulosalem
AI Summary
Alpha release introducing deeper persona specifications, JSON-based persona loading, and simulation control mechanisms like fragments and interventions.
Key Highlights
- Deeper persona specifications including personality traits, beliefs, and preferences
- JSON-based TinyPerson loading via `TinyPerson.load_specification()`
- Introduction of 'fragments' for reusing persona elements across agents
- LLM-based logical Propositions for monitoring agent behavior
Breaking Changes
- API has changed in some places, likely breaking existing programs
New Features
- Deeper persona structure
- JSON-based TinyPerson loading
- Fragments for persona reuse
- LLM-based logical Propositions
- Interventions for event-based modifications
Full Release Notes
## What's new **[2025-01-29] Release 0.4.0 with various improvements. Some highlights:** - Personas have deeper specifications now, including personality traits, preferences, beliefs, and more. It is likely we'll further expand this in the future. - `TinyPerson`s can now be defined as JSON files as well, and loaded via the `TinyPerson.load_specification()`, for greater convenience. After loading the JSON file, you can still modify the agent programmatically. See the [examples/agents/](./examples/agents/) folder for examples. - Introduces the concept of *fragments* to allow the reuse of persona elements across different agents. See the [examples/fragments/](./examples/fragments/) folder for examples, and the notebook [Political Compass (customizing agents with fragments)](<./examples/Political Compass (customizing agents with fragments).ipynb>) for a demonstration. - Introduces LLM-based logical `Proposition`s, to facilitate the monitoring of agent behavior. - Introduces `Intervention`s, to allow the specification of event-based modifications to the simulation. - Submodules have their own folders now, to allow better organization and growth. **Note: this will likely break some existing programs, as the API has changed in some places.** ## PRs from the community and the core team * allow configuration of Azure OpenAI embedding model by @ewheeler in https://github.com/microsoft/TinyTroupe/pull/59 * Fix spelling and grammatical errors by @terrchen in https://github.com/microsoft/TinyTroupe/pull/19 * Change to use de facto standard for dotenv sample by @webysther in https://github.com/microsoft/TinyTroupe/pull/22 * fix typo, call `semantic_memory` method of agent not self by @ewheeler in https://github.com/microsoft/TinyTroupe/pull/57 * docs: update README.md by @eltociear in https://github.com/microsoft/TinyTroupe/pull/24 * Add `matplotlib` to dependencies by @RektPunk in https://github.com/microsoft/TinyTroupe/pull/33 * variable typo #18 fixed by @rahimbaig28 in https://github.com/microsoft/TinyTroupe/pull/25 * also retry aux_act_once upon TypeError by @ewheeler in https://github.com/microsoft/TinyTroupe/pull/58 * Adds deeper persona structure, including fragments. by @paulosalem in https://github.com/microsoft/TinyTroupe/pull/86 * Merges latest development version into main. by @paulosalem in https://github.com/microsoft/TinyTroupe/pull/90 ## New Contributors * @ewheeler made their first contribution in https://github.com/microsoft/TinyTroupe/pull/59 * @terrchen made their first contribution in https://github.com/microsoft/TinyTroupe/pull/19 * @webysther made their first contribution in https://github.com/microsoft/TinyTroupe/pull/22 * @eltociear made their first contribution in https://github.com/microsoft/TinyTroupe/pull/24 * @RektPunk made their first contribution in https://github.com/microsoft/TinyTroupe/pull/33 * @rahimbaig28 made their first contribution in https://github.com/microsoft/TinyTroupe/pull/25 **Full Changelog**: https://github.com/microsoft/TinyTroupe/compare/v0.3.1-alpha...v0.4.0-alpha