7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
# File 'lib/rcrewai/provider_schema.rb', line 7
def for(provider, canonical)
case provider.to_sym
when :openai, :azure, :ollama
{ type: 'function', function: canonical }
when :anthropic
{
name: canonical[:name],
description: canonical[:description],
input_schema: canonical[:parameters]
}
when :google
{
function_declarations: [{
name: canonical[:name],
description: canonical[:description],
parameters: canonical[:parameters]
}]
}
else
raise ArgumentError, "unknown provider #{provider.inspect}"
end
end
|