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

feat: Tool-Use functions call #4

Merged
merged 19 commits into from
Feb 10, 2025
Merged

Conversation

edenreich
Copy link
Collaborator

Summary

This PR should improve the usage of the LLM Tools.

## [0.7.1-rc.1](0.7.0...0.7.1-rc.1) (2025-02-08)

### ♻️ Improvements

* Remove tool_calls from Message struct and update related tests ([265bdec](265bdec))

### 👷 CI

* Improve the Release Process Allowing to have Release Candidates ([#3](#3)) ([b97e5da](b97e5da))

### 📚 Documentation

* Remove unnecessary code block from README.md ([dcb7c26](dcb7c26))
…rameters updates, use JSON raw value for now

Signed-off-by: Eden Reich <[email protected]>
## [0.7.1-rc.2](0.7.1-rc.1...0.7.1-rc.2) (2025-02-09)

### 🐛 Bug Fixes

* Enhance Tool and ToolFunction structures with description and parameters updates, use JSON raw value for now ([cdf6eca](cdf6eca))
Copy link

github-actions bot commented Feb 9, 2025

🎉 This PR is included in version 0.7.1-rc.2 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

…ify code

Will be using regular JSON for this part.

Signed-off-by: Eden Reich <[email protected]>
…update ToolCallResponse structure

Signed-off-by: Eden Reich <[email protected]>
## [0.7.1-rc.3](0.7.1-rc.2...0.7.1-rc.3) (2025-02-09)

### ♻️ Improvements

* Remove ToolParameterType and ToolParameter structs to simplify code ([0e4d1b4](0e4d1b4))
* Rename parameters to arguments in ToolFunctionResponse and update ToolCallResponse structure ([3f36c5f](3f36c5f))
Copy link

github-actions bot commented Feb 9, 2025

🎉 This PR is included in version 0.7.1-rc.3 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

## [0.8.0-rc.1](0.7.1-rc.3...0.8.0-rc.1) (2025-02-09)

### ✨ Features

* Add optional tool_call_id to Message struct and update serialization tests ([d51e911](d51e911))
Copy link

github-actions bot commented Feb 9, 2025

🎉 This PR is included in version 0.8.0-rc.1 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

@edenreich
Copy link
Collaborator Author

edenreich commented Feb 9, 2025

Thinking if the API is good, I might want to change it to be something like:

client.with_tools(Some(tools)).generate_content(provider, model, messages);

Instead of:

client.generate_content(provider, model, messages, tools);

Also the messages, I want to avoid having to add tool_call_id to all messages, this should be optional so probably I need to introduce two type of messages with default values.

The benefits are separation of concern - the function generate_content doesn't need to change if the tools are passed or not.

This way I don't need to reference None in cases where tools is not needed. It simplifies the usage of generate_content function.

Signed-off-by: Eden Reich <[email protected]>
This makes the code looks more readable, devs should not be concerns with tool_call_id by setting it to None if they not necessarily using tools, it's only valid for MessageRole of type Tool.

Signed-off-by: Eden Reich <[email protected]>
…ssible

with_tools could be defined on initialization for all subsequent generate_content requests or for a particular request.

Signed-off-by: Eden Reich <[email protected]>
## [0.8.0-rc.2](0.8.0-rc.1...0.8.0-rc.2) (2025-02-10)

### ♻️ Improvements

* Implement Default trait for Message and MessageRole structs ([cb43ca8](cb43ca8))
* Initialize the client with tools optionally ([9c56170](9c56170))
* Use in the tests two different conventions to see what's possible ([eef16e8](eef16e8))

### 📚 Documentation

* Enhance InferenceGatewayAPI docblocks with additional error handling and return details ([b666c33](b666c33))
* Improve the docs for Tool-Use, update it ([9e5f5da](9e5f5da))
* Improve the example by mentioning the workflow of messages exchange ([ef474b4](ef474b4))
* Remove redundant whitespace in InferenceGatewayAPI documentation ([422e857](422e857))
* Resort functions examples, healthcheck is less important so put it at the bottom ([e6eb55d](e6eb55d))
* Update the example in the README.md ([0fda0dc](0fda0dc))

### ✅ Miscellaneous

* Add assertion for tool_calls length in response test ([4edcd4b](4edcd4b))
Copy link

🎉 This PR is included in version 0.8.0-rc.2 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

@edenreich edenreich merged commit efd8e6b into main Feb 10, 2025
@edenreich edenreich changed the title fix: Tool-Use functions call feat: Tool-Use functions call Feb 10, 2025
github-actions bot pushed a commit that referenced this pull request Feb 10, 2025
## [0.8.0](0.7.0...0.8.0) (2025-02-10)

### ✨ Features

* Tool-Use functions call ([#4](#4)) ([efd8e6b](efd8e6b)), closes [#3](#3)

### ♻️ Improvements

* Remove tool_calls from Message struct and update related tests ([265bdec](265bdec))

### 👷 CI

* Improve the Release Process Allowing to have Release Candidates ([#3](#3)) ([b97e5da](b97e5da))

### 📚 Documentation

* Remove unnecessary code block from README.md ([dcb7c26](dcb7c26))
Copy link

🎉 This PR is included in version 0.8.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

@edenreich edenreich deleted the rc/improve-tool-call-practicality branch February 10, 2025 23:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant