v0.4.0-alpha

666ghj/MiroFishv0.4.0-alphaJan 29, 2025by paulosalem

AI Summary

This release introduces deeper persona specifications, JSON loading capabilities for agents, and 'fragments' for reusing persona elements, alongside LLM-based propositions and interventions.

Key Highlights

  • Deeper persona specifications including personality traits, beliefs, and preferences.
  • JSON file loading for TinyPersons via `TinyPerson.load_specification()`.
  • Introduction of 'fragments' to allow persona element reuse across agents.
  • New LLM-based logical propositions for monitoring agent behavior.
  • Event-based 'Interventions' for modifying simulations.

Breaking Changes

  • API changes in some places that will likely break existing programs.

New Features

  • Deeper persona structure with traits and beliefs.
  • JSON file loading for agents.
  • Fragments for persona element reuse.
  • LLM-based logical propositions.
  • Interventions for event-based modification.
  • Submodule folder organization.

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