18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
# File 'app/jobs/completion_kit/prompt_suggestion_job.rb', line 18
def perform(suggestion_id)
@suggestion = Suggestion.find_by(id: suggestion_id)
return unless @suggestion
run = @suggestion.run
result = PromptImprovementService.new(run).suggest
if result["suggested_template"].blank?
@suggestion.update!(status: "failed")
broadcast(@suggestion)
return
end
summary = PromptImprovementValidator.new(run, result["suggested_template"]).call
@suggestion.update!(
reasoning: result["reasoning"],
suggested_template: result["suggested_template"],
validation_summary: summary,
status: "ready"
)
broadcast(@suggestion)
end
|