Module: PromptEngine

Defined in:
app/services/prompt_engine/evaluation_runner.rb,
lib/prompt_engine.rb,
lib/prompt_engine/engine.rb,
lib/prompt_engine/version.rb,
app/models/prompt_engine/prompt.rb,
app/models/prompt_engine/setting.rb,
app/models/prompt_engine/eval_run.rb,
app/models/prompt_engine/eval_set.rb,
app/models/prompt_engine/parameter.rb,
app/models/prompt_engine/test_case.rb,
app/models/prompt_engine/eval_result.rb,
app/jobs/prompt_engine/application_job.rb,
app/models/prompt_engine/prompt_version.rb,
app/models/prompt_engine/parameter_parser.rb,
app/models/prompt_engine/application_record.rb,
app/helpers/prompt_engine/application_helper.rb,
app/mailers/prompt_engine/application_mailer.rb,
app/services/prompt_engine/variable_detector.rb,
app/clients/prompt_engine/open_ai_evals_client.rb,
app/models/prompt_engine/playground_run_result.rb,
app/services/prompt_engine/playground_executor.rb,
app/controllers/prompt_engine/prompts_controller.rb,
app/controllers/prompt_engine/settings_controller.rb,
app/controllers/prompt_engine/versions_controller.rb,
app/controllers/prompt_engine/dashboard_controller.rb,
app/controllers/prompt_engine/eval_runs_controller.rb,
app/controllers/prompt_engine/eval_sets_controller.rb,
app/controllers/prompt_engine/admin/base_controller.rb,
app/controllers/prompt_engine/playground_controller.rb,
app/controllers/prompt_engine/test_cases_controller.rb,
app/controllers/prompt_engine/application_controller.rb,
app/controllers/prompt_engine/evaluations_controller.rb,
app/controllers/prompt_engine/playground_run_results_controller.rb

Overview

Client is autoloaded by Rails

Defined Under Namespace

Modules: Admin, ApplicationHelper Classes: ApplicationController, ApplicationJob, ApplicationMailer, ApplicationRecord, DashboardController, Engine, EvalResult, EvalRun, EvalRunsController, EvalSet, EvalSetsController, EvaluationRunner, EvaluationsController, OpenAiEvalsClient, Parameter, ParameterParser, PlaygroundController, PlaygroundExecutor, PlaygroundRunResult, PlaygroundRunResultsController, Prompt, PromptVersion, PromptsController, Setting, SettingsController, TestCase, TestCasesController, VariableDetector, VersionsController

Constant Summary collapse

VERSION =
"1.0.0"

Class Method Summary collapse

Class Method Details

.render(prompt_name, variables: {}) ⇒ Hash

Renders a prompt by name with the given variables

Parameters:

  • prompt_name (String, Symbol)

    The name of the prompt to render

  • variables (Hash) (defaults to: {})

    Variables to interpolate into the prompt

Returns:

  • (Hash)

    The rendered prompt with content and system_message



10
11
12
13
14
15
16
17
18
19
20
# File 'lib/prompt_engine.rb', line 10

def render(prompt_name, variables: {})
  prompt = Prompt.active.find_by!(name: prompt_name.to_s)

  {
    content: interpolate_variables(prompt.content, variables),
    system_message: interpolate_variables(prompt.system_message, variables),
    model: prompt.model,
    temperature: prompt.temperature,
    max_tokens: prompt.max_tokens
  }
end