Skip to content

v0.27.0

Latest
Compare
Choose a tag to compare
@collindutter collindutter released this 19 Jun 20:56
· 152 commits to dev since this release
b0e781c

Added

  • BaseTask.add_child() to add a child task to a parent task.
  • BaseTask.add_children() to add multiple child tasks to a parent task.
  • BaseTask.add_parent() to add a parent task to a child task.
  • BaseTask.add_parents() to add multiple parent tasks to a child task.
  • Structure.resolve_relationships() to resolve asymmetrically defined parent/child relationships. In other words, if a parent declares a child, but the child does not declare the parent, the parent will automatically be added as a parent of the child when running this method. The method is invoked automatically by Structure.before_run().
  • CohereEmbeddingDriver for using Cohere's embeddings API.
  • CohereStructureConfig for providing Structures with quick Cohere configuration.
  • AmazonSageMakerJumpstartPromptDriver.inference_component_name for setting the InferenceComponentName parameter when invoking an endpoint.
  • AmazonSageMakerJumpstartEmbeddingDriver.inference_component_name for setting the InferenceComponentName parameter when invoking an endpoint.
  • AmazonSageMakerJumpstartEmbeddingDriver.custom_attributes for setting custom attributes when invoking an endpoint.
  • ToolkitTask.response_stop_sequence for overriding the default Chain of Thought stop sequence.
  • griptape.utils.StructureVisualizer for visualizing Workflow structures with Mermaid.js
  • BaseTask.parents_outputs to get the textual output of all parent tasks.
  • BaseTask.parents_output_text to get a concatenated string of all parent tasks' outputs.
  • parents_output_text to Workflow context.
  • OllamaPromptModelDriver for using models with Ollama.
  • Parameter output on Structure as a convenience for output_task.output

Changed

  • BREAKING: Workflow no longer modifies task relationships when adding tasks via tasks init param, add_tasks() or add_task(). Previously, adding a task would automatically add the previously added task as its parent. Existing code that relies on this behavior will need to be updated to explicitly add parent/child relationships using the API offered by BaseTask.
  • BREAKING: Removed AmazonBedrockPromptDriver.prompt_model_driver as it is no longer needed with the AmazonBedrockPromptDriver Converse API implementation.
  • BREAKING: Removed BedrockClaudePromptModelDriver.
  • BREAKING: Removed BedrockJurassicPromptModelDriver.
  • BREAKING: Removed BedrockLlamaPromptModelDriver.
  • BREAKING: Removed BedrockTitanPromptModelDriver.
  • BREAKING: Removed BedrockClaudeTokenizer, use SimpleTokenizer instead.
  • BREAKING: Removed BedrockJurassicTokenizer, use SimpleTokenizer instead.
  • BREAKING: Removed BedrockLlamaTokenizer, use SimpleTokenizer instead.
  • BREAKING: Removed BedrockTitanTokenizer, use SimpleTokenizer instead.
  • BREAKING: Removed OpenAiChatCompletionPromptDriver as it uses the legacy OpenAi Completions API.
  • BREAKING: Removed BasePromptDriver.count_tokens().
  • BREAKING: Removed BasePromptDriver.max_output_tokens().
  • BREAKING: Moved/renamed PromptStack.add_to_conversation_memory to BaseConversationMemory.add_to_prompt_stack.
  • BREAKING: Moved griptape.constants.RESPONSE_STOP_SEQUENCE to ToolkitTask.
  • BREAKING: Renamed AmazonSagemakerPromptDriver to AmazonSageMakerJumpstartPromptDriver.
  • BREAKING: Removed SagemakerFalconPromptModelDriver, use AmazonSageMakerJumpstartPromptDriver instead.
  • BREAKING: Removed SagemakerLlamaPromptModelDriver, use AmazonSageMakerJumpstartPromptDriver instead.
  • BREAKING: Renamed AmazonSagemakerEmbeddingDriver to AmazonSageMakerJumpstartEmbeddingDriver.
  • BREAKING: Removed SagemakerHuggingfaceEmbeddingModelDriver, use AmazonSageMakerJumpstartEmbeddingDriver instead.
  • BREAKING: Removed SagemakerTensorflowHubEmbeddingModelDriver, use AmazonSageMakerJumpstartEmbeddingDriver instead.
  • BREAKING: AmazonSageMakerJumpstartPromptDriver.model parameter, which gets passed to SageMakerRuntime.Client.invoke_endpoint as EndpointName, is now renamed to AmazonSageMakerPromptDriver.endpoint.
  • BREAKING: Removed parameter template_generator on PromptSummaryEngine and added parameters system_template_generator and user_template_generator.
  • BREAKING: Removed template engines/summary/prompt_summary.j2 and added templates engines/summary/system.j2 and engines/summary/user.j2.
  • ToolkitTask.RESPONSE_STOP_SEQUENCE is now only added when using ToolkitTask.
  • Updated Prompt Drivers to use BasePromptDriver.max_tokens instead of using BasePromptDriver.max_output_tokens().
  • Improved error message when GriptapeCloudKnowledgeBaseClient does not have a description set.
  • Updated AmazonBedrockPromptDriver to use Converse API.
  • Structure.before_run() now automatically resolves asymmetrically defined parent/child relationships using the new Structure.resolve_relationships().
  • Updated HuggingFaceHubPromptDriver to use transformers's apply_chat_template.
  • Updated HuggingFacePipelinePromptDriver to use chat features of transformers.TextGenerationPipeline.
  • Updated CoherePromptDriver to use Cohere's latest SDK.
  • Moved Task reset logic for all Structures to Structure.before_run.
  • Updated default prompt templates for PromptSummaryEngine.
  • Updated template templates/tasks/tool_task/system.j2.

Fixed

  • Workflow.insert_task() no longer inserts duplicate tasks when given multiple parent tasks.
  • Performance issue in OpenAiChatPromptDriver when extracting unused rate-limiting headers.
  • Streaming not working when using deprecated Structure.stream field.
  • Raw Tool output being lost when being executed by ActionsSubtask.
  • Re-order Workflow tasks on every task execution wave.
  • Web Loader to catch Exceptions and properly return an ErrorArtifact.
  • Conversation Memory entry only added if output_task.output is not None on all Structures
  • TextArtifacts contained in ListArtifact returned by WebSearch.search to properly formatted stringified JSON.
  • Structure run args not being set immediately.
  • Input and output logging in BaseAudioInputTasks and BaseAudioGenerationTasks
  • Validation of max_tokens < 0 on BaseChunker