18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
# File 'lib/legion/extensions/transformer/engines/llm.rb', line 18
def render(prompt, payload, **opts)
raise 'Legion::LLM is not available or not started' unless llm_available?
@last_raw = nil
resolved = resolve_options(opts)
max_retries = resolved.delete(:max_retries)
attempts = 0
loop do
result = attempt_render(prompt, payload, resolved, attempts)
return result unless result == :retry
attempts += 1
return build_failure if attempts > max_retries
sleep(RETRY_SLEEP)
end
end
|