All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Default behavior of OpenAiStructureConfig to utilize
gpt-4ofor prompt_driver.
- Optional event batching on Event Listener Drivers.
idfield to all events.
- Default behavior of Event Listener Drivers to batch events.
list_files_from_diskactivity toFileManagerTool.- Support for Drivers in
EventListener. AmazonSqsEventListenerDriverfor sending events to an Amazon SQS queue.AwsIotCoreEventListenerDriverfor sending events to a topic on AWS IoT Core.GriptapeCloudEventListenerDriverfor sending events to Griptape Cloud.WebhookEventListenerDriverfor sending events to a webhook.BaseFileManagerDriverto abstract file management operations.LocalFileManagerDriverfor managing files on the local file system.- Optional
BaseLoader.encodingfield. BlobLoaderfor loading arbitrary binary data as aBlobArtifact.modelfield toStartPromptEventandFinishPromptEvent.input_task_inputandinput_task_outputfields toStartStructureRunEvent.output_task_inputandoutput_task_outputfields toFinishStructureRunEvent.AmazonS3FileManagerDriverfor managing files on Amazon S3.MediaArtifactas a base class forImageArtifactand future media Artifacts.- Optional
exceptionfield toErrorArtifact. StructureRunClientfor running other Structures via a Tool.StructureRunTaskfor running Structures as a Task from within another Structure.GriptapeCloudStructureRunDriverfor running Structures in Griptape Cloud.LocalStructureRunDriverfor running Structures in the same run-time environment as the code that is running the Structure.
- BREAKING: Secret fields (ex: api_key) removed from serialized Drivers.
- BREAKING: Remove
FileLoader. - BREAKING:
CsvLoaderno longer acceptsstrfile paths as a source. It will now accept the content of the CSV file as astrorbytesobject. - BREAKING:
PdfLoaderno longer acceptsstrfile content,Pathfile paths orIOobjects as sources. Instead, it will only accept the content of the PDF file as abytesobject. - BREAKING:
TextLoaderno longer acceptsPathfile paths as a source. It will now accept the content of the text file as astrorbytesobject. - BREAKING:
FileManager.default_loaderis nowNoneby default. - BREAKING Bumped
pineconefrom^2to^3. - BREAKING: Removed
workdir,loaders,default_loader, andsave_file_encodingfields fromFileManagerand addedfile_manager_driver. - BREAKING: Removed
mime_typefield fromImageArtifact.mime_typeis now a property constructed using the Artifact type andformatfield. - Improved RAG performance in
VectorQueryEngine. - Moved Griptape Docs to this repository.
- Updated
EventListener.handler's behavior so that the return value will be passed to theEventListenerDriver.try_publish_event_payload'sevent_payloadparameter.
- Type hint for parameter
azure_ad_token_provideron Azure OpenAI drivers toOptional[Callable[[], str]]. - Missing parameters
azure_ad_tokenandazure_ad_token_provideron the default client forAzureOpenAiCompletionPromptDriver.
- Fixed FileManager.load_files_from_disk schema.
- Fixed boto3 type-checking stub dependency.
- Use
schemainstead ofjsonschemafor JSON validation.
- Every subtask in
ToolkitTaskcan now execute multiple actions in parallel. - Added
BaseActionSubtaskEvent.subtask_actions. - Support for
text-embedding-3-smallandtext-embedding-3-largemodels. GooglePromptDriverandGoogleTokenizerfor use withgemini-pro.GoogleEmbeddingDriverfor use withembedding-001.GoogleStructureConfigfor providing Structures with Google Prompt and Embedding Driver configuration.- Support for
claude-3-opus,claude-3-sonnet, andclaude-3-haikuinAnthropicPromptDriver. - Support for
anthropic.claude-3-sonnet-20240229-v1:0andanthropic.claude-3-haiku-20240307-v1:0inBedrockClaudePromptModelDriver. top_kandtop_pparameters inAnthropicPromptDriver.- Added
AnthropicImageQueryDriverfor Claude-3 multi-modal models - Added
AmazonBedrockImageQueryDriveralong withBedrockClaudeImageQueryDriverModelfor Claude-3 in Bedrock support BaseWebScraperDriverallowing multiple web scraping implementations.TrafilaturaWebScraperDriverfor scraping text from web pages using trafilatura.MarkdownifyWebScraperDriverfor scraping text from web pages using playwright and converting to markdown using markdownify.VoyageAiEmbeddingDriverfor use with VoyageAi's embedding models.AnthropicStructureConfigfor providing Structures with Anthropic Prompt and VoyageAi Embedding Driver configuration.
- Improved system prompt in
ToolTaskto support more use cases.
- BREAKING:
ActionSubtaskwas renamed toActionsSubtask. - BREAKING: Removed
subtask_action_name,subtask_action_path, andsubtask_action_inputinBaseActionSubtaskEvent. - BREAKING:
OpenAiVisionImageQueryDriverfieldmodelno longer defaults togpt-4-vision-previewand must be specified - Default model of
OpenAiEmbeddingDrivertotext-embedding-3-small. - Default model of
OpenAiStructureConfigtotext-embedding-3-small. BaseTextLoaderto accept aBaseChunker.- Default model of
AmazonBedrockStructureConfigtoanthropic.claude-3-sonnet-20240229-v1:0. AnthropicPromptDriverandBedrockClaudePromptModelDriverto use Anthropic's Messages API.OpenAiVisionImageQueryDrivernow has a required fieldmax_tokensthat defaults to 256
- Deprecation warnings not displaying for
Structure.prompt_driver,Structure.embedding_driver, andStructure.stream. DummyExceptionerror message not fully displaying.StructureConfig.task_memorynot defaulting to usingStructureConfig.global_driversby default.
- Action Subtask incorrectly raising an exception for actions without an input.
- Incorrect
GriptapeCloudKnowledgeBaseClient's API URLs. - Issue with Tool Task system prompt causing the LLM to generate an invalid action.
- Image-to-image generation support for OpenAi Dall-E 2 model.
- Image tools support loading artifacts from memory.
AzureMongoDbVectorStoreDriverfor using CosmosDB with MongoDB vCore API.vector_pathfield onMongoDbAtlasVectorStoreDriver.LeonardoImageGenerationDriversupports image to image generation.OpenAiStructureConfigfor providing Structures with all OpenAi Driver configuration.AmazonBedrockStructureConfigfor providing Structures with all Amazon Bedrock Driver configuration.StructureConfigfor building your own Structure configuration.JsonExtractionTaskfor convenience over usingExtractionTaskwith aJsonExtractionEngine.CsvExtractionTaskfor convenience over usingExtractionTaskwith aCsvExtractionEngine.OpenAiVisionImageQueryDriverto support queries on images using OpenAI's Vision model.ImageQueryClientallowing an Agent to make queries on images on disk or in Task Memory.ImageQueryTaskandImageQueryEngine.
BedrockStableDiffusionImageGenerationModelDriverrequest parameters for SDXLv1 (stability.stable-diffusion-xl-v1).BedrockStableDiffusionImageGenerationModelDrivercorrectly handles the CONTENT_FILTERED response case.
- BREAKING: Make
index_nameonMongoDbAtlasVectorStoreDrivera required field. - BREAKING: Remove
create_index()fromMarqoVectorStoreDriver,OpenSearchVectorStoreDriver,PineconeVectorStoreDriver,RedisVectorStoreDriver. - BREAKING:
ImageLoader().load()now accepts image bytes instead of a file path. - BREAKING: Request parameters for
BedrockStableDiffusionImageGenerationModelDriverhave been updated forstability.stable-diffusion-xl-v1. Use this over the now deprecatedstability.stable-diffusion-xl-v0. - Deprecated
Structure.prompt_driverin favor ofStructure.config.global_drivers.prompt_driver. - Deprecated
Structure.embedding_driverin favor ofStructure.config.global_drivers.embedding_driver. - Deprecated
Structure.streamin favor ofStructure.config.global_drivers.prompt_driver.stream. TextSummaryTask.summary_enginenow defaults to aPromptSummaryEnginewith a Prompt Driver default ofStructure.config.global_drivers.prompt_driver.TextQueryTask.query_enginenow defaults to aVectorQueryEnginewith a Prompt Driver default ofStructure.config.global_drivers.prompt_driverand Vector Store Driver default ofStructure.config.global_drivers.vector_store_driver.PromptImageGenerationTask.image_generation_enginenow defaults to aPromptImageGenerationEnginewith an Image Generation Driver default ofStructure.config.global_drivers.image_generation_driver.VariationImageGenerationTask.image_generation_enginenow defaults to aVariationImageGenerationEnginewith an Image Generation Driver default ofStructure.config.global_drivers.image_generation_driver.InpaintingImageGenerationTask.image_generation_enginenow defaults to anInpaintingImageGenerationEnginewith an Image Generation Driver default ofStructure.config.global_drivers.image_generation_driver.OutpaintingImageGenerationTask.image_generation_enginenow defaults to anOutpaintingImageGenerationEnginewith an Image Generation Driver default ofStructure.config.global_drivers.image_generation_driver.
ToolkitTask's user subtask prompt occasionally causing the Task to end prematurely.
ToolkitTask's user subtask prompt occasionally causing a loop with Chain of Thought.
- Updated stale dependencies [CVE-2023-50447, CVE-2024-22195, and CVE-2023-36464]
- Action Subtasks incorrectly outputting the Task input after failing to follow the ReAct prompt.
-
PromptImageGenerationEnginefor generating images from text prompts. -
VariationImageGenerationEnginefor generating variations of an input image according to a text prompt. -
InpaintingImageGenerationEnginefor modifying an input image according to a text prompt within the bounds of a mask defined by a mask image. -
OutpaintingImageGenerationEnginefor modifying an input image according to a text prompt outside the bounds of a mask defined by a mask image. -
PromptImageGenerationClientfor enabling an LLM to use thePromptImageGenerationEngine. -
VariationImageGenerationClientfor enabling an LLM to use theVariationImageGenerationEngine. -
InpaintingImageGenerationClientfor enabling an LLM to use theInpaintingImageGenerationEngine. -
OutpaintingImageGenerationClientfor enabling an LLM to use theOutpaintingImageGenerationEngine. -
OpenAiImageGenerationDriverfor use with OpenAI's image generation models. -
LeonardoImageGenerationDriverfor use with Leonoaro AI's image generation models. -
AmazonBedrockImageGenerationDriverfor use with Amazon Bedrock's image generation models; requires a Image Generation Model Driver. -
BedrockTitanImageGenerationModelDriverfor use with Amazon Bedrock's Titan image generation. -
ImageArtifactfor storing image data; used heavily by the image Engines, Tasks, and Drivers. -
ImageLoaderfor loading images files intoImageArtifacts. -
Support for all Tokenizers in
OpenAiChatPromptDriver, enabling OpenAI drop-in clients such as Together AI. -
AmazonSageMakerEmbeddingDriverfor using Amazon SageMaker to generate embeddings. Thanks @KaushikIyer16! -
Claude 2.1 support in
AnthropicPromptDriverandAmazonBedrockPromptDriverviaBedrockClaudePromptModelDriver. -
CodeExecutionTaskfor executing code as a Task without the need for an LLM. -
BedrockLlamaPromptModelDriverfor using Llama models on Amazon Bedrock.
MongoDbAtlasVectorStorenamespace not being used properly when querying.- Miscellaneous type errors throughout the codebase.
- Remove unused section from
ToolTasksystem prompt template. - Structure execution args being cleared after run, preventing inspection of the Structure's
input_task'sinput. - Unhandled
SqlClientexception. Thanks @michal-repo!
- BREAKING: Rename
input_templatefield toinputin Tasks that take a text input. - BREAKING: Rename
BedrockTitanEmbeddingDrivertoAmazonBedrockTitanEmbeddingDriver. - BREAKING: Rename
AmazonBedrockStableDiffusionImageGenerationModelDrivertoBedrockStableDiffusionImageGenerationModelDriver. - BREAKING: Rename
AmazonBedrockTitanImageGenerationModelDrivertoBedrockTitanImageGenerationModelDriver. - BREAKING: Rename
ImageGenerationTasktoPromptImageGenerationTask. - BREAKING: Rename
ImageGenerationEnginetoPromptImageGenerationEngine. - BREAKING: Rename
ImageGenerationTooltoPromptImageGenerationClient. - Improve system prompt generation with Claude 2.0.
- Improve integration test coverage.
BaseTextInputTaskto accept astr,TextArtifactor callable returning aTextArtifact.