griptape

Modular Python framework for AI agents and workflows with chain-of-thought reasoning, tools, and memory.

APACHE-2.0 License

Downloads
11.8K
Stars
1.7K

Bot releases are hidden (Show)

griptape - v0.19.4

Published by collindutter 12 months ago

🔧 Improvements

griptape - v0.19.3

Published by collindutter 12 months ago

🚨 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.
griptape - v0.19.2

Published by vasinov 12 months ago

🔧 Improvements

  • Fixed requests scope in pyproject.toml.
  • Updated Makefile.
griptape - v0.19.1

Published by collindutter 12 months ago

🔧 Improvements

  • Moved requests from Tool requirements.txt to hard dependency in pyproject.toml.
griptape - v0.19.0

Published by vasinov 12 months ago

🚨 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.
griptape - v0.18.2

Published by vasinov about 1 year ago

🔧 Improvements

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

Published by vasinov about 1 year ago

🔧 Improvements

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

Published by vasinov about 1 year ago

🆕 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.
griptape - v0.17.1

Published by vasinov about 1 year ago

🔧 Improvements

  • v0.17.0 didn't include the task and structure-level rules PR, even though the release notes mentioned it. v0.17.1 now includes that PR.
griptape - v0.17.0

Published by vasinov about 1 year ago

🚨 Breaking Changes

  • Removed schema_template_args in all tools. The tool instance can now be accessed directly via {{ _self }} in Jinja activity description templates.

🆕 New Features

  • Added FileLoader to load arbitrary files into artifacts.
  • Added DataFrameLoader to load Pandas DataFrames into artifacts.
  • Added task-level Rulesets for more precise LLM steering inside structures.
  • Added the ability to optionally specify Rules in place of structure and task-level Rulesets. This is useful when the user only needs one set of rules per task/structure.
  • Added the ability to let the LLM load content directly (not just from memory) into FileManager and AwsS3Client tools.
  • Added the ability to map custom loaders based on loaded file extensions in FileManager.
  • Added enable_activities() and disable_activities() to ActivityMixin to quickly enable or disable all activities.

🔧 Improvements

  • Added BaseMultiModelPromptDriver to better abstract driver methods relevant to handling LLM hosting platforms such as Amazon SageMaker and Hugging Face.
  • Added a default Structure.embedding_driver that automatically propagates down to relevant default dependencies.
  • Added the ability to specify output file encoding in FileManager.
  • Improved action matching in ActionSubtask to handle cases where the LLM wraps action output into markdown or prepends it with extra text.
griptape - v0.16.2

Published by vasinov about 1 year ago

🔧 Improvements

  • Update transformers version in pyproject.toml.
  • Update all dependencies in poetry.lock.
griptape - v0.16.1

Published by vasinov about 1 year ago

🔧 Improvements

  • Fixed an issue where some tasks didn't output logs.
  • Added task type to the log output.
griptape - v0.16.0

Published by vasinov about 1 year ago

🆕 New Features

  • Added AmazonSageMakerPromptDriver to easily connect open source SageMaker-hosted LLMs.
  • Introduced prompt model drivers that abstract input, output, and tokenization for hosted models. In this release we added support for:
    • Llama models with SageMakerLlamaPromptModelDriver.
    • Falcon models with SageMakerFalconPromptModelDriver.
  • Added `OpenSearchVectorDriver to integrate OpenSearch vector store and querying capabilities.
  • AddedAmazonOpenSearchVectorDriver to support hosted OpenSearch.
  • Added TextSummaryTask for quick text summarization in Griptape structures.
  • Added ToolTask that allows developers to integrate any tools as a task without having to use chain-of-thought.
  • Added TextQueryTask for text querying in Griptape structures.
  • Added CsvLoader for loading and pre-processing CSV files.

🔧 Improvements

  • Merged the core namespace into utils and moved all mixins into a separate mixins namespace.
  • Multiple bug fixes.
griptape - v0.15.3

Published by vasinov about 1 year ago

🔧 Improvements

  • Fixed VectorQueryEngine bugs and made search results more consistent.
griptape - v0.15.2

Published by vasinov about 1 year ago

🔧 Improvements

  • Updated CoT memory prompt for greater consistency and reliability.
griptape - v0.15.1

Published by vasinov about 1 year ago

🔧 Improvements

  • Fixed docker dependency issue.
griptape - v0.15.0

Published by vasinov about 1 year ago

🚨 Breaking Changes

  • griptape-tools was merged into griptape. You can remove griptape-tools from your dependencies.
  • PromptTask.prompt_template was renamed to PromptTask.input_template.
  • KnowledgeBaseClient tool was renamed to VectorStoreClient.
  • OpenAiPromptDriver was split into OpenAiChatPromptDriver and OpenAiCompletionPromptDriver.
  • input was renamed to parent_output in agent and pipeline contexts.
  • inputs was renamed to parent_outputs in workflow contexts.

🆕 New Features

  • Added PromptStack to manage prompt task inputs. Integrated PromptStack into prompt drivers.
  • Consolidated prompt templates into generator functions, which makes it easier for developers to override task and engine prompts.
  • Added the GoogleCalendar tool.
  • Added the GoogleGmail tool.
  • Added the ProxycurlClient tool.
  • Added MongoDbAtlasVectorStoreDriver.
  • Added RedisVectorStoreDriver

🔧 Improvements

  • Fixed AzureOpenAiEmbeddingDriver connectivity issues.
  • Added validation for tasks to all structures.