11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
# File 'app/controllers/prompt_engine/playground_controller.rb', line 11
def execute
executor = PlaygroundExecutor.new(
prompt: @prompt,
provider: params[:provider],
api_key: params[:api_key],
parameters: params[:parameters]
)
begin
result = executor.execute
@response = result[:response]
@execution_time = result[:execution_time]
@token_count = result[:token_count]
@model = result[:model]
@provider = result[:provider]
parser = ParameterParser.new(@prompt.content)
@rendered_prompt = parser.replace_parameters(params[:parameters])
@prompt.current_version.playground_run_results.create!(
provider: @provider,
model: @model,
rendered_prompt: @rendered_prompt,
system_message: @prompt.system_message,
parameters: params[:parameters],
response: @response,
execution_time: @execution_time,
token_count: @token_count,
temperature: @prompt.temperature,
max_tokens: @prompt.max_tokens
)
rescue => e
@error = e.message
end
render :result
end
|