Class: Luo::LLMFunc::CainBuilder
- Inherits:
-
Object
- Object
- Luo::LLMFunc::CainBuilder
- Defined in:
- lib/luo/llm_func/cain_builder.rb
Instance Method Summary collapse
- #adapter(adapter = nil) ⇒ Object
- #build ⇒ Object
- #call(**input) ⇒ Object
-
#initialize ⇒ CainBuilder
constructor
A new instance of CainBuilder.
- #prompt(prompt = nil) ⇒ Object
- #system(text = nil) ⇒ Object
- #temperature(temperature = nil) ⇒ Object
- #use(middleware) ⇒ Object
Constructor Details
#initialize ⇒ CainBuilder
Returns a new instance of CainBuilder.
6 7 8 9 10 11 12 13 |
# File 'lib/luo/llm_func/cain_builder.rb', line 6 def initialize @system = nil @prompt = nil @adapter = Luo::OpenAI.llm_func_adapter @temperature = 0 @middlewares = [] end |
Instance Method Details
#adapter(adapter = nil) ⇒ Object
25 26 27 28 |
# File 'lib/luo/llm_func/cain_builder.rb', line 25 def adapter(adapter=nil) @adapter = adapter self end |
#build ⇒ Object
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/luo/llm_func/cain_builder.rb', line 40 def build cain = Cain.new.configure do |c| c.system = @system c.prompt = @prompt c.adapter = @adapter c.temperature = @temperature end _next_ = cain @middlewares.reverse_each do |middleware| _next_ = middleware.new(_next_) end Proc.new do |**input| env = Luo::Middleware::Env.new(**input) _next_.call(env) end end |
#call(**input) ⇒ Object
59 60 61 |
# File 'lib/luo/llm_func/cain_builder.rb', line 59 def call(**input) build.call(**input) end |
#prompt(prompt = nil) ⇒ Object
20 21 22 23 |
# File 'lib/luo/llm_func/cain_builder.rb', line 20 def prompt(prompt=nil) @prompt = prompt self end |
#system(text = nil) ⇒ Object
15 16 17 18 |
# File 'lib/luo/llm_func/cain_builder.rb', line 15 def system(text=nil) @system = text self end |
#temperature(temperature = nil) ⇒ Object
30 31 32 33 |
# File 'lib/luo/llm_func/cain_builder.rb', line 30 def temperature(temperature=nil) @temperature = temperature self end |
#use(middleware) ⇒ Object
35 36 37 38 |
# File 'lib/luo/llm_func/cain_builder.rb', line 35 def use(middleware) @middlewares << middleware self end |