You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Added
RagEngine is an abstraction for implementing modular RAG pipelines.
RagContext is a container object for passing around RAG context.
RAG stages:
QueryRagStage for parsing and expanding queries.
RetrievalRagStage for retrieving content.
ResponseRagStage for augmenting and generating outputs.
RAG modules:
Retrieval:
VectorStoreRetrievalRagModule for retrieving text chunks from vector stores.
TextLoaderRetrievalRagModule for retrieving data with text loaders in real time.
TextChunksRerankRagModule for re-ranking retrieved results.
Response:
MetadataBeforeResponseRagModule for appending metadata.
RulesetsBeforeResponseRagModule for appending rulesets.
PromptResponseRagModule for generating responses based on retrieved text chunks.
TextChunksResponseRagModule for responding with retrieved text chunks.
FootnotePromptResponseRagModule for responding with automatic footnotes from text chunk references.
RagClient tool for exposing RagEngines to LLM agents.
RagTask task for including RagEngines in any structure.
Rerank drivers:
CohereRerankDriver for using the Cohere rerank API.
utils.execute_futures_list() for executing a list of futures.
LocalVectorStoreDriver.persist_file for persisting vectors and chunks in a text file.
Entry.to_artifact() for easy vector store entry conversions into Griptape artifacts.
BaseVectorStoreDriver.does_entry_exist() to check if an entry exists in the vector store.
GoogleWebSearchDriver to web search with the Google Customsearch API.
DuckDuckGoWebSearchDriver to web search with the DuckDuckGo search SDK.
ProxyWebScraperDriver to web scrape using proxies.
Parameter session on AmazonBedrockStructureConfig.
Parameter meta on TextArtifact.
VectorStoreClient improvements:
VectorStoreClient.query_params dict for custom query params.
VectorStoreClient.process_query_output_fn for custom query output processing logic.
Parameter fail_fast to Structure.
BooleanArtifact for handling boolean values.
typos to dev dependencies to catch typos in code/docs.
Message for storing messages in a PromptStack. Messages consist of a role, content, and usage.
DeltaMessage for storing partial messages in a PromptStack. Multiple DeltaMessage can be combined to form a Message.
TextMessageContent for storing textual content in a Message.
ImageMessageContent for storing image content in a Message.
Support for adding TextArtifacts, ImageArtifacts, and ListArtifacts to PromptStack.
Support for image inputs to OpenAiChatPromptDriver, AzureOpenAiChatPromptDriver, AmazonBedrockPromptDriver, AnthropicPromptDriver, and GooglePromptDriver.
Input/output token usage metrics to all Prompt Drivers.
FinishPromptEvent.input_token_count and FinishPromptEvent.output_token_count.
Support for storing Artifacts as inputs/outputs in Conversation Memory Runs.
Agent.input for passing Artifacts as input.
Support for PromptTasks to take TextArtifacts, ImageArtifacts, and ListArtifacts as input.
Parameters sort_key and sort_key_value on AmazonDynamoDbConversationMemoryDriver for tables with sort keys.
Reference for supporting artifact citations in loaders and RAG engine modules.
Changed
BREAKING: Moved/renamed griptape.utils.PromptStack to griptape.common.PromptStack.
BREAKING: Renamed PromptStack.inputs to PromptStack.messages.
BREAKING: Moved PromptStack.USER_ROLE, PromptStack.ASSISTANT_ROLE, and PromptStack.SYSTEM_ROLE to Message.
BREAKING: Updated return type of PromptDriver.try_run from TextArtifact to Message.
BREAKING: Updated return type of PromptDriver.try_stream from Iterator[TextArtifact] to Iterator[DeltaMessage].
BREAKING: Removed BasePromptEvent.token_count in favor of FinishPromptEvent.input_token_count and FinishPromptEvent.output_token_count.
BREAKING: Removed StartPromptEvent.prompt. Use StartPromptEvent.prompt_stack instead.
BREAKING: Removed Agent.input_template in favor of Agent.input.
BREAKING: BasePromptDriver.run now returns a Message instead of a TextArtifact. For compatibility, Message.value contains the Message's Artifact value
BREAKING: BaseVectorStoreDriver.upsert_text_artifact() and BaseVectorStoreDriver.upsert_text() use artifact/string values to generate vector_id if it wasn't implicitly passed. This change ensures that we don't generate embeddings for the same content every time.
BREAKING: Removed VectorQueryEngine in favor of RagEngine.
BREAKING: Removed TextQueryTask in favor of RagTask.
BREAKING: TextArtifactStorage now requires vector_store_driver and rag_engine in place of vector_query_engine.
BREAKING: Moved load_artifacts() from BaseQueryEngine to BaseVectorStoreDriver.
BREAKING: Merged BaseVectorStoreDriver.QueryResult into BaseVectorStoreDriver.Entry.
BREAKING: Replaced query_engine with vector_store_driver in VectorStoreClient.
BREAKING: removed parameters google_api_lang, google_api_key, google_api_search_id, google_api_country on WebSearch in favor of web_search_driver.
BREAKING: removed VectorStoreClient.top_n and VectorStoreClient.namespace in favor of VectorStoreClient.query_params.
BREAKING: All futures_executor fields renamed to futures_executor_fn and now accept callables instead of futures; wrapped all future submit calls with the with block to address future executor shutdown issues.
GriptapeCloudKnowledgeBaseClient migrated to /search api.
Default Prompt Driver model in GoogleStructureConfig to gemini-1.5-pro.
Fixed
CoherePromptDriver to properly handle empty history.
StructureVisualizer.to_url() by wrapping task IDs in single quotes.