Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release/v0.30.0 #1088

Merged
merged 252 commits into from
Aug 20, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
252 commits
Select commit Hold shift + click to select a range
44dd2b8
Merge patch v0.24.1 back to dev (#720)
andrewfrench Apr 1, 2024
7582cf8
Improve Tool Task system prompt (#723)
collindutter Apr 1, 2024
76e7177
Output single artifact, move value to name (#724)
collindutter Apr 2, 2024
af48466
Add minItems to ToolkitTask actions schema (#725)
collindutter Apr 2, 2024
b1aaab5
Add FileManager.list_files_from_disk (#726)
vasinov Apr 2, 2024
f8a7b69
Update default API version for `AzureOpenAiImageGenerationDriver` (#731)
vachillo Apr 3, 2024
ef764c9
Improve readme (#727)
collindutter Apr 5, 2024
44b0653
Backmerge `main` to `dev` for v0.24.2 (#733)
andrewfrench Apr 8, 2024
c9edaff
Remove file reading responsibility from loaders (#737)
dylanholmes Apr 9, 2024
c403954
Feature/event listener drivers (#735)
collindutter Apr 10, 2024
f4b2af7
Fix trailing slash (#740)
collindutter Apr 10, 2024
3cac561
Add LocalFileManagerDriver (#738)
dylanholmes Apr 11, 2024
fa2f337
Add new fields to events (#742)
collindutter Apr 11, 2024
fe53d86
Remove boto3 from types (#741)
collindutter Apr 11, 2024
2cc293c
Add AmazonS3FileManagerDriver (#743)
dylanholmes Apr 12, 2024
54ef8fb
Add MediaArtifact (#520)
andrewfrench Apr 12, 2024
ed08311
Add docs to repo (#744)
collindutter Apr 16, 2024
fe9abf9
Add missing readthedocs poetry setup (#748)
collindutter Apr 16, 2024
b944728
Remove references to old docs repo (#749)
collindutter Apr 16, 2024
77ba1a7
Fix type hint for token_provider, Add missing params in `AzureOpenAiC…
vachillo Apr 17, 2024
e16f729
Add optional exception attribute to ErrorArtifact (#747)
michal-repo Apr 17, 2024
16305a0
Edit events route in GriptapeCloudEventListenerDriver (#753)
dylanholmes Apr 19, 2024
f16f421
Feature/conversation memory (#751)
collindutter Apr 23, 2024
670616f
Pull cloud url from env var (#756)
collindutter Apr 23, 2024
30d3e29
Rename GT Cloud run ID env var (#758)
zachgiordano Apr 25, 2024
f2ac9ca
Fix vector query engine exceeding token limits (#759)
collindutter Apr 26, 2024
9aa2f02
Add cloud docs API Reference (#760)
zachgiordano Apr 29, 2024
5c93b4e
Add file utils (#745)
collindutter Apr 29, 2024
c009e53
Update api-reference.md (#761)
eltociear Apr 29, 2024
88520d8
Add note to changelog regarding stability v0 deprecation (#762)
collindutter Apr 29, 2024
df8b42b
Update to pinecone@3 (#763)
collindutter Apr 30, 2024
a33324b
Add structure run tool (#764)
zachgiordano Apr 30, 2024
40735bb
Export GriptapeCloudStructureRunClient in tools __all__ (#766)
zachgiordano May 1, 2024
b2f1323
Update structure run tool example docs (#769)
zachgiordano May 2, 2024
333b4d5
Feature/better events (#768)
collindutter May 3, 2024
8584f0d
Fix docs for extras (#770)
collindutter May 3, 2024
0c87ea2
Add structure run tool/task (#767)
collindutter May 6, 2024
57a4a29
Merge branch 'main' into dev
collindutter May 6, 2024
73cc9a8
Use factory in example (#772)
collindutter May 6, 2024
a899f5a
Merge branch 'main' into dev
collindutter May 6, 2024
307ac2b
Support batched events (#777)
collindutter May 14, 2024
c39ad53
Add gpt-4o and update OpenAiStructureConfig default prompt_driver (#780)
zachgiordano May 14, 2024
6e1e84f
Update tiktoken to support GPT-4o (#783)
andrewfrench May 15, 2024
72e3022
Support case when model returns empty Actions list (#779)
andrewfrench May 15, 2024
3d4c581
Fix RedisVectorStoreDriver bugs (#782)
dylanholmes May 15, 2024
44a2c62
Text to Speech Support (#755)
andrewfrench May 15, 2024
f1a2dba
Add `RedisConversationMemoryDriver` (#787)
vachillo May 16, 2024
c9afae6
Merge main to dev (#789)
andrewfrench May 17, 2024
fcb9727
Add ruff to github code check, use local deps for pre-commit (#784)
collindutter May 17, 2024
e2f7f72
Refactor how configs work (#765)
collindutter May 20, 2024
7ed3b90
Add codecov (#794)
collindutter May 20, 2024
540e8f3
Add `AzureOpenAiStructureConfig`, default `azure_deployment` (#788)
vachillo May 20, 2024
9db5c8d
Run integration tests on push to `main` and `dev` (#795)
vachillo May 21, 2024
b0606c7
Fix hugging face prompt pipeline driver + docs (#796)
dylanholmes May 22, 2024
f7bf180
Makefile target for big install command (#797)
andrewfrench May 22, 2024
157186a
Update Makefile + process-as-code (#799)
andrewfrench May 23, 2024
7470684
Set concurrency for actions (#801)
collindutter May 23, 2024
04af7d1
Update OpenAI image query default model to GPT-4o (#802)
andrewfrench May 23, 2024
2e030bb
Fix/docs extras (#803)
collindutter May 23, 2024
3f3f8b9
Update `init=False` instances (#804)
vachillo May 24, 2024
943ce72
Use environment variables for structure runs (#808)
vachillo May 31, 2024
427df75
chore: update `attr` to `attrs` (#810)
vachillo May 31, 2024
5a0e1c3
Refactor tasks to use ListArtifact as input (#811)
collindutter May 31, 2024
9f78733
Fix type (#813)
collindutter May 31, 2024
9f19f60
Default `off_prompt=False` on `BaseTool` (#757)
collindutter Jun 3, 2024
81ec3b6
Update openai example to use gpt-4o (#817)
collindutter Jun 3, 2024
385cb62
Fix doc examples (#819)
collindutter Jun 3, 2024
ff008c0
Audio transcription support (#781)
andrewfrench Jun 4, 2024
1b1accc
Feature/pusher event driver (#821)
kyleroche Jun 4, 2024
c6cceda
Fix computer tool (#820)
collindutter Jun 4, 2024
7fe0f7d
Don't exlude extra fields (#825)
collindutter Jun 4, 2024
dc9e585
Add support for Llama 3 on Amazon SageMaker (#800)
dylanholmes Jun 4, 2024
1865b64
Fix integ tests (#827)
collindutter Jun 4, 2024
0fade64
Fix out of space issue during integration tests (#828)
collindutter Jun 4, 2024
23018b8
adding docs for griptape-cloud-knowledge-base-client (#824)
emjay07 Jun 4, 2024
3bd2adf
Merge branch 'main' into dev
collindutter Jun 4, 2024
21c17b5
Ignore computer tool due to out of space issues (#830)
collindutter Jun 4, 2024
1042211
Merge branch 'main' into dev
collindutter Jun 4, 2024
a7f83b3
Updated `HuggingFaceHubPromptDriver` to use `transformers`'s `apply_c…
collindutter Jun 5, 2024
7025db8
Updated `HuggingFacePipelinePromptDriver` to use chat features of `tr…
collindutter Jun 5, 2024
8630317
Add task relationship APIs (#822)
dylanholmes Jun 5, 2024
7a137e1
Update cohere prompt driver, add cohere embedding driver, cohere stru…
collindutter Jun 5, 2024
e167885
Update BedrockPromptDriver to use Converse API (#834)
collindutter Jun 5, 2024
8d6de30
Remove un-used header extraction (#838)
collindutter Jun 6, 2024
4e1f3b0
Remove Legacy `OpenAiChatCompletionPromptDriver` (#835)
collindutter Jun 6, 2024
30aa370
Improve error when knowledgebase is missing a description (#839)
collindutter Jun 6, 2024
5e2e1a1
Remove old tokenizer docs (#841)
collindutter Jun 7, 2024
839ffb8
Correctly Ignore TYPE_CHECKING in coverage (#845)
collindutter Jun 7, 2024
029a65d
Reduce scope of Amazon SageMaker Prompt Driver to only Jumpstart (#837)
collindutter Jun 7, 2024
fc9c976
Update `GriptapeCloudKnowledgeBaseClient` description fetching (#846)
vachillo Jun 10, 2024
9c0d368
Fix streaming not working when using deprecated Structure.stream fiel…
collindutter Jun 10, 2024
b466356
Add StructureVisualizer util (#844)
collindutter Jun 11, 2024
75c502f
Add new Workflow/Task helper methods (#842)
collindutter Jun 11, 2024
331c331
Refactor/tokenizers (#840)
collindutter Jun 11, 2024
331c643
adding a link out to sample repo for multi-agents hosted in gtc (#850)
emjay07 Jun 11, 2024
ff6ddfd
Fix `ActionSubtask` output value (#853)
vachillo Jun 11, 2024
b634598
Fix/standardize all links, enable docs strict mode (#852)
collindutter Jun 12, 2024
71c8d4d
Fix header indents (#855)
collindutter Jun 12, 2024
bfd7896
Re-order Workflow tasks on every task execution wave (#857)
cjkindel Jun 12, 2024
7c36226
Handle errors in web loader and return ErrorArtifact (#858)
zachgiordano Jun 13, 2024
e54a04b
Add structure property `output`; add `output_task.output` check (#862)
vachillo Jun 13, 2024
9b934ee
Fix `WebSearch.search` output (#854)
vachillo Jun 13, 2024
5fe8c63
Reset Tasks and set Structure args before run (#865)
collindutter Jun 14, 2024
76f5594
Split `PromptSummaryEngine` prompt stack template (#866)
vachillo Jun 14, 2024
f2342e6
Small improvements to Audio tasks/tools (#843)
andrewfrench Jun 17, 2024
53ca5b1
Validate `max_tokens`, fix tests (#868)
vachillo Jun 18, 2024
6ceadf6
Add 'self.order_tasks()' before getting 'output_task' (#873)
vachillo Jun 18, 2024
3a203ed
Feature/ollama (#847)
collindutter Jun 18, 2024
0f196f5
Add insert_tasks example (#877)
dylanholmes Jun 18, 2024
68d9dae
Don't include "v" in tag name (#879)
collindutter Jun 19, 2024
6ce2615
Merge branch 'main' into dev
collindutter Jun 19, 2024
28a8a14
Update `WebSearch` to use a driver; add drivers for Google and DuckDu…
vachillo Jun 19, 2024
73c1d51
Fix/drivers headers (#881)
collindutter Jun 19, 2024
ab82f3c
Add `ProxyWebScraperDriver` (#886)
vachillo Jun 21, 2024
cff3f79
Update `AmazonBedrockStructureConfig` with helper params (#882)
vachillo Jun 21, 2024
d5d7544
Merge branch 'main' into dev
collindutter Jun 21, 2024
535380c
Replace `VectorQueryEngine` with `RagEngine` (#860)
vasinov Jun 21, 2024
095d12f
Change GriptapeCloudKnowledgeBaseClient to use /search API (#888)
cjkindel Jun 24, 2024
9010fdc
`meta` parameter added to TextArtifact (#891)
cjkindel Jun 24, 2024
c2575f5
Handle error on vector entry not existing (#893)
cjkindel Jun 25, 2024
2df58d5
Bumping gemini to latest version (#892)
emjay07 Jun 25, 2024
80c27cb
VectorStoreClient improvements (#899)
vasinov Jun 25, 2024
22981b1
Wrap future execution with context managers (#898)
vasinov Jun 25, 2024
2a347f3
Bug Fix: Cohere prompts with no history (#900)
emjay07 Jun 25, 2024
6d08c20
Fix `StructureVisualizer.to_url()` (#903)
vachillo Jun 27, 2024
ef07002
Add `fail_fast` parameter to `Structure` (#908)
vachillo Jun 27, 2024
3858cdc
fixing bug for upserting csv artifacts (#909)
emjay07 Jun 27, 2024
b93f209
All `futures_executor` fields renamed to `futures_executor_fn` and no…
vasinov Jun 27, 2024
3ee8c35
Add `BooleanArtifact` (#905)
vachillo Jun 28, 2024
becdc1d
Add pull request template (#921)
collindutter Jul 1, 2024
1cd5588
Fix missing parent error handling in Workflow task insertion (#856)
cjkindel Jul 1, 2024
f8be8ee
Ensure Executor.shutdown() called after task submission in BaseEventL…
dylanholmes Jul 1, 2024
db9051d
`typos` to dev dependencies to catch typos in code/docs. (#923)
collindutter Jul 2, 2024
2dcfe2d
Refactor prompt stack (#861)
collindutter Jul 2, 2024
cfb6e9f
Merge branch 'main' into dev
collindutter Jul 2, 2024
07e2a1c
Add support for Qdrant VectorDB (#928)
vachillo Jul 2, 2024
ef46d1e
Update contributing guidelines (#927)
collindutter Jul 2, 2024
7487441
Fix integration tests; Update `PromptTask` input validation (#931)
vachillo Jul 2, 2024
de2315c
Bump pydantic,urllib3,requests (#933)
vachillo Jul 3, 2024
89b69bc
Use custom discord invite link (#932)
cjkindel Jul 3, 2024
1f09acb
`RagContext` and other `RagEngine` improvements (#930)
vasinov Jul 3, 2024
83a16ac
Update `StructureVisualizer` (#936)
vachillo Jul 3, 2024
d6cf531
Update pyright, fix new pyright errors (#934)
collindutter Jul 3, 2024
c16f3f4
Fix changelog (#938)
collindutter Jul 3, 2024
c785aba
DynamoDB sort key (#917)
datashaman Jul 5, 2024
3e5bd03
Update ruff linter rules according to documentation (#940)
collindutter Jul 5, 2024
731c3bb
`FootnotePromptResponseRagModule`, `TextLoaderRetrievalRagModule`, an…
vasinov Jul 8, 2024
bb158ea
Update certifi (#944)
zachgiordano Jul 8, 2024
c9b92ea
Fix azure streaming (#946)
collindutter Jul 9, 2024
01792c0
Merge branch 'main' into dev
collindutter Jul 9, 2024
4ef133f
Remove duplicate info from changelog (#952)
cjkindel Jul 10, 2024
c20617a
Add Ollama Embedding Driver (#953)
collindutter Jul 10, 2024
d987f1a
Merge branch 'main' into dev
collindutter Jul 10, 2024
8fa35a5
Feature/native functions (#867)
collindutter Jul 10, 2024
0389725
Enable flake8 type check (#960)
collindutter Jul 11, 2024
160a4ef
Enable ruff pydocstyle rules (#959)
collindutter Jul 11, 2024
2056f0e
Add ruff rule for complex code paths (#951)
collindutter Jul 11, 2024
627081e
Add docs for OpenAI compatible services (#962)
collindutter Jul 11, 2024
023f0a9
Merge branch 'main' into dev
collindutter Jul 11, 2024
be9ce34
Native Tool Fixes (#963)
collindutter Jul 11, 2024
afb8cea
Catch tool errors (#965)
collindutter Jul 12, 2024
fe1e991
Add isort ruff rule (#967)
collindutter Jul 12, 2024
9fb4dd9
GriptapeCloudVectorStoreDriver (#885)
cjkindel Jul 12, 2024
3bf5876
Add ruff rule for pygrep-hooks (#966)
collindutter Jul 12, 2024
b8f1128
Merge branch 'main' into dev
collindutter Jul 12, 2024
0a8e178
Fix: Qdrant query count not optional (#972)
cjkindel Jul 13, 2024
e4f8d6f
Add flake8-future-annotations ruff rule (#973)
collindutter Jul 15, 2024
5edfae9
Add flake8-commas ruff rule (#974)
collindutter Jul 15, 2024
9371aab
Enable pycodestyle-warnings ruff rule (#978)
collindutter Jul 15, 2024
71ba852
updating docs to use 35-turbo instead of 35-turbo-16k (#980)
emjay07 Jul 15, 2024
2ee57a6
Enable flake8-comprehensions ruff rule (#977)
collindutter Jul 15, 2024
67a913b
Fully enable flake8-tidy-imports, flake8-print, mccabe (#976)
collindutter Jul 15, 2024
5c4b3a8
Add flake8-annotations ruff rule (#975)
collindutter Jul 15, 2024
b99a828
Add flake8-boolean-trap ruff rule (#985)
collindutter Jul 16, 2024
974a3cb
Run ruff on entire project (#986)
collindutter Jul 16, 2024
f514475
Fix docs header (#979)
collindutter Jul 16, 2024
71a499d
Remove unnecessary dependencies in extras (#989)
collindutter Jul 16, 2024
7c13601
Add default for GriptapeCloudEventListenerDriver.api_key (#990)
dylanholmes Jul 16, 2024
8026409
Fix Windows-specific issues (#992)
collindutter Jul 17, 2024
7d263b9
Improve native tool name check (#968)
collindutter Jul 17, 2024
33469ef
Add observability (#991)
dylanholmes Jul 17, 2024
2c86a25
Add pep8-naming ruff rule (#993)
collindutter Jul 17, 2024
362fac0
Add generic artifact (#983)
collindutter Jul 18, 2024
728ade3
Add More Ruff (#996)
collindutter Jul 18, 2024
331a36b
Fix cohere link (#994)
collindutter Jul 18, 2024
4dc5ae0
Migrate to sqlalchemy 2, make sqlalchemy an optional dependency (#1000)
collindutter Jul 18, 2024
40959cd
Datadog observability driver (#998)
cjkindel Jul 19, 2024
384c78f
Update marqo dependency (#1001)
collindutter Jul 19, 2024
3767c86
Add flake8-logging and flake8-logging-format ruff rules (#999)
collindutter Jul 22, 2024
d451653
Add era ruff rule (#1002)
collindutter Jul 22, 2024
16742ca
Docs Search Improvements (#1004)
collindutter Jul 22, 2024
929e51e
Pin all dependencies using to minor version (#1007)
collindutter Jul 23, 2024
1f690c6
Add EventsMixin (#984)
collindutter Jul 23, 2024
e0581f8
Document accessing Structure output (#1010)
collindutter Jul 23, 2024
c45d3ed
Fix Integration Tests (#1011)
collindutter Jul 23, 2024
19a1ec4
Fix/base install (#1009)
collindutter Jul 23, 2024
bd486f8
Fix/extras naming (#1008)
collindutter Jul 23, 2024
dc3d135
Add furb ruff rule (#1014)
collindutter Jul 24, 2024
535316c
Refactor CsvRowArtifact to inherit from BaseTextArtifact (#1013)
collindutter Jul 24, 2024
e1977ce
Improve performance of image generation tools (#1019)
andrewfrench Jul 25, 2024
9f9ac91
Stable Diffusion 3 local support (#1018)
andrewfrench Jul 29, 2024
a8b98a4
Fix openai function calling messages (#1026)
collindutter Jul 29, 2024
231275d
Add native function calling support to Ollama Prompt Driver (#1027)
collindutter Jul 29, 2024
c1e7f8d
Update issue template (#1029)
vachillo Jul 30, 2024
a296398
Merge branch 'main' into dev
collindutter Jul 30, 2024
47212cf
Clean Up Changelog (#1032)
collindutter Jul 30, 2024
3cb1fe7
Add DataStax Astra DB vector store driver (#1034)
collindutter Jul 31, 2024
0fde001
Add additional param support to WebSearch (#1015)
collindutter Aug 2, 2024
fe53c41
Add docs for Generic Artifact (#1042)
collindutter Aug 2, 2024
7ed58cc
Add structure to Task init (#1035)
vachillo Aug 5, 2024
5d12f95
Fix Adding To Structure For Tool(kit)Task (#1047)
collindutter Aug 7, 2024
dc74234
updating structure run result to return BaseArtifact (#1050)
emjay07 Aug 8, 2024
105f4d0
Added `TranslateQueryRagModule` and updated RAG docs (#1046)
vasinov Aug 8, 2024
443cf29
Add global event bus (#1051)
collindutter Aug 8, 2024
8648aeb
Fix integration test (#1053)
collindutter Aug 8, 2024
4d71d3a
Refactor/doc snippets (#1054)
collindutter Aug 9, 2024
e42cb91
Fix docs type check in make file (#1057)
collindutter Aug 9, 2024
f77d8e8
`ResponseRagStage` and `PromptResponseRagModule` updates (#1056)
vasinov Aug 12, 2024
688bc98
Merge branch 'main' into dev
collindutter Aug 12, 2024
e600334
Global Config (#1045)
collindutter Aug 13, 2024
5fac215
Update griptape-cloud-knowledge-base-client.md
SavagePencil Aug 13, 2024
aea51bb
Rename all Tools for better naming consistency (#1060)
collindutter Aug 13, 2024
bf00088
Modify arguments/return type of add_parent and add_child (#1048)
collindutter Aug 14, 2024
c76b453
Lazily initialize config drivers field (#1062)
collindutter Aug 15, 2024
babc56a
Add logging filters, update config namespaces (#1059)
vachillo Aug 15, 2024
adb660e
Update dependencies, fix emergent issues (#1061)
collindutter Aug 15, 2024
714109b
Add `JsonArtifact` (#937)
vachillo Aug 15, 2024
60037e9
Refactor/task memory cleanup (#1055)
collindutter Aug 15, 2024
9111570
Set logger level in Chat (#1064)
collindutter Aug 15, 2024
4d71eaf
Add RET ruff rule (#1065)
collindutter Aug 15, 2024
54efe3b
Flatten rag tool outputs (#1066)
collindutter Aug 16, 2024
24a6824
Chore/merge (#1072)
collindutter Aug 16, 2024
14a0f0d
Add and integrate `FuturesExecutorMixin` (#1069)
vasinov Aug 16, 2024
a931176
Fix adding ErrorArtifacts to Prompt Stack (#1073)
collindutter Aug 16, 2024
3aaeb6e
`BaseVectorStoreDriver.upsert_text_artifacts` concurrency bugfix (#1074)
vasinov Aug 19, 2024
717753c
Mock DDG in unit tests (#1076)
vachillo Aug 19, 2024
52c1930
Add `GriptapeCloudConversationMemoryDriver` (#1063)
vachillo Aug 19, 2024
0d19b0a
Lazy load driver config fields (#1075)
collindutter Aug 19, 2024
f08f0c3
Refactor/naming (#1078)
collindutter Aug 19, 2024
a6e3af8
Use typed list for Tools (#1077)
collindutter Aug 19, 2024
aeb97f5
Fix type hint for lazy property (#1079)
collindutter Aug 19, 2024
49495dd
Fix integration tests (#1080)
collindutter Aug 19, 2024
ade80a5
Filter out cohere's pydantic warning (#1081)
collindutter Aug 19, 2024
ad4e780
Random thread name for `GriptapeCloudConversationMemoryDriver` (#1082)
vachillo Aug 19, 2024
bd07922
Check if future exists first (#1083)
collindutter Aug 19, 2024
15fdd08
Create engine in factory (#1085)
collindutter Aug 19, 2024
1d84b7f
Refactor/drivers config (#1086)
collindutter Aug 20, 2024
d6dde68
Fixe Task Memory sensitive data example (#1087)
collindutter Aug 20, 2024
825b4cf
Version bump v0.30.0
collindutter Aug 20, 2024
b91f924
Merge branch 'main' into release/v0.30.0
collindutter Aug 20, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 1 addition & 5 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,7 @@ assignees: ''
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
A minimal, reproducible code example.

**Expected behavior**
A clear and concise description of what you expected to happen.
Expand Down
2 changes: 1 addition & 1 deletion .github/actions/init-bare-environment/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ runs:

- name: Install dependencies
if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true'
run: poetry install --no-interaction --no-root --with test --with dev
run: poetry install --no-interaction --with test --with dev
shell: bash

- name: Activate venv
Expand Down
2 changes: 1 addition & 1 deletion .github/actions/init-environment/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ runs:

- name: Install dependencies
if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true'
run: poetry install --no-interaction --no-root --with test --with dev --all-extras
run: poetry install --no-interaction --with test --with dev --with docs --all-extras
shell: bash

- name: Activate venv
Expand Down
24 changes: 3 additions & 21 deletions .github/workflows/docs-integration-tests.yml
Original file line number Diff line number Diff line change
@@ -1,20 +1,15 @@
name: Docs Integration Tests

on:
pull_request_review:
types: [submitted]
push:
branches:
- main
- dev
branches: [ "main", "dev" ]

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

jobs:
test:
if: github.event.review.state == 'APPROVED' || github.event_name == 'push'
runs-on: ubuntu-latest
strategy:
fail-fast: false
Expand Down Expand Up @@ -124,6 +119,8 @@ jobs:
ZENROWS_API_KEY: ${{ secrets.INTEG_ZENROWS_API_KEY }}
QDRANT_CLUSTER_ENDPOINT: ${{ secrets.INTEG_QDRANT_CLUSTER_ENDPOINT }}
QDRANT_CLUSTER_API_KEY: ${{ secrets.INTEG_QDRANT_CLUSTER_API_KEY }}
ASTRA_DB_API_ENDPOINT: ${{ secrets.INTEG_ASTRA_DB_API_ENDPOINT }}
ASTRA_DB_APPLICATION_TOKEN: ${{ secrets.INTEG_ASTRA_DB_APPLICATION_TOKEN }}
services:
postgres:
image: ankane/pgvector:v0.5.0
Expand All @@ -143,22 +140,7 @@ jobs:
uses: actions/checkout@v3
- name: Init environment
uses: ./.github/actions/init-environment
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@v44
if: github.event_name == 'pull_request_review'
with:
files: |
**.md
- name: List all changed files
env:
ALL_CHANGED_FILES: ${{ steps.changed-files.outputs.all_changed_files }}
run: |
for file in ${ALL_CHANGED_FILES}; do
echo "$file was changed"
done
- name: Run integration tests
if: steps.changed-files.outputs.any_changed == 'true' || github.event_name == 'push'
run: make test/integration
env:
DOCS_ALL_CHANGED_FILES: ${{ steps.changed-files.outputs.all_changed_files || '' }}
72 changes: 71 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,66 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## Unreleased

### Added
- `AstraDbVectorStoreDriver` to support DataStax Astra DB as a vector store.
- Ability to set custom schema properties on Tool Activities via `extra_schema_properties`.
- Parameter `structure` to `BaseTask`.
- Method `try_find_task` to `Structure`.
- `TranslateQueryRagModule` `RagEngine` module for translating input queries.
- Global event bus, `griptape.events.EventBus`, for publishing and subscribing to events.
- Global object, `griptape.configs.Defaults`, for setting default values throughout the framework.
- Unique name generation for all `RagEngine` modules.
- `ExtractionTool` for having the LLM extract structured data from text.
- `PromptSummaryTool` for having the LLM summarize text.
- `QueryTool` for having the LLM query text.
- Support for bitshift composition in `BaseTask` for adding parent/child tasks.
- `JsonArtifact` for handling de/seralization of values.
- `Chat.logger_level` for setting what the `Chat` utility sets the logger level to.
- `FuturesExecutorMixin` to DRY up and optimize concurrent code across multiple classes.
- `utils.execute_futures_list_dict` for executing a dict of lists of futures.
- `GriptapeCloudConversationMemoryDriver` to store conversation history in Griptape Cloud.
- `griptape.utils.decorators.lazy_property` for creating lazy properties.

### Changed
- **BREAKING**: Removed all uses of `EventPublisherMixin` in favor of `EventBus`.
- **BREAKING**: Removed `EventPublisherMixin`.
- **BREAKING**: Removed `Pipeline.prompt_driver` and `Workflow.prompt_driver`. Set this via `griptape.configs.Defaults.drivers.prompt_driver` instead. `Agent.prompt_driver` has not been removed.
- **BREAKING**: Removed `Pipeline.stream` and `Workflow.stream`. Set this via `griptape.configs.Defaults.drivers.prompt_driver.stream` instead. `Agent.stream` has not been removed.
- **BREAKING**: Removed `Structure.embedding_driver`, set this via `griptape.configs.Defaults.drivers.embedding_driver` instead.
- **BREAKING**: Removed `Structure.custom_logger` and `Structure.logger_level`, set these via `logging.getLogger(griptape.configs.Defaults.logger_name)` instead.
- **BREAKING**: Removed `BaseStructureConfig.merge_config`.
- **BREAKING**: Renamed `StructureConfig` to `DriversConfig`, moved to `griptape.configs.drivers` and renamed fields accordingly.
- **BREAKING**: `RagContext.output` was changed to `RagContext.outputs` to support multiple outputs. All relevant RAG modules were adjusted accordingly.
- **BREAKING**: Removed before and after response modules from `ResponseRagStage`.
- **BREAKING**: Moved ruleset and metadata ingestion from standalone modules to `PromptResponseRagModule`.
- **BREAKING**: Dropped `Client` from all Tool names for better naming consistency.
- **BREAKING**: Dropped `_client` suffix from all Tool packages.
- **BREAKING**: Added `Tool` suffix to all Tool names for better naming consistency.
- **BREAKING**: Removed `TextArtifactStorage.query` and `TextArtifactStorage.summarize`.
- **BREAKING**: Removed `TextArtifactStorage.rag_engine`, and `TextArtifactStorage.retrieval_rag_module_name`.
- **BREAKING**: Removed `TextArtifactStorage.summary_engine`, `TextArtifactStorage.csv_extraction_engine`, and `TextArtifactStorage.json_extraction_engine`.
- **BREAKING**: Removed `TaskMemory.summarize_namespace` and `TaskMemory.query_namespace`.
- **BREAKING**: Removed `Structure.rag_engine`.
- **BREAKING**: Split `JsonExtractionEngine.template_generator` into `JsonExtractionEngine.system_template_generator` and `JsonExtractionEngine.user_template_generator`.
- **BREAKING**: Split `CsvExtractionEngine.template_generator` into `CsvExtractionEngine.system_template_generator` and `CsvExtractionEngine.user_template_generator`.
- **BREAKING**: Changed `JsonExtractionEngine.template_schema` from a `run` argument to a class attribute.
- **BREAKING**: Changed `CsvExtractionEngine.column_names` from a `run` argument to a class attribute.
- **BREAKING**: Removed `JsonExtractionTask`, and `CsvExtractionTask` use `ExtractionTask` instead.
- **BREAKING**: Removed `TaskMemoryClient`, use `QueryClient`, `ExtractionTool`, or `PromptSummaryTool` instead.
- **BREAKING**: `BaseTask.add_parent/child` now take a `BaseTask` instead of `str | BaseTask`.
- Engines that previously required Drivers now pull from `griptape.configs.Defaults.drivers_config` by default.
- `BaseTask.add_parent/child` will now call `self.structure.add_task` if possible.
- `BaseTask.add_parent/child` now returns `self`, allowing for chaining.
- `Chat` now sets the `griptape` logger level to `logging.ERROR`, suppressing all logs except for errors.

### Fixed
- `JsonExtractionEngine` failing to parse json when the LLM outputs more than just the json.
- Exception when adding `ErrorArtifact`'s to the Prompt Stack.
- Concurrency bug in `BaseVectorStoreDriver.upsert_text_artifacts`.
- Schema issues with Tools that use lists.
- Issue with native Tool calling and streaming with `GooglePromptDriver`.
- Description not being used properly in `StructureRunTool`.

## [0.29.2] - 2024-08-16

### Fixed
Expand Down Expand Up @@ -36,6 +96,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- `@observable` decorator for selecting which functions/methods to provide observability for.
- `GenericArtifact` for storing any data.
- `BaseTextArtifact` for text-based Artifacts to subclass.
- `HuggingFacePipelineImageGenerationDriver` for generating images locally with HuggingFace pipelines.
- `BaseImageGenerationPipelineDriver` as the base class for drivers interfacing with HuggingFace image generation pipelines.
- `StableDiffusion3ImageGenerationPipelineDriver` for local text-to-image generation using a Stable Diffusion 3 pipeline.
- `StableDiffusion3Img2ImgImageGenerationPipelineDriver` for local image-to-image generation using a Stable Diffusion 3 pipeline.
- `StableDiffusion3ControlNetImageGenerationPipelineDriver` for local ControlNet image generation using a Stable Diffusion 3 pipeline.
- Optional `params` field to `WebSearch`'s `search` schema that the LLM can be steered into using.

### Changed
- **BREAKING**: `BaseVectorStoreDriver.upsert_text_artifacts` optional arguments are now keyword-only arguments.
Expand All @@ -55,6 +121,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- **BREAKING**: Renamed `drivers-vector-postgresql` extra to `drivers-vector-pgvector`.
- **BREAKING**: Update `marqo` dependency to `^3.7.0`.
- **BREAKING**: Removed `drivers-sql-postgresql` extra. Use `drivers-sql` extra and install necessary drivers (i.e. `psycopg2`) separately.
- **BREAKING**: `api_key` and `search_id` are now required fields in `GoogleWebSearchDriver`.
- **BREAKING**: `web_search_driver` is now required fields in the `WebSearch` Tool.
- `GoogleWebSearchDriver` and `DuckDuckGoWebSearchDriver` now use `kwargs` passed to the `run` method.
- Removed unnecessary `sqlalchemy-redshift` dependency in `drivers-sql-amazon-redshift` extra.
- Removed unnecessary `transformers` dependency in `drivers-prompt-huggingface` extra.
- Removed unnecessary `huggingface-hub` dependency in `drivers-prompt-huggingface-pipeline` extra.
Expand Down Expand Up @@ -378,6 +447,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Default model of `AmazonBedrockStructureConfig` to `anthropic.claude-3-sonnet-20240229-v1:0`.
- `AnthropicPromptDriver` and `BedrockClaudePromptModelDriver` to use Anthropic's Messages API.
- `OpenAiVisionImageQueryDriver` now has a required field `max_tokens` that defaults to 256
- `GriptapeCloudStructureRunDriver` now outputs a `BaseArtifact` instead of a `TextArtifact`

## [0.23.2] - 2024-03-15

Expand Down Expand Up @@ -407,7 +477,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- `JsonExtractionTask` for convenience over using `ExtractionTask` with a `JsonExtractionEngine`.
- `CsvExtractionTask` for convenience over using `ExtractionTask` with a `CsvExtractionEngine`.
- `OpenAiVisionImageQueryDriver` to support queries on images using OpenAI's Vision model.
- `ImageQueryClient` allowing an Agent to make queries on images on disk or in Task Memory.
- `ImageQueryTool` allowing an Agent to make queries on images on disk or in Task Memory.
- `ImageQueryTask` and `ImageQueryEngine`.

### Fixed
Expand Down
3 changes: 2 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ install/core: ## Install core dependencies.
.PHONY: install/all
install/all: ## Install all dependencies.
@poetry install --with dev --with test --with docs --all-extras
@poetry run pre-commit install

.PHONY: install/dev
install/dev: ## Install dev dependencies.
Expand Down Expand Up @@ -68,7 +69,7 @@ check/lint:

.PHONY: check/types
check/types:
@poetry run pyright griptape/
@poetry run pyright griptape $(shell find docs -type f -path "*/src/*")

.PHONY: check/spell
check/spell:
Expand Down
81 changes: 51 additions & 30 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -89,57 +89,78 @@ With Griptape, you can create Structures, such as Agents, Pipelines, and Workflo

```python
from griptape.structures import Agent
from griptape.tools import WebScraper, FileManager, TaskMemoryClient
from griptape.tools import WebScraperTool, FileManagerTool, PromptSummaryTool

agent = Agent(
input="Load {{ args[0] }}, summarize it, and store it in a file called {{ args[1] }}.",
tools=[
WebScraper(off_prompt=True),
TaskMemoryClient(off_prompt=True),
FileManager()
WebScraperTool(off_prompt=True),
PromptSummaryTool(off_prompt=True),
FileManagerTool()
]
)
agent.run("https://griptape.ai", "griptape.txt")
```

And here is the output:
```
[04/02/24 13:51:09] INFO ToolkitTask 85700ec1b0594e1a9502c0efe7da6ef4
[08/12/24 14:48:15] INFO ToolkitTask c90d263ec69046e8b30323c131ae4ba0
Input: Load https://griptape.ai, summarize it, and store it in a file called griptape.txt.
[04/02/24 13:51:15] INFO Subtask db6a3e7cb2f549128c358149d340f91c
Thought: First, I need to load the content of the website using the WebScraper action. Then, I will use the TaskMemoryClient action to
summarize the content. Finally, I will save the summarized content to a file using the FileManager action.
[08/12/24 14:48:16] INFO Subtask ebe23832cbe2464fb9ecde9fcee7c30f
Actions: [
{
"name": "WebScraper",
"tag": "call_62kBnkswnk9Y6GH6kn1GIKk6",
"name": "WebScraperTool",
"path": "get_content",
"input": {
"values": {
"url": "https://griptape.ai"
}
},
"tag": "load_website_content"
}
}
]
[04/02/24 13:51:16] INFO Subtask db6a3e7cb2f549128c358149d340f91c
Response: Output of "WebScraper.get_content" was stored in memory with memory_name "TaskMemory" and artifact_namespace
"752b38bb86da4baabdbd9f444eb4a0d1"
[04/02/24 13:51:19] INFO Subtask c3edba87ebf845d4b85e3a791f8fde8d
Thought: Now that the website content is loaded into memory, I need to summarize it using the TaskMemoryClient action.
Actions: [{"tag": "summarize_content", "name": "TaskMemoryClient", "path": "summarize", "input": {"values": {"memory_name": "TaskMemory",
"artifact_namespace": "752b38bb86da4baabdbd9f444eb4a0d1"}}}]
[04/02/24 13:51:25] INFO Subtask c3edba87ebf845d4b85e3a791f8fde8d
Response: Output of "TaskMemoryClient.summarize" was stored in memory with memory_name "TaskMemory" and artifact_namespace
"c4f131c201f147dcab07be3925b46294"
[04/02/24 13:51:33] INFO Subtask 06fe01ca64a744b38a8c08eb152aaacb
Thought: Now that the content has been summarized and stored in memory, I need to save this summarized content to a file named 'griptape.txt'
using the FileManager action.
Actions: [{"tag": "save_summarized_content", "name": "FileManager", "path": "save_memory_artifacts_to_disk", "input": {"values": {"dir_name":
".", "file_name": "griptape.txt", "memory_name": "TaskMemory", "artifact_namespace": "c4f131c201f147dcab07be3925b46294"}}}]
INFO Subtask 06fe01ca64a744b38a8c08eb152aaacb
Response: saved successfully
[04/02/24 13:51:35] INFO ToolkitTask 85700ec1b0594e1a9502c0efe7da6ef4
Output: The summarized content of the website https://griptape.ai has been successfully saved to a file named 'griptape.txt'.
[08/12/24 14:48:17] INFO Subtask ebe23832cbe2464fb9ecde9fcee7c30f
Response: Output of "WebScraperTool.get_content" was stored in memory with memory_name "TaskMemory" and artifact_namespace
"cecca28eb0c74bcd8c7119ed7f790c95"
[08/12/24 14:48:18] INFO Subtask dca04901436d49d2ade86cd6b4e1038a
Actions: [
{
"tag": "call_o9F1taIxHty0mDlWLcAjTAAu",
"name": "PromptSummaryTool",
"path": "summarize",
"input": {
"values": {
"summary": {
"memory_name": "TaskMemory",
"artifact_namespace": "cecca28eb0c74bcd8c7119ed7f790c95"
}
}
}
}
]
[08/12/24 14:48:21] INFO Subtask dca04901436d49d2ade86cd6b4e1038a
Response: Output of "PromptSummaryTool.summarize" was stored in memory with memory_name "TaskMemory" and artifact_namespace
"73765e32b8404e32927822250dc2ae8b"
[08/12/24 14:48:22] INFO Subtask c233853450fb4fd6a3e9c04c52b33bf6
Actions: [
{
"tag": "call_eKvIUIw45aRYKDBpT1gGKc9b",
"name": "FileManagerTool",
"path": "save_memory_artifacts_to_disk",
"input": {
"values": {
"dir_name": ".",
"file_name": "griptape.txt",
"memory_name": "TaskMemory",
"artifact_namespace": "73765e32b8404e32927822250dc2ae8b"
}
}
}
]
INFO Subtask c233853450fb4fd6a3e9c04c52b33bf6
Response: Successfully saved memory artifacts to disk
[08/12/24 14:48:23] INFO ToolkitTask c90d263ec69046e8b30323c131ae4ba0
Output: The content from https://griptape.ai has been summarized and stored in a file called `griptape.txt`.
```

During the run, the Griptape Agent loaded a webpage with a [Tool](https://docs.griptape.ai/stable/griptape-tools/), stored its full content in [Task Memory](https://docs.griptape.ai/stable/griptape-framework/structures/task-memory.md), queried it to answer the original question, and finally saved the answer to a file.
Expand Down
3 changes: 3 additions & 0 deletions _typos.toml
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
[default]
extend-ignore-re = ["call_[[:alnum:]]+"]

[default.extend-words]
# Don't correct the state ND
ND = "ND"
Expand Down
5 changes: 0 additions & 5 deletions docs/assets/css/extra.css
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,3 @@
.md-typeset table:not([class]) {
display: table;
}

/* Hide the code block title since we're using it for other purposes.*/
.filename {
display: none !important
}
Loading
Loading