-
-
Notifications
You must be signed in to change notification settings - Fork 218
Allow RubyLLM::Schema to be used for Tool schema (OpenAI, Anthropic and Gemini) #337
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
base: main
Are you sure you want to change the base?
Conversation
Nice! What is missing, provider wise? Gemini? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks pretty straightforward to me. Feels like if we get Gemini added this should be good to go.
@tpaulshippy all set, should be gtg |
@tpaulshippy I added some docs, take a look at those if you can |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The only thing I'm noticing that I expect @crmne might ask for is at least one spec that hits the real APIs (with VCR cassettes).
Hey @bricolage thanks for your effort on this PR. I'm not sure if it's the direction I want to go into for complex parameters for Tools as it may be a bit confusing to define a schema externally from the Tool, and then using it in the tool. I feel like in a tool we should have |
Yeah no problem, this was just my own drop-in solution, I understood it might not be idiomatic. If I can help further let me know! |
So you are thinking of just letting
|
What this does
A modest attempt to use RubyLLM::Schema with tools. Just for OpenAI and Anthropic as proof-of-concept.
I understand this is being worked on (see refs below), I thought I'd submit this for feedback on the interface. I use this in my own app.
I have not worked through validation issues (e.g. if neither
param
norschema
is called in the tool class. Currently it returns{}
Type of change
Scope check
Quality check
overcommit --install
and all hooks passmodels.json
,aliases.json
)API changes
Related issues
#76
#11 (comment)
#332 (comment)