Skip to content

v0.20.0

Compare
Choose a tag to compare
@collindutter collindutter released this 16 Nov 16:29
· 910 commits to main since this release

🚨 Breaking Changes

  • Removed BaseTask.add_child and BaseTask.add_parent. Use Workflow.add_task(s) and Workflow.insert_task(s) instead.
  • Changed Workflows to always have a single input Task and single output Task; enabling Workflow Conversation Memory.
  • Split dependencies into extras to reduce base installation size. Read more about this change here.
  • Renamed ToolOutputProcessor to TaskMemoryClient.
  • Removed Memory Actions in favor of TaskMemoryClient. If your Tools have data that needs to go to the LLM, you must set either set off_prompt=False on the Tool, or add TaskMemoryClient with off_prompt=False.
  • Changed all Structure.run to return a Structure. This resolves inconsistencies in the run return values across Agents, Pipelines and Workflows. You can access the output Task value via Structure.output_task.output.value.
  • Renamed AzureOpenAiChatPromptDriver's deployment_id and api_base to azure_deployment and azure_endpoint.
  • Renamed Structure.tool_memory to Structure.task_memory.
  • Renamed ToolMemory to TaskMemory.
  • Renamed Structure.memory to Structure.conversation_memory.
  • Removed TextQueryTask.load method.

🆕 New Features

  • Added seed parameter to OpenAiChatPromptDriver. Read more about this parameter here.
  • Added response_format parameter to OpenAiChatPromptDriver and AzureOpenAiChatPromptDriver. Read more about this parameter here.
  • Added support for gpt-4-1106-preview(gpt-4-turbo) in OpenAiChatPromptDriver.
  • Added new Workflow method insert_tasks. See example usage here.
  • Added Conversation Memory to Workflows.
  • Added off_prompt parameter to all Tools. With the exception of TaskMemoryClient (no default provided), off_prompt defaults to True meaning that the Tool results will go into Task Memory. If you'd like the results to go directly back to the LLM, set off_prompt to False.
  • Added support for Rulesets and Rules to all Tasks.
  • Added namespace parameter to TextQueryTask.
  • Added encoding parameter to TextLoader.
  • Added download_objects parameter to AwsS3Client.
  • Added encoding parameter to TextLoader and TextArtifact.
  • Added to_bytes method to TextArtifact.

🔧 Improvements

  • Updated openai's sdk to ^1.1.0.
  • Renamed Tool Memory to Task Memory. Soon, all Tasks will be able to output Artifacts into Task Memory, giving the ability to share Artifacts across Tasks.
  • Added MetaMemory to store ActionSubtask results to improve the LLM's reasoning when using ToolkitTask. Other applications of MetaMemory will be added in future releases.
  • Flattened Memory Actions and Tool Actions into Actions to improve the LLM's reasoning when using ToolkitTask.
  • Improved system prompt for ToolTask and ToolkitTask to reduce action hallucinations.

📖 Docs

  • Updated examples to reflect Tool Memory to Task Memory rename.
  • Update examples to reflect flattening of Memory Actions and Tool Actions into Actions.
  • Updated Overview and Prompt Driver pages to reflect pip extras changes.
  • Updated Workflow example to use new Workflow.insert_tasks method.
  • Added note to OpenAI Prompt Driver examples regarding seed and response_format parameters.
  • Updated Tool examples to use TaskMemoryClient and off_prompt parameters.