feat: Add api level tool call support (ENG-446) #27
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
AI-Generated Summary
PR Summary
Overview of Changes
This PR introduces significant enhancements to the Rigging library, focusing on the documentation and expansion of tools. A notable addition is the division of tools into API and Native tools, with improved integration and performance for API tools, along with enhancements to
ChatPipelinecapabilities and error handling. These changes facilitate more flexible and powerful interactions with Large Language Models (LLMs) through the Rigging framework, allowing users to seamlessly incorporate both predefined and custom tools within chat pipelines.Key Modifications
ToolsDocumentation: Added comprehensive examples and explanations in the documentation for defining and integrating both API and Native tools within the Rigging framework, enabling users to extend the capability of their LLMs with arbitrary code functions.ApiTooland Handling inChatPipeline: Introduced theApiToolclass and updatedChatPipelineto support the usage of API tools, enhancing the integration of external APIs into the chat generation process for a performance boost and better provider integrations.UnknownToolErrorexception to better manage errors related to tool usage withinChatPipeline, ensuring a smoother user experience when integrating tools with chat pipelines.ChatPipelineto Support Tool Choices: ModifiedChatPipeline’s.using()method to allow distinction and separate handling between native tools and API tools, including the introduction ofusing_native_toolsandusing_api_toolsmethods for clearer and more purposeful pipeline construction.Potential Impact
This summary was generated with ❤️ by rigging