v0.4.0-alpha

getzep/graphitiv0.4.0-alphaJan 29, 2025by paulosalem

AI Summary

This alpha release significantly enhances the agent system by introducing deeper persona specifications, a JSON-based loading mechanism for TinyPeople, and a 'fragment' system for reusing persona elements.

Key Highlights

  • Deeper persona specifications including personality traits and beliefs
  • JSON file support for defining TinyPeople
  • Introduction of 'fragments' for reusing persona elements
  • LLM-based logical Propositions for monitoring behavior
  • Event-based Interventions for simulation modification

Breaking Changes

  • API changes in some places that may break existing programs

New Features

  • Deeper persona structure
  • JSON specification loading
  • Fragment system
  • LLM-based logical Propositions
  • Event-based Interventions

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