Skip to content

Releases: griptape-ai/griptape

v0.21.0

11 Dec 16:05
Compare
Choose a tag to compare

🚨 Breaking Changes

  • Renamed hugging_face_hub_prompt_driver.py to huggingface_hub_prompt_driver.py.
  • Renamed hugging_face_pipeline_prompt_driver.py to huggingface_pipeline_prompt_driver.py.
  • Renamed hugging_face_tokenizer.py to huggingface_tokenizer.py.
  • Moved ProxycurlClient Tool to dedicated repository.

🆕 New Features

  • Added HuggingFaceEmbeddingDriver.
  • Added SimpleTokenizer for use with LLM providers that don't provide tokenization APIs.
  • Added streaming support to Chat util. Thanks @mattma1970!
  • Added Image Generation Drivers (AzureOpenAiDalleImageGenerationDriver, LeonardoImageGenerationDriver, and AmazonBedrockImageGenerationDriver).
  • Added streaming support to HuggingFaceHubPromptDriver.
  • Added prompt_stack and prompt fields to StartPromptEvent to allow for inspection of the prompt before sending to the LLM.
  • Created Tool Template repository.

🔧 Improvements

  • Added python 3.12 support.
  • Updated HuggingFaceHubPromptDriver to use new InferenceClient.
  • Fixed OpenSearchVectorStoreDriver.query argument order. Thanks @igor-2lemetry!
  • Fixed FileManager working directory not updating when using os.cwd().
  • Fixed WebLoader failing when extracting empty pages.
  • Fixed SummaryConversationMemory failing to deserialize.

📖 Docs

  • Updated contribution guidelines for new Tools.
  • Added docs for HuggingFaceEmbeddingDriver.
  • Updated docs to reflect hugging_face -> huggingface rename.
  • Added dedicated page for Tokenizers.
  • Added note to Prompt Drivers page advising users that if they choose to override the Prompt Driver, they should also consider overriding the Embedding Driver.
  • Fixed broken import on Task Memory page.

v0.20.0

16 Nov 16:29
Compare
Choose a tag to compare

🚨 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.

v0.19.4

07 Nov 16:52
Compare
Choose a tag to compare

🔧 Improvements

  • Lock openai at ^0.28 to prevent installation issues until #420 is implemented.

v0.19.3

03 Nov 16:28
Compare
Choose a tag to compare

🚨 Breaking Changes

  • Updated Structure.add_event_listener to take an EventListener directly.

🔧 Improvements

  • Fixed freeze when using the Stream utility multiple times.
  • Fixed boto3 session not being passed from AmazonBedrockEmbeddingDriver to BedrockTitanTokenizer.
  • Added Structure.remove_event_listener.

v0.19.2

02 Nov 22:12
Compare
Choose a tag to compare

🔧 Improvements

  • Fixed requests scope in pyproject.toml.
  • Updated Makefile.

v0.19.1

01 Nov 17:01
Compare
Choose a tag to compare

🔧 Improvements

  • Moved requests from Tool requirements.txt to hard dependency in pyproject.toml.

v0.19.0

01 Nov 16:50
Compare
Choose a tag to compare

🚨 Breaking Changes

  • Removed BufferConversationMemory.
  • Simplified Event Listener format.
  • Restrict Python support to >=3.9,<3.12. 3.12 support is coming, but is currently blocked by several downstream libraries.
  • Removed Tokenizer's encode and decode methods.
  • Removed TextToolMemory and BlobToolMemory.

🆕 New Features

  • Combined TextToolMemory and BlobToolMemory under ToolMemory.
  • Added Conversation Memory buffering via max_runs parameter.
  • Added Conversation Memory pruning to prevent long running conversations from exceeding prompt token limit.
  • Added prompt streaming to Prompt Drivers that can support it.
  • Added EmailLoader.
  • Added support for more file extensions in FileManager Tool.
  • Added share_file activity to GoogleDriveClient Tool.
  • Added serialization and deserialization for all Events.

🔧 Improvements

  • Added BaseVectorStoreDriver.QueryResult.id.
  • Fixed SummaryConversationMemory bugs.
  • Refactored EmailClient to use EmailLoader.
  • Refactored Embedding Drivers to use Chunkers for improvements on embedding large text.
  • Added parsing of OpenAi rate limit headers for future use.
  • Added __len__ magic methods for Artifacts (thanks @Bubble-Interface!).
  • Fixed boto3 session not being passed from BedrockTitanEmbeddingDriver into BedrockTitanTokenizer.

📖 Docs

  • Updated docs for new Event Listener format.
  • Added page for Extraction Engines.
  • Added sections for additional Task types.
  • Added page for OpenWeatherClient Tool.
  • Added example for PgVectorStoreDriver
  • Updated page for Conversation Memory buffering changes.

v0.18.2

10 Oct 16:54
Compare
Choose a tag to compare

🔧 Improvements

  • Updated snowflake-connector-python dependency that was causing issues in Python 3.11.

v0.18.1

06 Oct 20:28
Compare
Choose a tag to compare

🔧 Improvements

  • Fixed prompt driver propagation to tool memory defaults in Structures.
  • Removed engine defaults in TextToolMemory.
  • Improved test coverage.

v0.18.0

06 Oct 17:29
Compare
Choose a tag to compare

🆕 New Features

  • Added new embedding driver for Amazon Bedrock: BedrockTitanEmbeddingDriver.
  • Added new prompt driver for Amazon Bedrock: AmazonBedrockPromptDriver.
  • Added new Amazon Bedrock prompt models: BedrockClaudePromptModelDriver, and BedrockJurassicPromptModelDriver, BedrockTitanPromptModelDriver.
  • Added new Amazon Bedrock tokenizers: BedrockClaudeTokenizer, BedrockJurassicTokenizer, and BedrockTitanTokenizer.
  • Added ignored_exception_types to ExponentialBackoffMixin to ignore certain failures and not retry.
  • Added extraction engines for extracting data into JSON objects and CSV rows: JsonExtractionEngine and CsvExtractionEngine.
  • Added ExtractionTask to integrate extraction engines into workflows and pipelines.
  • Added the GoogleDriveClient tool to access and search files in Google Drive.
  • Added the GoogleDocsClient tool to access and edit Google Docs documents.
  • Added PgVectorVectorStoreDriver to store and retrieve embeddings in Postgres.

🔧 Improvements

  • Added InvalidRequestError to ignored_exception_types in OpenAI drivers.
  • Updated all relevant tools to use Griptape loaders.
  • Abstracted TextToolMemory and ToolOutputProcessor activities into TextMemoryActivitiesMixin.
  • Updated the Calculator tool to use numexpr to improve security.
  • Improved base prompts.
  • Updated GoogleCalendarClient and GoogleGmailClient to support the owner_email property.
  • Fixed OpenAI GPT-4 throttling issues in prompt drivers.