Skip to content

Releases: provos/planai

v0.2.0

13 Nov 14:46
Compare
Choose a tag to compare

PlanAI v0.2 Release Notes

The latest release of PlanAI (v0.2) brings a number new features and important fixes aimed at improving functionality and usability. Here's what this update brings to you:

New Features

  • Enhanced Logging and Monitoring: The system now logs OpenAI prompt usage tokens, providing better insight into resource utilization and planning (#524c513).
  • Model Support Expansion: PlanAI has support for o1-mini and o1-preview models, even with limitations like lack of JSON mode and structured outputs (#c242067).
  • Interactive User Input: PlanAI can now prompt users for input as required by tasks, e.g. when it's not possible to automatically fetch the required content (#1dd0ee4).
  • Social Media Example App: Uses a profile and queries of interests to suggest topics for new social media posts
  • Serper Search Integration: To facilitate frequent usage scenarios, PlanAI now has a simple Serper Search integration.

Enhancements

  • Task Management Improvements: A significant overhaul in how tasks are managed includes the introduction of a TaskWorker capable of running whole graphs as sub-graphs. This can reduce complexity when running larger graphs (#dbfce667).

Bug Fixes

  • Robustness Improvements: Addressed several critical bugs, including removing race conditions and making the web UI more efficient (#4cd1ee3, #8a78954).
  • Enhanced Error Handling: Improved the way OpenAIWrapper manages content filter errors and structured output retries to ensure error scenarios are gracefully handled (#6ea9c4e, #3b67142).

Refactoring

  • Codebase Streamlining: Many parts of the codebase, like the provenance tracking module have been refactored for maintainability (#33aa727, #3852f038).

We encourage users to explore these updates and provide feedback through our GitHub repository. Detailed guides and documentation are available on our documentation page.

Thank you for choosing PlanAI and supporting our journey to excellence!

v0.1.5

16 Sep 05:33
Compare
Choose a tag to compare

PlanAI v0.1.5 Release Notes

PlanAI v0.1.5 introduces significant updates to enhance prompt optimization capabilities, along with key new features, enhancements, and bug fixes to improve the overall functionality and reliability of the system.

New Features

  • Automated Prompt Optimization: The release features an automatic prompt optimization tool designed to enhance the effectiveness of prompts for LLMTaskWorkers. This tool leverages real production data to iteratively refine prompts, supported by a refined scoring mechanism and automated iteration process (#f4338f7, #4116210).

  • Worker Statistics Tracking: A new WorkerStat class has been added to provide improved tracking and analysis of worker statistics, facilitating better monitoring of task execution metrics (#c8ef37f).

  • LLM Provider Options: Added options for specifying LLM providers and models during prompt optimization, enabling more flexible use of different language models (#7b6b8b0).

Enhancements

  • Testing and Code Refactoring: Expanded unit test coverage for the Graph class and other system components to ensure robustness and reliability. Code refactoring efforts focused on simplifying task management, provenance tracking, and prompt storage, contributing to increased maintainability of the codebase (#d6d4648, #16760b5).

  • Terminal Dashboard: Introduced a terminal dashboard to visually display task progress and worker statistics, enhancing user engagement and interaction during task execution (#3bfaef7).

Bug Fixes

  • Notification Handling: Addressed various bugs associated with graph notifiers to ensure notifications are accurately delivered to the intended workers and improve provenance management in JoinedTaskWorker (#571c561, #03cbf72).

  • JSON Parsing Enhancement: Improved JSON parsing by incorporating markdown handling in MinimalPydanticOutputParser, enabling cleaner and more accurate parsing (#4528a38).

For detailed information on using the new features, including prompt optimization, please refer to our documentation page. Users are encouraged to provide feedback through our GitHub repository.

v0.1.4

10 Sep 22:24
Compare
Choose a tag to compare

PlanAI v0.1.4 Release Notes

We are excited to announce the release of PlanAI v0.1.4, which introduces new features, performance improvements, and essential bug fixes to enhance the overall functionality and efficiency of PlanAI.

New Features

  • Parallel Execution Control: Added functionality to limit the number of parallel executions of specific TaskWorkers to better manage resource allocation and improve system performance (#e9f5c75).
  • Support for Anthropic API: Integrated support for Anthropic's API, enabling a broader range of language models to be used within the platform (#c738edb, #936fe08).
  • Enhanced Debugging Capabilities: Introduced the ability for the llm_from_config to support a host parameter for Ollama and added options to save debug output in JSON format for improved diagnostic capabilities (#87b1961).

Enhancements

  • Dashboard Improvements: Enhanced the dashboard to include execution statistics, providing users with deeper insights into application performance and behavior (#679d9ad).
  • System Prompt Flexibility: Updated the LLMTaskWorker to use the system_prompt field, allowing for easier customization and flexibility in task configurations (#d27a846).
  • Streamlined Task Handling: Improved task list display logic, ensuring task lists retain their state even when elements are updated, resulting in a more stable and user-friendly interface (#4daa2fe).

Maintenance

  • Documentation Enhancements: Improved documentation for the example app by adding docstrings and more comprehensive comments, increasing clarity for developers (#7cbaec9).

This release significantly enhances the flexibility, performance, and security of PlanAI. For more detailed information, documentation, and examples, please visit our documentation page. We welcome feedback and suggestions from our users. If you experience any issues, please report them on our GitHub repository.

Thank you for your continued support and for using PlanAI!

v0.1.3

05 Sep 16:58
Compare
Choose a tag to compare

PlanAI v0.1.3 Release Notes

We are pleased to announce the release of PlanAI v0.1.3, which includes important improvements and crucial bug fixes, focusing significantly on provenance handling and traceability enhancements in the dashboard.

New Features

  • Dashboard Trace Improvements: Improved the expand/collapse functionality for trace prefixes in the dashboard by adding interactive elements and stylized displays, enhancing usability and clarity (#267186b).
  • Tracing Mechanism: Introduced a tracing mechanism in the dashboard to improve the visibility and management of provenance, enhancing overall traceability (#f85a189).

Enhancements

  • Cache Enhancements: Updated the system to store input_task with cache data while ensuring cache updates occur even on cache hits (#f8dca3e).
  • CSS and Styling Updates: Refactored dashboard style by separating CSS into distinct files, enabling easier maintenance and future enhancements (#2910cbd4d, #6add5e0).
  • Expanded Configuration Options: Added enable_trace option for JoinedTaskWorker to allow more precise control over task traceability (#c97f1da).

Bug Fixes

  • Task Provenance Copy Fix: Enhanced Task.copy_input_provenance to return model copies rather than references, mitigating corruption risks inherent in reference passing (#2eb2f8d).
  • Provenance Corruption Fix: Addressed a major issue where provenance data could become corrupted due to Python's reference handling by ensuring copies are used where necessary (#e3bd7bf).
  • Notification Tasks Fix: Resolved an issue with notification tasks improperly removing provenance, which led to premature invocation of joiners (#f85a189).
  • Testing Improvements: Ensured test reliability by copying test result arrays to avoid unexpected deletions when contexts exit (#a339573).

Maintenance

  • Code Quality Improvements: Installed pre-commit hooks for Flake8 and Black to enforce code style and quality (#9d9ef9c).

This release notably improves the reliability of provenance management and enhances user interaction with traceable data paths in the dashboard, along with making significant strides towards a more stable caching system.

For further details and documentation, please visit our documentation page. We appreciate your feedback and continued support. If you encounter any issues or have suggestions, feel free to open an issue on our GitHub repository.

Thank you for using PlanAI!

v0.1.2

03 Sep 00:17
Compare
Choose a tag to compare

PlanAI v0.1.2

This release focuses on improving multi-threading stability, enhancing LLM task handling, and adding several minor features and fixes.

New Features

  • Introduced llm_output_type field to LLMTaskWorker (#4949e44)
  • Implemented prompt manipulation capability before invoking the LLM (#bf15499)
  • Enhanced dashboard to show task name with input provenance (#18b9bbe)
  • Made the produced join list deterministic which helps with LLM caching (#0374e14)

Bug Fixes

  • Added thread locking to JoinedTaskWorker for improved concurrent access (#2127e86)
  • Fixed several bugs related to buffering publish_work items (#b17764d)
  • Resolved multiple issues with JoinedTaskWorker not being correctly called (#2d6edbb)
  • Fixed use of task_completed callback for notifies (#c8a9bfa)
  • Protected active count with locks to prevent race conditions (#e6756d8)
  • Implemented checking for llm_output_type in initialization (#5a27ae4)

This release improves the stability and reliability of PlanAI under heavy multi-threading, while also enhancing LLM task handling capabilities.
For full documentation, visit our updated documentation page.

As always, we welcome your feedback and contributions. Please open an issue on GitHub if you encounter any problems or have suggestions for improvements.

v0.1.1

01 Sep 17:43
Compare
Choose a tag to compare

PlanAI v0.1.1

This release brings several new features, bug fixes, and improvements to PlanAI.

New Features

  • Implemented display of failed tasks in the dashboard (#4707999)
  • Allowed TaskWorkers to indicate if failed tasks should be retried (#d50c7ca)
  • Updated error message for incompatible task types (#e79d7cf)
  • Published PydanticDictWrapper at the planai module level (#7344aad)

Bug Fixes

  • Fixed retry count increment in Dispatcher class (#7fab6b6)
  • Corrected handling of exceptions in TaskWorkers and state maintenance (#79c7bd0)
  • Resolved issues with TaskWorker implementation (#99e52e5)
  • Addressed linter warnings and formatting issues (#b5aa7a7, #89ede6c, #3f833b9)

Improvements and Refactoring

  • Renamed TaskWorkItem to Task for clarity (#010d60b)
  • Added PydanticDictWrapper class for JSON serialization (#104a665)
  • Improved error messages and validation in various classes (#54aea25, #871d726)
  • Enhanced documentation and docstrings (#ba70a16, #1586c3a)

Developer Notes

  • Several chore commits for internal improvements and cleanup

For full documentation, visit our ReadTheDocs page.

We welcome your feedback and contributions! Please open an issue on GitHub if you encounter any problems or have suggestions for improvements.

v0.1.0

30 Aug 05:26
Compare
Choose a tag to compare

What's New

  • Initial release of PlanAI
  • Implemented graph-based task management system
  • Added support for LLM integration
  • Included basic documentation and examples

Installation

pip install planai

For full documentation, visit our ReadTheDocs page.

Feedback

We welcome your feedback and contributions! Please open an issue on GitHub if you encounter any