Class: LLM::Fillin::Registry
- Inherits:
-
Object
- Object
- LLM::Fillin::Registry
- Defined in:
- lib/llm/fillin/registry.rb
Instance Method Summary collapse
-
#initialize ⇒ Registry
constructor
A new instance of Registry.
- #register!(name:, version:, schema:, description:, handler:) ⇒ Object
- #tool(name, version: "v1") ⇒ Object
- #tools_for_llm ⇒ Object
Constructor Details
#initialize ⇒ Registry
Returns a new instance of Registry.
7 8 9 |
# File 'lib/llm/fillin/registry.rb', line 7 def initialize @tools = {} end |
Instance Method Details
#register!(name:, version:, schema:, description:, handler:) ⇒ Object
11 12 13 |
# File 'lib/llm/fillin/registry.rb', line 11 def register!(name:, version:, schema:, description:, handler:) @tools[key_for(name, version)] = Tool.new(name:, version:, schema:, description:, handler:) end |
#tool(name, version: "v1") ⇒ Object
15 16 17 |
# File 'lib/llm/fillin/registry.rb', line 15 def tool(name, version: "v1") @tools.fetch(key_for(name, version)) end |
#tools_for_llm ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/llm/fillin/registry.rb', line 19 def tools_for_llm @tools.values.map do |t| { type: "function", function: { name: "#{t.name}_#{t.version}", description: t.description, parameters: t.schema } } end end |